.ab-directory-ux {
  border: 1px solid #d4dce3;
  border-radius: 10px;
  padding: 16px;
  background: #ffffff;
  color: #15202b;
  font-size: 18px;
  line-height: 1.45;
}

.ab-directory-ux__step {
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 12px;
  background: #fbfdff;
}

.ab-directory-ux__step-title {
  margin: 0 0 8px;
  font-size: 1.02rem;
  color: #13324a;
}

body.ab-single-flow-active .ab-directory-ux {
  margin-top: 0;
}

body.ab-single-flow-active .ab-hidden-legacy,
body.ab-single-flow-active .directorist-search-contents,
body.ab-single-flow-active .directorist-archive-contents,
body.ab-single-flow-active .elementor-widget-directorist_search_listing,
body.ab-single-flow-active .elementor-widget-directorist_archive_listing {
  display: none !important;
}

.ab-directory-ux__header h2 {
  margin: 0 0 8px;
  font-size: 1.35rem;
}

.ab-directory-ux__header p {
  margin: 0 0 14px;
  color: #3d4d5d;
}

.ab-directory-ux__reassure {
  margin: 0 0 12px;
  color: #1f4a67;
  font-weight: 600;
}

.ab-directory-ux__path {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-bottom: 14px;
}

.ab-path-btn {
  border: 1px solid #9db0c0;
  background: #f7fafc;
  color: #18334a;
  border-radius: 8px;
  padding: 10px 12px;
  text-align: left;
  font-weight: 600;
  cursor: pointer;
  min-height: 44px;
}

.ab-path-btn strong {
  display: block;
  margin-bottom: 4px;
}

.ab-path-btn span {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
  color: #3c5669;
}

.ab-path-btn.is-active {
  border-color: #0b5f8a;
  background: #e8f4fa;
  color: #073852;
}

.ab-path-help {
  margin: 0;
  color: #385064;
  font-size: 0.93rem;
}

.ab-path-btn:focus,
.ab-directory-ux__submit:focus {
  outline: 3px solid #0b5f8a;
  outline-offset: 2px;
}

.ab-directory-ux__form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 12px;
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  padding: 12px;
  background: #fbfdff;
}

.ab-directory-ux__step-help {
  margin: 0;
  color: #2f4457;
  font-size: 0.93rem;
}

.ab-directory-ux__next-step {
  border: 1px solid #d7e3ea;
  border-radius: 10px;
  background: #f6fafc;
  color: #244154;
  padding: 12px;
  font-size: 0.95rem;
  line-height: 1.5;
}

.ab-directory-ux__next-step strong {
  display: inline-block;
  margin-right: 4px;
  color: #17384f;
}

.ab-directory-ux__overwhelmed {
  border: 1px solid #e5dcc4;
  border-radius: 10px;
  background: #fffaf1;
  color: #4c4a3d;
  padding: 12px;
  font-size: 0.95rem;
  line-height: 1.5;
}

.ab-directory-ux__overwhelmed strong {
  display: inline-block;
  margin-right: 4px;
  color: #17384f;
}

.ab-directory-ux__form label {
  color: #0f2538;
  font-weight: 600;
}

.ab-help-text {
  display: block;
  margin-top: 6px;
  font-size: 0.88rem;
  color: #30485b;
  font-weight: 500;
}

.ab-directory-ux__more-options {
  border: 1px solid #c8d7e2;
  border-radius: 8px;
  background: #f3f8fc;
  padding: 8px 10px;
}

.ab-directory-ux__more-options summary {
  cursor: pointer;
  font-weight: 700;
  color: #0f3852;
}

.ab-directory-ux__more-options-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 10px;
}

.ab-directory-ux__form input,
.ab-directory-ux__form select {
  width: 100%;
  margin-top: 6px;
  border: 1px solid #9fb0bf;
  border-radius: 8px;
  padding: 10px;
  font-size: 16px;
  color: #162433;
  background: #fff;
}

.ab-directory-ux__geo-btn {
  margin-top: 8px;
  border: 1px solid #8aa8bb;
  background: #eef6fb;
  color: #10374f;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  min-height: 44px;
}

.ab-directory-ux__geo-btn[disabled] {
  opacity: 0.7;
  cursor: wait;
}

.ab-directory-ux__submit {
  border: 1px solid #0b5f8a;
  background: #0b5f8a;
  color: #fff;
  font-weight: 700;
  border-radius: 8px;
  padding: 11px 14px;
  cursor: pointer;
  min-height: 44px;
}

.ab-directory-ux__show-all {
  border: 1px dashed #89a7ba;
  background: #fff;
  color: #10374f;
  font-weight: 700;
  border-radius: 10px;
  padding: 11px 14px;
  cursor: pointer;
  min-height: 44px;
}

.ab-directory-ux__show-all--calm {
  border-style: solid;
  border-color: #d7c799;
  background: #fff8ea;
  color: #5a4a1d;
}

.ab-directory-ux__continue {
  border: 1px solid #0b5f8a;
  background: #fff;
  color: #0b5f8a;
  font-weight: 700;
  border-radius: 8px;
  padding: 10px 14px;
  cursor: pointer;
  min-height: 44px;
  width: 100%;
  margin-top: 8px;
}

.ab-directory-ux__submit[disabled] {
  opacity: 0.6;
  cursor: wait;
}

.ab-directory-ux__disclaimer {
  margin: 6px 0 12px;
  color: #384d5f;
  font-size: 0.95rem;
}

.ab-directory-ux__trust-legend {
  margin: 0 0 12px;
  border: 1px solid #d5dee6;
  border-radius: 10px;
  background: #f8fbfd;
  padding: 12px;
}

.ab-directory-ux__trust-legend-title {
  margin: 0 0 6px;
  font-size: 0.98rem;
  color: #18334a;
}

.ab-directory-ux__trust-legend-note {
  margin: 0 0 8px;
  color: #2f4457;
  font-size: 0.9rem;
}

.ab-directory-ux__trust-legend-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.ab-directory-ux__trust-legend-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #2f4457;
  font-size: 0.9rem;
}

.ab-directory-ux__status {
  margin-bottom: 12px;
  color: #233848;
}

.ab-directory-ux__results-help {
  margin: 0 0 12px;
  border: 1px solid #d7e3ea;
  border-radius: 12px;
  background: #f7fbfd;
  padding: 14px;
  color: #274256;
}

.ab-directory-ux__results-help strong {
  display: block;
  margin-bottom: 6px;
  color: #17384f;
}

.ab-directory-ux__recommendation {
  margin: 0 0 12px;
  border: 1px solid #d2e0e8;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbfd 0%, #ffffff 100%);
  padding: 16px;
  color: #244154;
}

.ab-directory-ux__recommendation-eyebrow {
  margin: 0 0 6px;
  color: #b89b5e;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ab-directory-ux__recommendation-title {
  margin: 0 0 8px;
  color: #13324a;
  font-size: 1.15rem;
}

.ab-directory-ux__recommendation-copy,
.ab-directory-ux__recommendation-why {
  margin: 0 0 10px;
  line-height: 1.5;
}

.ab-directory-ux__recommendation-why strong {
  color: #17384f;
}

.ab-directory-ux__recommendation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ab-directory-ux__sr-summary {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.ab-directory-ux__active-filters {
  margin-bottom: 10px;
}

.ab-directory-ux__radius-chips {
  margin: 0 0 10px;
}

.ab-radius-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ab-radius-chip {
  border: 1px solid #9fb8ca;
  background: #f3f8fc;
  color: #17384f;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  min-height: 44px;
}

.ab-radius-chip.is-active {
  border-color: #0b5f8a;
  background: #e3f2fb;
  color: #0a3f5a;
}

.ab-filter-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ab-filter-chip {
  border: 1px solid #b9c9d5;
  background: #f3f8fb;
  color: #1b374c;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.9rem;
  cursor: pointer;
  min-height: 44px;
}

.ab-filter-chip__label {
  font-weight: 700;
}

.ab-filter-chip__x {
  margin-left: 6px;
  font-weight: 700;
}

.ab-directory-ux__results {
  display: grid;
  gap: 12px;
}

.ab-support-resource-panel {
  border: 1px solid #d5dee6;
  border-radius: 12px;
  background: #f8fbfd;
  padding: 14px;
}

.ab-support-resource-panel__title {
  margin: 0 0 6px;
  font-size: 1rem;
  color: #18334a;
}

.ab-support-resource-panel__note {
  margin: 0 0 10px;
  color: #385064;
  font-size: 0.94rem;
}

.ab-support-resource-panel__links {
  display: grid;
  gap: 10px;
}

.ab-support-resource-panel__link {
  display: block;
  border: 1px solid #c9d7e1;
  border-radius: 10px;
  background: #fff;
  padding: 12px;
  text-decoration: none;
  color: #17384f;
}

.ab-support-resource-panel__link strong {
  display: block;
  margin-bottom: 4px;
}

.ab-support-resource-panel__link span {
  display: block;
  font-size: 0.92rem;
  color: #4a6173;
}

.ab-result-card {
  border: 1px solid #d5dee6;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}

.ab-result-card__title {
  margin: 0 0 6px;
  font-size: 1.06rem;
}

.ab-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #b7cddc;
  background: #eef5fa;
  color: #1f4962;
  border-radius: 999px;
  padding: 5px 10px;
  margin: 0 0 8px;
  font-size: 0.82rem;
  font-weight: 700;
  min-height: 36px;
}

.ab-trust-badge--high {
  border-color: #8cb89b;
  background: #eaf7ee;
  color: #1f5130;
}

.ab-trust-badge--medium {
  border-color: #c5b786;
  background: #f9f4e6;
  color: #5a4818;
}

.ab-trust-badge--basic {
  border-color: #b7cddc;
  background: #eef5fa;
  color: #1f4962;
}

.ab-result-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

.ab-result-card__badge {
  border: 1px solid #b5cddd;
  background: #f1f8fc;
  color: #204a64;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.84rem;
  font-weight: 700;
}

.ab-result-card__desc {
  margin: 0 0 8px;
  color: #2f4457;
}

.ab-result-card__support-note {
  margin: 8px 0 10px;
  color: #385064;
  font-size: 0.92rem;
  line-height: 1.5;
}

.ab-result-card__meta,
.ab-result-card__trust {
  margin: 0 0 8px;
  font-size: 0.94rem;
  color: #2c3f50;
}

.ab-result-card__trust {
  margin-bottom: 6px;
}

.ab-result-card__trust-more summary {
  cursor: pointer;
  font-weight: 700;
  color: #1a425c;
}

.ab-result-card__trust-more p {
  margin: 8px 0 0;
  color: #2f4457;
  font-size: 0.9rem;
}

.ab-match-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

.ab-match-chip {
  background: #eef4f8;
  color: #1f3a4e;
  border: 1px solid #c3d3df;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.86rem;
}

.ab-result-card__ctas {
  display: block;
  margin-bottom: 8px;
}

.ab-result-card__cta {
  display: inline-block;
  border: 1px solid #2f6f95;
  color: #17425e;
  border-radius: 8px;
  padding: 8px 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.94rem;
  min-height: 44px;
  line-height: 1.2;
}

.ab-result-card__cta--primary {
  width: 100%;
  text-align: center;
  background: #0b5f8a;
  border-color: #0b5f8a;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

.ab-result-card__card-tools {
  margin: 0 0 8px;
}

.ab-result-card__save {
  background: #fff;
  border-color: #95afc1;
  color: #1f445d;
  font-size: 0.9rem;
  padding: 6px 10px;
}

.ab-result-card__more {
  margin: 0 0 8px;
}

.ab-result-card__more summary {
  cursor: pointer;
  color: #1a425c;
  font-weight: 700;
}

.ab-result-card__more-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.ab-result-card__cta--secondary {
  font-size: 0.9rem;
  padding: 6px 9px;
}

.ab-result-card__cta:hover,
.ab-result-card__cta:focus {
  background: #ebf4fa;
}

.ab-result-card__cta--primary:hover,
.ab-result-card__cta--primary:focus {
  background: #094c6f;
  color: #fff;
}

.ab-no-results {
  border: 1px solid #d8c7a4;
  background: #fff9ef;
  border-radius: 10px;
  padding: 12px;
  color: #4b3b22;
}

.ab-no-results__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.ab-recovery-link {
  display: inline-block;
  border: 1px solid #2f6f95;
  color: #17425e;
  border-radius: 8px;
  padding: 8px 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.94rem;
}

.ab-recovery-link:hover,
.ab-recovery-link:focus {
  background: #ebf4fa;
}

.ab-directory-ux__shortlist {
  margin-top: 12px;
  border: 1px solid #d5dee6;
  border-radius: 10px;
  background: #f8fbfd;
  padding: 12px;
}

.ab-shortlist__title {
  margin: 0 0 6px;
  font-size: 1.02rem;
}

.ab-shortlist__hint,
.ab-shortlist__empty {
  margin: 0 0 8px;
  color: #2f4457;
}

.ab-shortlist__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.ab-shortlist__item {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  border: 1px solid #d5dee6;
  border-radius: 8px;
  padding: 8px;
  background: #fff;
}

.ab-shortlist__name {
  font-weight: 600;
}

.ab-shortlist__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ab-shortlist__toolbar {
  margin: 0 0 8px;
}

.ab-shortlist__recommended {
  margin-left: 8px;
  border: 1px solid #9cc2da;
  background: #eef6fb;
  color: #1b3f57;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 0.8rem;
  font-weight: 700;
}

.ab-shortlist__link,
.ab-shortlist__remove {
  border: 1px solid #2f6f95;
  color: #17425e;
  border-radius: 8px;
  padding: 6px 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  background: #fff;
  cursor: pointer;
  min-height: 44px;
}

.ab-path-btn:focus-visible,
.ab-directory-ux__submit:focus-visible,
.ab-directory-ux__show-all:focus-visible,
.ab-directory-ux__continue:focus-visible,
.ab-directory-ux__geo-btn:focus-visible,
.ab-result-card__cta:focus-visible,
.ab-trust-badge:focus-visible,
.ab-shortlist__remove:focus-visible,
.ab-shortlist__link:focus-visible,
.ab-filter-chip:focus-visible,
.ab-radius-chip:focus-visible,
.ab-recovery-link:focus-visible {
  outline: 3px solid #0b5f8a;
  outline-offset: 2px;
}

.ab-shortlist__compare {
  margin-top: 10px;
}

.ab-compare {
  border: 1px solid #d1dde8;
  border-radius: 10px;
  background: #fff;
  padding: 10px;
}

.ab-compare__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.ab-compare__title {
  margin: 0;
  font-size: 1rem;
}

.ab-compare__note {
  margin: 8px 0 10px;
  color: #2f4457;
  font-size: 0.92rem;
}

.ab-compare__grid {
  display: grid;
  gap: 10px;
}

.ab-compare__card {
  border: 1px solid #d5dee6;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}

.ab-compare__card.is-recommended {
  border-color: #2f6f95;
  background: #f5fbff;
}

.ab-compare__badge {
  margin: 0 0 6px;
  color: #0b5f8a;
  font-size: 0.83rem;
  font-weight: 700;
}

.ab-compare__name {
  margin: 0 0 6px;
  font-size: 0.98rem;
}

.ab-compare__meta {
  margin: 0 0 6px;
  color: #2f4457;
  font-size: 0.9rem;
}

.ab-compare__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}

.ab-outreach-plan {
  margin-top: 12px;
  border-top: 1px solid #d5dee6;
  padding-top: 10px;
}

.ab-outreach-plan__title {
  margin: 0 0 8px;
  font-size: 0.98rem;
  color: #18334a;
}

.ab-outreach-plan__list {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 8px;
}

.ab-outreach-plan__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.ab-outreach-plan__text {
  color: #2f4457;
  font-size: 0.92rem;
}

@media (min-width: 768px) {
  .ab-directory-ux__path {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ab-directory-ux__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ab-directory-ux__step-title,
  .ab-directory-ux__step-help,
  .ab-directory-ux__path-help,
  .ab-directory-ux__more-options,
  .ab-directory-ux__more-options-grid {
    grid-column: span 2;
  }

  .ab-directory-ux__submit {
    grid-column: span 2;
    justify-self: start;
    min-width: 220px;
  }

  .ab-directory-ux__continue {
    width: auto;
    min-width: 220px;
  }

  .ab-compare__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
