/** Shopify CDN: Minification failed

Line 684:54 Expected ")" to end URL token

**/
/* ── Reset: prevent global theme rules from bleeding into locator elements ── */

/* 1. `main article` adds padding to all articles — kill it inside the locator */
main .ag-locator article {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 2. global `section` rule adds padding-block to ALL sections */
.ag-locator section {
  padding-block: 0 !important;
}

/* 3. Stale rule in locator-page.css was giving .ag-locator__region-section
   a white background, border, and border-radius — undo that */
.ag-locator__region-section {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

  .template-page .ag-main {
    padding-top: 0;
  }

  .template-page .shopify-section:first-child .ag-locator {
    margin-top: calc(-1 * var(--ag-header-height, 80px));
  }

  .ag-locator {
    position: relative;
    overflow: hidden;
    padding-top: 0;
  }

  .ag-locator__hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
  }

  .ag-locator__hero-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .ag-locator__hero-video,
  .ag-locator__hero-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.3);
  }

  .ag-locator__hero-overlay {
    display: none;
  }

  .ag-locator__hero-gradient {
    display: none;
  }

  .ag-locator__hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 2rem;
    max-width: 50rem;
    margin-top: -2rem;
  }

  @media (max-width: 767px) {
    .ag-locator__hero-content {
      padding: 1.5rem;
      margin-top: -4rem;
    }
  }

  .ag-locator__hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    margin: 0 0 0.75rem;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    font-family: var(--ag-font-handwritten, 'Caveat', cursive);
    font-size: clamp(1.7rem, 3.4vw, 2.4rem);
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    color: #fff;
    text-shadow:
      0 2px 16px rgba(0, 0, 0, 0.6),
      0 0 40px rgba(246, 185, 0, 0.25);
  }

  .ag-locator__hero-eyebrow::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #F6B900, transparent);
    border-radius: 2px;
  }

  .ag-locator__hero-title {
    font-family: 'Fraunces', 'Cormorant Garamond', var(--ag-font-display, Georgia, serif);
    font-size: clamp(2.8rem, 7vw, 4.9rem);
    font-weight: 300;
    letter-spacing: -0.045em;
    color: #ffffff;
    margin: 0 0 1rem;
    line-height: 1.1;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
  }

  .ag-locator__hero-description {
    font-family: var(--ag-font-body, 'Crimson Text', serif);
    font-size: clamp(1rem, 2vw, 1.55rem);
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #fff;
    max-width: 587px;
    margin: 0 auto 1.5rem;
    line-height: 1.4;
    text-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  .ag-locator__hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.9rem;
    margin-top: 0.5rem;
  }

  .ag-locator__hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1.8rem;
    min-height: 52px;
    border-radius: 999px;
    font-family: 'Inter', var(--ag-font-ui, sans-serif);
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .ag-locator__hero-btn--primary {
    background: linear-gradient(135deg, var(--ag-color-gold-500, #ea580c), var(--ag-color-gold-600, #c2410c));
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(234, 88, 12, 0.35);
  }

  .ag-locator__hero-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(234, 88, 12, 0.45);
  }

  .ag-locator__hero-btn--secondary {
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.5);
    color: #ffffff;
  }

  .ag-locator__hero-btn--secondary:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.8);
  }

.ag-locator__hero-scroll,
.ag-hero-scroll-indicator {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: rgba(255, 255, 255, 0.6);
    animation: bounce 2s infinite;
  }

  @keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
      transform: translateX(-50%) translateY(0);
    }

    40% {
      transform: translateX(-50%) translateY(-10px);
    }

    60% {
      transform: translateX(-50%) translateY(-5px);
    }
  }

  .ag-locator__main {
    padding: 4rem 0;
    background: linear-gradient(to bottom, var(--ag-color-cream-100, #fafaf8), var(--ag-color-cream-50, #ffffff));
  }

  @media (min-width: 768px) {
    .ag-locator__main {
      padding: 5rem 0;
    }
  }

  .ag-locator__stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 3rem;
  }

  @media (min-width: 768px) {
    .ag-locator__stats {
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
      margin-bottom: 3.5rem;
    }
  }

  .ag-locator__stat {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid;
    border-radius: 1.5rem;
    padding: 1.75rem;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  }

  .ag-locator__stat:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.08);
  }

  .ag-locator__stat--forest {
    border-color: var(--ag-color-forest-100, #d8e9e0);
  }

  .ag-locator__stat--gold {
    border-color: var(--ag-color-gold-100, #ffedd5);
  }

  .ag-locator__stat--terra {
    border-color: var(--ag-color-terra-100, #fae8de);
  }

  .ag-locator__stat-icon {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
  }

  .ag-locator__stat--forest .ag-locator__stat-icon {
    background: linear-gradient(135deg, var(--ag-color-forest-100, #d8e9e0), var(--ag-color-forest-50, #eef5f1));
    color: var(--ag-color-forest-700, #1d4e35);
  }

  .ag-locator__stat--gold .ag-locator__stat-icon {
    background: linear-gradient(135deg, var(--ag-color-gold-100, #ffedd5), var(--ag-color-gold-50, #fff7ed));
    color: var(--ag-color-gold-600, #ea580c);
  }

  .ag-locator__stat--terra .ag-locator__stat-icon {
    background: linear-gradient(135deg, var(--ag-color-terra-100, #fae8de), var(--ag-color-terra-50, #fdf6f3));
    color: var(--ag-color-terra-500, #c9754b);
  }

  .ag-locator__stat-value {
    font-family: var(--ag-font-display, Georgia, serif);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--ag-color-forest-900, #0e3e29);
    margin: 0 0 0.25rem;
  }

  .ag-locator__stat-label {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--ag-color-ink-700, #404040);
    margin: 0 0 0.375rem;
  }

  .ag-locator__stat-sub {
    font-size: 0.8125rem;
    color: var(--ag-color-ink-500, #2d3748);
    margin: 0;
  }

  .ag-locator__filters {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 1.25rem;
    padding: 1.5rem;
    margin-bottom: 2.5rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  }

  @media (min-width: 768px) {
    .ag-locator__filters {
      display: flex;
      gap: 1.5rem;
      align-items: flex-end;
      padding: 1.5rem 2rem;
    }
  }

  .ag-locator__search {
    flex: 1;
    position: relative;
    margin-bottom: 1rem;
  }

  @media (min-width: 768px) {
    .ag-locator__search {
      margin-bottom: 0;
    }
  }

  .ag-locator__search-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ag-color-ink-400, #8a8a8a);
    pointer-events: none;
  }

  .ag-locator__search-input {
    width: 100%;
    max-width: 100%;
    padding: 0.875rem 1rem 0.875rem 3rem;
    border: 1px solid rgba(14, 62, 41, 0.12);
    border-radius: 1rem;
    font-family: 'Jost', sans-serif;
    font-size: 0.9375rem;
    background: #ffffff;
    transition: all 0.2s ease;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
  }

  .ag-locator__search-input:focus {
    border-color: #2d6a4f;
    box-shadow: 0 0 0 4px rgba(45, 106, 79, 0.08);
  }

  .ag-locator__search-input:focus:not(:focus-visible) {
    outline: none;
  }

  .ag-locator__dropdowns {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
  }

  @media (min-width: 768px) {
    .ag-locator__dropdowns {
      flex-wrap: nowrap;
    }
  }

  .ag-locator__dropdown {
    min-width: 140px;
  }

  .ag-locator__dropdown-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ag-color-ink-500, #2d3748);
    margin-bottom: 0.5rem;
  }

  .ag-locator__select-wrapper {
    position: relative;
  }

  .ag-locator__select {
    appearance: none;
    width: 100%;
    padding: 0.875rem 2.5rem 0.875rem 1.25rem;
    border: 1px solid rgba(14, 62, 41, 0.12);
    border-radius: 1rem;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 0.9375rem;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(14, 62, 41, 0.04);
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .ag-locator__select:hover {
    box-shadow: 0 4px 12px rgba(14, 62, 41, 0.08);
    border-color: rgba(14, 62, 41, 0.25);
  }

  .ag-locator__select:focus {
    border-color: #2d6a4f;
    box-shadow: 0 0 0 4px rgba(45, 106, 79, 0.08);
  }

  .ag-locator__select:focus:not(:focus-visible) {
    outline: none;
  }

  .ag-locator__select-arrow {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--ag-color-ink-400, #8a8a8a);
  }

  .ag-locator__chains {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  @media (min-width: 1024px) {
    .ag-locator__chains {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .ag-locator__chain-card {
    background: #ffffff;
    border-radius: 1.5rem;
    overflow: hidden;
    padding: 0 !important;
    box-shadow: 0 4px 16px rgba(14, 62, 41, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(14, 62, 41, 0.05);
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .ag-locator__chain-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 32px rgba(14, 62, 41, 0.08), 0 0 0 1px rgba(14, 62, 41, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  }

  .ag-locator__chain-header {
    padding: 1.5rem;
    color: #ffffff;
    position: relative;
    overflow: hidden;
  }

  .ag-locator__chain-header--metro {
    background: linear-gradient(135deg, #0e3e29, #1d4e35);
  }

  .ag-locator__chain-header--gaisano-grand {
    background: linear-gradient(135deg, var(--ag-color-terra-500, #c9754b), var(--ag-color-terra-600, #b05e34));
  }

  .ag-locator__chain-header--puregold {
    background: linear-gradient(135deg, #1d4e35, #215840);
  }

  .ag-locator__chain-header--default {
    background: linear-gradient(135deg, #0e3e29, #1d4e35);
  }

  .ag-locator__chain-header::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 200%;
    background: transparent;
    pointer-events: none;
  }

  .ag-locator__chain-badge {
    display: inline-block;
    padding: 0.375rem 0.875rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
  }

  .ag-locator__chain-count {
    font-family: var(--ag-font-display, Georgia, serif);
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
  }

  .ag-locator__chain-regions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
  }

  .ag-locator__chain-region-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem 0.75rem;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 0.5rem;
    min-width: 60px;
  }

  .ag-locator__chain-region-count {
    font-size: 1.125rem;
    font-weight: 700;
  }

  .ag-locator__chain-region-name {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.9;
  }

  .ag-locator__chain-body {
    padding: 0;
  }

  .ag-locator__region-section {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  .ag-locator__region-section:last-child {
    border-bottom: none;
  }

  .ag-locator__region-toggle {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 1rem 1.25rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s ease;
  }

  .ag-locator__region-toggle:hover {
    background: var(--ag-color-cream-100, #f8f5f0);
  }

  .ag-locator__region-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--ag-color-forest-50, #eef5f1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ag-color-forest-600, #215840);
  }

  .ag-locator__region-name {
    flex: 1;
    font-family: var(--ag-font-display, Georgia, serif);
    font-size: 1rem;
    font-weight: 600;
    color: var(--ag-color-forest-900, #0e3e29);
  }

  .ag-locator__region-count {
    font-size: 0.8125rem;
    color: var(--ag-color-ink-500, #2d3748);
    margin-right: 0.5rem;
  }

  .ag-locator__region-chevron {
    color: var(--ag-color-ink-400, #8a8a8a);
    transition: transform 0.3s ease;
  }

  .ag-locator__region-toggle[aria-expanded="true"] .ag-locator__region-chevron {
    transform: rotate(180deg);
  }

  .ag-locator__region-stores {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: var(--ag-color-cream-50, #faf8f3);
  }

  .ag-locator__region-stores.is-open {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
  }

  .ag-locator__region-stores.is-open.is-capped {
    overflow: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .ag-locator__store-more-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: calc(100% - 2rem);
    margin: 0.85rem 1rem 1.1rem;
    padding: 0.65rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: rgba(255, 255, 255, 0.9);
    font-family: var(--ag-font-ui, system-ui, -apple-system, sans-serif);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ag-color-forest-900, #0e3e29);
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
  }

  .ag-locator__store-more-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 30px -20px rgba(14, 62, 41, 0.35);
    background: #fff;
  }

  .ag-locator__typeahead {
    display: none;
    width: 100%;
    min-height: 48px;
    padding: 0.75rem 2.25rem 0.75rem 2.6rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: rgba(255, 255, 255, 0.9);
    font-family: var(--ag-font-ui, system-ui, -apple-system, sans-serif);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ag-color-forest-900, #0e3e29);
    box-shadow: 0 10px 28px -22px rgba(14, 62, 41, 0.35);
    background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23173a28' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E\");
    background-repeat: no-repeat;
    background-position: 0.95rem 50%;
  }

  .ag-locator__typeahead-hint {
    display: none !important;
  }

  .ag-locator.is-enhanced .ag-locator__typeahead {
    display: block;
  }

  .ag-locator.is-enhanced select.ag-locator__select {
    display: none;
  }

  .ag-locator__autocomplete {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 40;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 24px 48px -32px rgba(14, 62, 41, 0.45);
    padding: 0.35rem;
    max-height: 14rem;
    overflow: auto;
    overscroll-behavior: contain;
  }

  .ag-locator__autocomplete-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.2rem;
  }

  .ag-locator__autocomplete-item {
    padding: 0.7rem 0.85rem;
    border-radius: 0.85rem;
    font-family: var(--ag-font-ui, system-ui, -apple-system, sans-serif);
    font-size: 0.92rem;
    font-weight: 650;
    color: var(--ag-color-forest-900, #0e3e29);
    cursor: pointer;
    transition: background 140ms ease;
  }

  .ag-locator__autocomplete-item:hover,
  .ag-locator__autocomplete-item.is-active {
    background: rgba(245, 158, 11, 0.12);
  }

  .ag-locator__results-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
  }

  .ag-locator__results-collapse {
    appearance: none;
    border: 1px solid rgba(0, 0, 0, 0.14);
    background: rgba(255, 255, 255, 0.85);
    color: var(--ag-color-forest-900, #0e3e29);
    border-radius: 999px;
    padding: 0.55rem 0.95rem;
    font-family: var(--ag-font-ui, system-ui, -apple-system, sans-serif);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease;
  }

  .ag-locator__results-collapse:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 34px -24px rgba(14, 62, 41, 0.35);
  }

  .ag-locator__loading {
    grid-column: 1 / -1;
    text-align: center;
    padding: 4rem 2rem;
  }

  .ag-locator__loading-spinner {
    width: 3rem;
    height: 3rem;
    border: 3px solid var(--ag-color-forest-100, #d8e9e0);
    border-top-color: var(--ag-color-forest-600, #215840);
    border-radius: 50%;
    animation: ag-locator-spin 0.8s linear infinite;
    margin: 0 auto 1rem;
  }

  @keyframes ag-locator-spin {
    to {
      transform: rotate(360deg);
    }
  }

  .ag-locator__loading p {
    font-size: 0.9375rem;
    color: var(--ag-color-ink-600, #525252);
    margin: 0;
  }

  .ag-locator__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 4rem 2rem;
    background: rgba(255, 255, 255, 0.8);
    border: 2px dashed rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
  }

  .ag-locator__empty-text {
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--ag-color-ink-600, #525252);
    margin: 0;
  }

  .ag-locator__contact {
    position: relative;
    background: linear-gradient(135deg, var(--ag-color-forest-950, #0a1f17), var(--ag-color-forest-900, #0e3e29));
    padding: 3.25rem 0;
    overflow: hidden;
  }

  @media (min-width: 768px) {
    .ag-locator__contact {
      padding: 4rem 0;
    }
  }

  .ag-locator__contact-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  .ag-locator__contact-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
  }

  .ag-locator__contact-glow--1 {
    top: -100px;
    right: -100px;
    width: 300px;
    height: 300px;
    background: #ffd07d;
    /* Organic gold glow */
    opacity: 0.12;
  }

  .ag-locator__contact-glow--2 {
    bottom: -100px;
    left: -100px;
    width: 250px;
    height: 250px;
    background: var(--ag-color-terra-500, #c9754b);
    opacity: 0.08;
  }

  .ag-locator__contact-content {
    position: relative;
    z-index: 1;
  }

  .ag-locator__contact-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
  }

  .ag-locator__contact-eyebrow span:first-child,
  .ag-locator__contact-eyebrow span:last-child {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--ag-color-gold-400, #fb923c);
  }

  .ag-locator__contact-eyebrow span:nth-child(2) {
    font-family: 'Inter', var(--ag-font-ui, sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.7);
  }

  .ag-locator__contact-title {
    font-family: 'Fraunces', 'Cormorant Garamond', var(--ag-font-display, Georgia, serif);
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 1rem;
    text-align: center;
    line-height: 1.1;
  }

  .ag-locator__contact-description {
    font-family: 'Jost', var(--ag-font-body, sans-serif);
    font-size: 1.125rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.85);
    max-width: 42rem;
    margin: 0 auto 3.5rem;
    text-align: center;
    line-height: 1.7;
  }

  .ag-locator__contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  @media (min-width: 768px) {
    .ag-locator__contact-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
    }
  }

  .ag-locator__contact-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .ag-locator__contact-card:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-4px);
  }

  .ag-locator__contact-card-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }

  .ag-locator__contact-card-icon {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .ag-locator__contact-card-icon--gold {
    background: linear-gradient(135deg, var(--ag-color-gold-500, #ea580c), var(--ag-color-gold-600, #c2410c));
    color: #ffffff;
  }

  .ag-locator__contact-card-icon--terra {
    background: linear-gradient(135deg, var(--ag-color-terra-500, #c9754b), var(--ag-color-terra-600, #b05e34));
    color: #ffffff;
  }

  .ag-locator__contact-card-title {
    font-family: 'Fraunces', 'Cormorant Garamond', var(--ag-font-display, Georgia, serif);
    font-size: 1.5rem;
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 0.25rem;
    letter-spacing: -0.01em;
  }

  .ag-locator__contact-card-subtitle {
    font-size: 0.8125rem;
    font-weight: 500;
    margin: 0;
  }

  .ag-locator__contact-card-icon--gold+div .ag-locator__contact-card-subtitle {
    color: var(--ag-color-gold-300, #fdba74);
  }

  .ag-locator__contact-card-icon--terra+div .ag-locator__contact-card-subtitle {
    color: var(--ag-color-terra-300, #e8a987);
  }

  .ag-locator__contact-card-details {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
  }

  .ag-locator__contact-detail {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
  }

  .ag-locator__contact-detail-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 0.125rem;
  }

  .ag-locator__contact-card:nth-child(1) .ag-locator__contact-detail-icon {
    color: var(--ag-color-gold-400, #fb923c);
  }

  .ag-locator__contact-card:nth-child(2) .ag-locator__contact-detail-icon {
    color: var(--ag-color-terra-300, #e8a987);
  }

  .ag-locator__contact-detail-label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 0.375rem;
  }

  .ag-locator__contact-detail p,
  .ag-locator__contact-detail a {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    line-height: 1.5;
  }

  .ag-locator__contact-detail a {
    text-decoration: none;
    transition: color 0.2s ease;
  }

  .ag-locator__contact-detail a:hover {
    color: var(--ag-color-gold-300, #fdba74);
  }

  .ag-locator__contact-card-note {
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 1rem;
  }

  .ag-locator__contact-card-note p {
    font-family: 'Jost', var(--ag-font-body, sans-serif);
    font-size: 0.9375rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    line-height: 1.7;
  }

  .ag-locator__contact-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 1rem 2rem;
    margin-top: 1.5rem;
    background: linear-gradient(135deg, var(--ag-color-gold-500, #ea580c), var(--ag-color-gold-600, #c2410c));
    border-radius: 2.5rem;
    font-family: 'Inter', var(--ag-font-ui, sans-serif);
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 6px 16px rgba(234, 88, 12, 0.3);
  }

  .ag-locator__contact-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(234, 88, 12, 0.4);
  }

  /* FIND AGRIKO BODY REDESIGN */
  .ag-locator__main {
    position: relative;
    padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(4.5rem, 8vw, 7rem);
    background:
      linear-gradient(180deg, #f4ecdf 0%, #f8f3ea 46%, #efe3d4 100%);
  }

  .ag-locator__main::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg, rgba(97, 73, 44, 0.04) 0, rgba(97, 73, 44, 0.04) 1px, transparent 1px, transparent 88px),
      linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
    opacity: 0.65;
  }

  .ag-locator__main .container {
    position: relative;
    z-index: 1;
    max-width: 86rem;
  }

  .ag-locator__guide {
    display: grid;
    gap: 1.5rem;
    margin-bottom: clamp(2.75rem, 6vw, 4rem);
  }

  @media (min-width: 1024px) {
    .ag-locator__guide {
      grid-template-columns: minmax(0, 1.18fr) minmax(19rem, 0.82fr);
      gap: 2.5rem;
      align-items: end;
    }
  }

  .ag-locator__guide-copy,
  .ag-locator__stats-board-copy,
  .ag-locator__filters-intro,
  .ag-locator__results-copy {
    display: grid;
    gap: 0.8rem;
  }

  .ag-locator__guide-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    width: fit-content;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: rgba(252, 246, 235, 0.9);
    border: 1px solid rgba(126, 94, 53, 0.2);
    box-shadow: 0 12px 26px rgba(85, 62, 32, 0.06);
    color: #7a5a33;
    font-family: 'Work Sans', sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .ag-locator__guide-title,
  .ag-locator__stats-board-title,
  .ag-locator__filters-title,
  .ag-locator__results-title {
    margin: 0;
    font-family: 'Fraunces', serif;
    letter-spacing: -0.045em;
    line-height: 0.98;
    color: #173a28;
    text-wrap: balance;
  }

  .ag-locator__guide-title {
    font-size: clamp(2.4rem, 5vw, 4.35rem);
    max-width: 11ch;
  }

  .ag-locator__guide-description,
  .ag-locator__stats-board-text,
  .ag-locator__filters-text,
  .ag-locator__results-summary,
  .ag-locator__contact-description {
    margin: 0;
    font-family: 'Crimson Text', serif;
    font-size: 1.08rem;
    line-height: 1.72;
    color: #56473a;
  }

  .ag-locator__guide-notes,
  .ag-locator__discovery-rail {
    display: grid;
    gap: 1.75rem;
  }

  .ag-locator__guide-note,
  .ag-locator__rail-card {
    padding: 1.35rem 1.4rem 1.3rem 1.55rem;
    border-left: 1px solid rgba(23, 58, 40, 0.2);
    border-radius: 0.4rem 1.15rem 1.15rem 0.4rem;
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.9), rgba(247, 239, 228, 0.82));
    box-shadow: 0 14px 28px rgba(82, 58, 31, 0.06);
  }

  .ag-locator__guide-note--accent,
  .ag-locator__rail-card--contact {
    border-left-color: rgba(176, 93, 52, 0.28);
    background: linear-gradient(180deg, rgba(253, 245, 237, 0.96), rgba(244, 230, 216, 0.86));
  }

  .ag-locator__rail-card--partners {
    background: linear-gradient(180deg, rgba(250, 247, 239, 0.95), rgba(236, 243, 235, 0.9));
  }

  .ag-locator__guide-note-label,
  .ag-locator__stats-board-kicker,
  .ag-locator__filters-kicker,
  .ag-locator__results-kicker,
  .ag-locator__rail-card-kicker {
    margin: 0 0 0.45rem;
    font-family: 'Work Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #7a5a33;
  }

  .ag-locator__guide-note-text,
  .ag-locator__rail-item p,
  .ag-locator__rail-card-text {
    margin: 0;
    font-family: 'Crimson Text', serif;
    font-size: 1rem;
    line-height: 1.68;
    color: #473a2d;
  }

  .ag-locator__stats-board {
    display: grid;
    gap: 1.35rem;
    margin-bottom: clamp(3rem, 6vw, 4.5rem);
  }

  @media (min-width: 1024px) {
    .ag-locator__stats-board {
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap: 2rem;
      align-items: start;
    }
  }

  .ag-locator__stats-board-title {
    font-size: clamp(1.9rem, 4vw, 3rem);
    max-width: 14ch;
  }

  .ag-locator__stats {
    margin-bottom: 0;
  }

  .ag-locator__stat {
    text-align: left;
    padding: 1.45rem 1.45rem 1.35rem;
    border-radius: 1.4rem 1.4rem 1.05rem 1.05rem;
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.94), rgba(247, 239, 227, 0.9));
    box-shadow: 0 20px 38px rgba(75, 54, 29, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.82);
  }

  .ag-locator__stat-icon {
    margin: 0 0 1rem;
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
  }

  .ag-locator__stat-value,
  .ag-locator__chain-count {
    font-family: 'Fraunces', serif;
    font-weight: 600;
    color: #173a28;
  }

  .ag-locator__stat-value {
    font-size: clamp(2rem, 4vw, 2.7rem);
  }

  .ag-locator__stat-label,
  .ag-locator__dropdown-label,
  .ag-locator__region-count,
  .ag-locator__store-link,
  .ag-locator__contact-eyebrow span:nth-child(2) {
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
  }

  .ag-locator__stat-label {
    font-size: 0.88rem;
    letter-spacing: 0.02em;
    color: #2e342f;
  }

  .ag-locator__stat-sub {
    font-family: 'Crimson Text', serif;
    font-size: 0.98rem;
    color: #67584b;
  }

  @media (min-width: 1024px) {
    .ag-locator__stat--gold {
      margin-top: 1.6rem;
    }

    .ag-locator__stat--terra {
      margin-top: 0.7rem;
    }
  }

  .ag-locator__discovery {
    display: grid;
    gap: 1.5rem;
    align-items: start;
  }

  @media (min-width: 1100px) {
    .ag-locator__discovery {
      grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.42fr);
      gap: 2rem;
    }

    .ag-locator__discovery-rail {
      position: sticky;
      top: 7rem;
    }
  }

  .ag-locator__rail-list {
    display: grid;
    gap: 0.8rem;
  }

  .ag-locator__rail-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.85rem;
    align-items: start;
  }

  .ag-locator__rail-item-index {
    width: 1.9rem;
    height: 1.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(23, 58, 40, 0.08);
    border: 1px solid rgba(23, 58, 40, 0.08);
    font-family: 'Work Sans', sans-serif;
    font-size: 0.76rem;
    font-weight: 700;
    color: #173a28;
  }

  .ag-locator__partner-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 0.9rem;
  }

  .ag-locator__partner-tags span {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(23, 58, 40, 0.12);
    font-family: 'Work Sans', sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #173a28;
  }

  .ag-locator__chain-logo-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 2.9rem;
    margin-bottom: 1rem;
  }

  .ag-locator__chain-logo {
    display: block;
    width: auto;
    max-width: 10.5rem;
    height: 2.3rem;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.12));
  }

  .ag-locator__chain-logo--metro {
    height: 3.25rem;
    max-width: 13.75rem;
  }

  .ag-locator__chain-logo--gaisano-grand {
    height: 2.65rem;
    max-width: 11rem;
  }

  .ag-locator__chain-logo--puregold {
    height: 2.15rem;
    max-width: 9.5rem;
  }

  .ag-locator__rail-card-link,
  .ag-locator__contact-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.15rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #173a28 0%, #214f37 100%);
    border: 1px solid rgba(244, 185, 66, 0.28);
    box-shadow: 0 14px 28px rgba(23, 58, 40, 0.18);
    text-decoration: none;
    font-family: 'Work Sans', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
  }

  .ag-locator__rail-card-link {
    margin-top: 1rem;
  }

  .ag-locator__discovery-main {
    display: grid;
    gap: 1.75rem;
  }

  .ag-locator__filters-shell {
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border-radius: 1.6rem;
    background: linear-gradient(180deg, rgba(255, 253, 249, 0.96), rgba(248, 240, 230, 0.92));
    border: 1px solid rgba(122, 91, 53, 0.18);
    box-shadow: 0 24px 48px rgba(74, 52, 28, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.86);
  }

  .ag-locator__filters-title {
    font-size: clamp(1.8rem, 3.4vw, 2.7rem);
    max-width: 15ch;
  }

  .ag-locator__filters {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  @media (min-width: 768px) {
    .ag-locator__filters {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) auto;
      gap: 1.25rem;
      align-items: end;
    }
  }

  .ag-locator__search,
  .ag-locator__dropdown {
    margin-bottom: 0;
  }

  .ag-locator__search-input,
  .ag-locator__select {
    background: linear-gradient(180deg, rgba(254, 251, 246, 1), rgba(251, 246, 239, 0.98));
    border-color: rgba(124, 94, 60, 0.18);
    border-radius: 1rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  }

  .ag-locator__dropdown-label {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    color: #7a5a33;
  }

  .ag-locator__results-head {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.5rem;
    align-items: end;
    justify-content: space-between;
  }

  .ag-locator__results-title {
    font-size: clamp(1.75rem, 3.2vw, 2.55rem);
    max-width: 15ch;
  }

  .ag-locator__results-note {
    margin: 0;
    font-family: 'Work Sans', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #7b6a5c;
  }

  .ag-locator__results-summary {
    max-width: 24rem;
    text-align: right;
  }

  .ag-locator__chains {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }

  .ag-locator__chain-card {
    border-radius: 1.6rem;
    border: 1px solid rgba(122, 91, 53, 0.14);
    background: linear-gradient(180deg, rgba(255, 253, 249, 0.94), rgba(246, 238, 228, 0.9));
    box-shadow: 0 24px 46px rgba(74, 52, 28, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.84);
  }

  .ag-locator__chain-card:hover {
    transform: translateY(-6px);
  }

  .ag-locator__chain-header {
    padding: 1.55rem 1.55rem 1.4rem;
  }

  .ag-locator__chain-header--metro {
    background: linear-gradient(135deg, #173a28 0%, #214b34 100%);
  }

  .ag-locator__chain-header--gaisano-grand {
    background: linear-gradient(135deg, #b05d34 0%, #915233 100%);
  }

  .ag-locator__chain-header--puregold {
    background: linear-gradient(135deg, #315c43 0%, #204f37 100%);
  }

  .ag-locator__chain-kicker-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.85rem;
  }

  .ag-locator__chain-badge {
    margin-bottom: 0;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.14);
  }

  .ag-locator__chain-kicker {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.76);
  }

  .ag-locator__chain-count {
    font-size: clamp(2rem, 4vw, 2.7rem);
    margin-bottom: 0.5rem;
    color: #ffffff;
  }

  .ag-locator__chain-note {
    margin: 0 0 1rem;
    max-width: 40rem;
    font-family: 'Crimson Text', serif;
    font-size: 1.02rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
  }

  .ag-locator__chain-regions {
    gap: 0.65rem;
  }

  .ag-locator__chain-region-stat {
    align-items: flex-start;
    min-width: 0;
    padding: 0.6rem 0.8rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.08);
  }

  .ag-locator__chain-region-name {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
  }

  .ag-locator__chain-body {
    padding: 1rem;
    background: linear-gradient(180deg, rgba(252, 248, 242, 0.64), rgba(245, 238, 229, 0.2));
  }

  .ag-locator__region-section {
    border-bottom: none;
  }

  .ag-locator__region-toggle {
    margin-top: 0.95rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(122, 91, 53, 0.14);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.9), rgba(247, 240, 231, 0.84));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  }

  .ag-locator__region-section:first-child .ag-locator__region-toggle {
    margin-top: 0;
  }

  .ag-locator__region-toggle:hover {
    background: linear-gradient(180deg, rgba(251, 247, 240, 1), rgba(244, 236, 226, 0.9));
  }

  .ag-locator__region-toggle[aria-expanded="true"] {
    border-color: rgba(23, 58, 40, 0.18);
    background: linear-gradient(180deg, rgba(246, 249, 245, 0.98), rgba(237, 243, 237, 0.92));
  }

  .ag-locator__region-icon {
    background: rgba(23, 58, 40, 0.08);
  }

  .ag-locator__region-name {
    font-family: 'Fraunces', serif;
    font-size: 1.08rem;
  }

  .ag-locator__region-count {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7a6a5c;
  }

  .ag-locator__region-stores {
    background: transparent;
  }

  .ag-locator__region-stores.is-open {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.85rem;
    border-top: none;
  }

  @media (min-width: 900px) {
    .ag-locator__region-stores.is-open {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  .ag-locator__store-item {
    padding: 1rem 1.05rem;
    border: 1px solid rgba(122, 91, 53, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(78, 56, 29, 0.04);
  }

  .ag-locator__store-name {
    font-family: 'Fraunces', serif;
    font-size: 1.04rem;
    font-weight: 500;
    color: #173a28;
    margin-bottom: 0.3rem;
  }

  .ag-locator__store-address,
  .ag-locator__store-hours {
    font-family: 'Crimson Text', serif;
    font-size: 0.98rem;
    line-height: 1.55;
    color: #5d4d40;
  }

  .ag-locator__store-link {
    margin-top: 0.2rem;
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #173a28;
  }

  .ag-locator__loading,
  .ag-locator__empty {
    padding: 3.5rem 2rem;
    border-radius: 1.4rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(122, 91, 53, 0.14);
    box-shadow: 0 18px 34px rgba(74, 52, 28, 0.05);
  }

  .ag-locator__contact {
    background:
      linear-gradient(180deg, #f6eee2 0%, #efe1cf 100%);
    padding: clamp(4rem, 8vw, 6rem) 0;
  }

  .ag-locator__contact-bg {
    opacity: 0.35;
  }

  .ag-locator__contact-content {
    display: grid;
    gap: 1rem;
  }

  @media (min-width: 1100px) {
    .ag-locator__contact-content {
      grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
      column-gap: 2.25rem;
      align-items: start;
    }

    .ag-locator__contact-eyebrow,
    .ag-locator__contact-title,
    .ag-locator__contact-description {
      grid-column: 1;
      justify-content: flex-start;
      text-align: left;
      margin-left: 0;
      margin-right: 0;
    }

    .ag-locator__contact-grid {
      grid-column: 2;
      grid-row: 1 / span 3;
      margin-top: 0.2rem;
    }
  }

  .ag-locator__contact-eyebrow {
    justify-content: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.25rem;
  }

  .ag-locator__contact-eyebrow span:first-child,
  .ag-locator__contact-eyebrow span:last-child {
    width: 0.4rem;
    height: 0.4rem;
    background: #b47828;
  }

  .ag-locator__contact-eyebrow span:nth-child(2) {
    color: #7a5a33;
  }

  .ag-locator__contact-title {
    color: #173a28;
    text-align: left;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
    max-width: 11ch;
  }

  .ag-locator__contact-description {
    margin: 0 0 0.5rem;
    max-width: 28rem;
    text-align: left;
  }

  .ag-locator__contact-grid {
    gap: 1.25rem;
  }

  .ag-locator__contact-card {
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.92), rgba(245, 237, 226, 0.88));
    border: 1px solid rgba(122, 91, 53, 0.16);
    border-radius: 1.45rem;
    padding: 1.7rem;
    box-shadow: 0 20px 38px rgba(75, 54, 29, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.84);
  }

  .ag-locator__contact-card:hover {
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(245, 237, 226, 0.94));
  }

  .ag-locator__contact-card-title {
    color: #173a28;
  }

  .ag-locator__contact-card-subtitle {
    color: #8b6f48;
  }

  .ag-locator__contact-detail-icon {
    background: rgba(23, 58, 40, 0.06);
  }

  .ag-locator__contact-detail-label {
    color: #8a7868;
  }

  .ag-locator__contact-detail p,
  .ag-locator__contact-detail a,
  .ag-locator__contact-card-note p {
    color: #4f4235;
  }

  .ag-locator__contact-card-note {
    background: rgba(255, 255, 255, 0.5);
    border-color: rgba(122, 91, 53, 0.1);
  }

  .ag-locator__contact-cta {
    width: auto;
    justify-self: start;
    padding-inline: 1.3rem;
  }

  @media (max-width: 767px) {

    .ag-locator__guide-title,
    .ag-locator__stats-board-title,
    .ag-locator__filters-title,
    .ag-locator__results-title,
    .ag-locator__contact-title {
      max-width: none;
    }

    .ag-locator__results-summary {
      text-align: left;
    }

    .ag-locator__region-stores.is-open {
      grid-template-columns: 1fr;
    }
  }

  /* ============================================================
     JS-RENDERED ELEMENT STYLES
     These classes are injected by locator-page.js and were
     previously absent from this stylesheet.
  ============================================================ */

  /* Chain card header layout */
  .ag-locator__chain-header-main {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  /* Chain logo + copy row */
  .ag-locator__chain-copy {
    flex: 1;
    min-width: 0;
  }

  /* Chain h3 title */
  .ag-locator__chain-title {
    font-family: 'Fraunces', serif;
    font-size: clamp(1.55rem, 2.8vw, 2rem);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: #ffffff;
    margin: 0 0 0.45rem;
  }

  /* Count panel — "Network size · 28 stores" */
  .ag-locator__chain-count-panel {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
    margin-bottom: 1rem;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.1);
  }

  .ag-locator__chain-count-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
  }

  .ag-locator__chain-count-value {
    font-family: 'Fraunces', serif;
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
    /* Note: value is rendered with surrounding spaces " 28 " by JS */
  }

  .ag-locator__chain-count-caption {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: lowercase;
    color: rgba(255, 255, 255, 0.7);
  }

  /* Region toggle anatomy */
  .ag-locator__region-leading {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex: 1;
    min-width: 0;
  }

  .ag-locator__region-copy {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    min-width: 0;
  }

  .ag-locator__region-note {
    font-family: 'Crimson Text', serif;
    font-size: 0.9rem;
    line-height: 1.3;
    color: #7a6a5c;
  }

  .ag-locator__region-trailing {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    margin-left: 0.5rem;
  }

  .ag-locator__region-count-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: lowercase;
    color: var(--ag-color-ink-500, #2d3748);
  }

  /* Store item anatomy */
  .ag-locator__store-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  }

  .ag-locator__store-item:last-child {
    border-bottom: none;
  }

  .ag-locator__store-main {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1;
  }

  .ag-locator__store-name {
    font-weight: 600;
    color: var(--ag-color-forest-900, #0e3e29);
    margin-bottom: 0.25rem;
  }

  .ag-locator__store-address {
    font-size: 0.875rem;
    color: var(--ag-color-ink-600, #525252);
    margin-bottom: 0.25rem;
  }

  .ag-locator__store-hours {
    font-size: 0.8125rem;
    color: var(--ag-color-ink-400, #8a8a8a);
  }

  .ag-locator__store-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ag-color-forest-600, #215840);
    text-decoration: none;
    transition: color 0.2s ease;
    margin-top: 0.1rem;
  }

  .ag-locator__store-link:hover {
    color: var(--ag-color-gold-600, #ea580c);
  }

  /* ============================================================
     POLISH IMPROVEMENTS
     High-leverage refinements based on visual audit.
  ============================================================ */

  /* Chain header: flex row with count panel on the right at desktop */
  @media (min-width: 768px) {
    .ag-locator__chain-header-main {
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1.25rem;
    }

    .ag-locator__chain-count-panel {
      flex-direction: column;
      align-items: center;
      flex-shrink: 0;
      padding: 0.85rem 1.1rem;
      margin-bottom: 0;
      gap: 0.1rem;
      align-self: flex-start;
    }

    .ag-locator__chain-count-value {
      font-size: 1.55rem;
      line-height: 1;
    }
  }

  /* Region toggle: ensure proper flex layout */
  .ag-locator__region-toggle {
    display: flex;
    align-items: center;
    gap: 0;
  }

  /* Stats board: tighten mobile heading */
  @media (max-width: 767px) {
    .ag-locator__stats-board-title {
      font-size: clamp(1.6rem, 7vw, 2.2rem);
      line-height: 1.05;
    }

    .ag-locator__guide-title {
      font-size: clamp(2rem, 9vw, 3.2rem);
    }

    /* Tighter section padding on mobile */
    .ag-locator__main {
      padding: clamp(2.5rem, 7vw, 4rem) 0;
    }

    /* More compact stats on mobile */
    .ag-locator__stat {
      padding: 1.15rem 1.2rem;
    }

    /* Full-width dropdowns on mobile for easier touch */
    .ag-locator__dropdowns {
      flex-direction: column;
    }

    .ag-locator__dropdown {
      width: 100%;
    }

    .ag-locator__select {
      width: 100%;
      min-width: 0;
    }
  }

  /* Hero eyebrow underline — slightly thicker for better visibility */
  .ag-locator__hero-eyebrow::after {
    height: 2.5px;
    width: 60px;
    opacity: 0.85;
  }

  /* Smoother region store item entrance */
  .ag-locator__store-item {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
  }

  .ag-locator__store-item:hover {
    box-shadow: 0 14px 28px rgba(78, 56, 29, 0.09);
    transform: translateY(-2px);
  }

  /* Rail sidebar visual differentiation on mobile */
  @media (max-width: 1099px) {
    .ag-locator__rail-card--guide {
      background: linear-gradient(180deg, rgba(255, 252, 247, 0.97), rgba(247, 239, 228, 0.9));
    }

    .ag-locator__rail-card--partners {
      background: linear-gradient(180deg, rgba(237, 245, 236, 0.97), rgba(225, 240, 224, 0.85));
    }

    .ag-locator__rail-card--contact {
      background: linear-gradient(180deg, rgba(253, 245, 237, 0.97), rgba(245, 230, 218, 0.88));
    }
  }

  /* ============================================================
     COMPREHENSIVE VISUAL OVERHAUL
     Organized, polished layout pass addressing spacing, hierarchy,
     alignment, noise reduction, and mobile coherence.
  ============================================================ */

  /* ── SECTION RHYTHM ───────────────────────────────────────── */

  .ag-locator__main {
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 7vw, 6rem);
  }

  .ag-locator__guide {
    margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
    padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
    border-bottom: 1px solid rgba(122, 91, 53, 0.1);
  }

  .ag-locator__stats-board {
    margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
    padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
    border-bottom: 1px solid rgba(122, 91, 53, 0.1);
  }

  /* ── GUIDE SECTION ───────────────────────────────────────── */

  /* Scale down the oversized heading — it was clipping off screen */
  .ag-locator__guide-title {
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.0;
    max-width: 14ch;
  }

  .ag-locator__guide-description {
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.7;
    max-width: 42ch;
    color: #5a4c3e;
  }

  /* Guide notes: stronger visual card feel */
  .ag-locator__guide-note {
    padding: 1.25rem 1.5rem;
    border-left-width: 1px;
    border-left-color: rgba(23, 58, 40, 0.3);
    border-radius: 0 1rem 1rem 0;
    background: rgba(255, 252, 248, 0.95);
    box-shadow: 0 4px 16px rgba(82, 58, 31, 0.06);
  }

  .ag-locator__guide-note--accent {
    border-left-color: rgba(176, 93, 52, 0.45);
    background: rgba(253, 246, 240, 0.95);
  }

  .ag-locator__guide-note-label {
    color: #5a3e1e;
    margin-bottom: 0.5rem;
  }

  .ag-locator__guide-note-text {
    font-size: 0.9375rem;
    color: #4a3c2d;
    line-height: 1.62;
  }

  /* ── STATS BOARD ─────────────────────────────────────────── */

  /* Better two-column balance: copy slightly larger than stats col */
  @media (min-width: 1024px) {
    .ag-locator__stats-board {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
      gap: 3rem;
      align-items: center;
    }
  }

  .ag-locator__stats-board-title {
    font-size: clamp(1.75rem, 3.2vw, 2.6rem);
    line-height: 1.05;
    max-width: 16ch;
  }

  .ag-locator__stats-board-text {
    font-size: 1rem;
    line-height: 1.7;
    color: #5a4c3e;
    max-width: 38ch;
  }

  /* Stats: horizontal row at ≥768px, centered and balanced */
  .ag-locator__stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  @media (min-width: 600px) {
    .ag-locator__stats {
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
    }
  }

  /* Remove stagger offsets that caused misalignment */
  @media (min-width: 1024px) {
    .ag-locator__stat--gold {
      margin-top: 0;
    }

    .ag-locator__stat--terra {
      margin-top: 0;
    }
  }

  /* Stat cards: cleaner, uniform appearance */
  .ag-locator__stat {
    text-align: center;
    padding: 1.5rem 1.25rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(122, 91, 53, 0.12);
    background: rgba(255, 252, 248, 0.96);
    box-shadow: 0 8px 24px rgba(75, 54, 29, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }

  .ag-locator__stat:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(75, 54, 29, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }

  .ag-locator__stat-icon {
    margin: 0 auto 0.875rem;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 0.875rem;
  }

  .ag-locator__stat-value {
    font-size: clamp(2rem, 3.5vw, 2.5rem);
    line-height: 1;
    margin-bottom: 0.375rem;
  }

  .ag-locator__stat-label {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
  }

  .ag-locator__stat-sub {
    font-size: 0.875rem;
    margin-top: 0.2rem;
  }

  /* ── DISCOVERY LAYOUT ────────────────────────────────────── */

  /* Rail cards: unified look, subtle distinction per type */
  .ag-locator__rail-card {
    padding: 1.25rem 1.35rem;
    border-radius: 1rem;
    border: 1px solid rgba(122, 91, 53, 0.12);
    background: rgba(255, 252, 248, 0.96);
    box-shadow: 0 4px 14px rgba(82, 58, 31, 0.05);
  }

  .ag-locator__rail-card--guide {
    border-left: 1px solid rgba(23, 58, 40, 0.3);
    background: rgba(248, 251, 248, 0.97);
  }

  .ag-locator__rail-card--partners {
    border-left: 1px solid rgba(23, 58, 40, 0.18);
    background: rgba(244, 250, 244, 0.96);
  }

  .ag-locator__rail-card--contact {
    border-left: 1px solid rgba(176, 93, 52, 0.35);
    background: rgba(253, 246, 240, 0.97);
  }

  /* Rail list numbering */
  .ag-locator__rail-item-index {
    background: rgba(23, 58, 40, 0.1);
    border-color: rgba(23, 58, 40, 0.12);
    color: #173a28;
  }

  /* Partner tags: slightly more styled */
  .ag-locator__partner-tags span {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(23, 58, 40, 0.15);
    color: #1e4a30;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
  }

  /* "Ask the team" link button */
  .ag-locator__rail-card-link {
    width: 100%;
    text-align: center;
    margin-top: 1.1rem;
    padding: 0.75rem 1rem;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    background: linear-gradient(135deg, #173a28 0%, #1e4d33 100%);
    border-color: rgba(244, 185, 66, 0.22);
  }

  /* Filters shell */
  .ag-locator__filters-shell {
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border-radius: 1.25rem;
    background: rgba(255, 253, 249, 0.98);
    border: 1px solid rgba(122, 91, 53, 0.15);
    box-shadow: 0 8px 28px rgba(74, 52, 28, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }

  .ag-locator__filters-title {
    font-size: clamp(1.5rem, 2.8vw, 2.25rem);
    line-height: 1.05;
    max-width: 20ch;
  }

  .ag-locator__filters-text {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #5a4c3e;
    max-width: 44ch;
  }

  /* ── RESULTS HEADING ─────────────────────────────────────── */

  .ag-locator__results-title {
    font-size: clamp(1.5rem, 2.8vw, 2.2rem);
    line-height: 1.05;
    max-width: 20ch;
  }

  /* ── CHAIN CARDS ─────────────────────────────────────────── */

  /* Header main layout on mobile: logo + copy stacked, count bar at bottom */
  .ag-locator__chain-header-main {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  /* Count panel on mobile: pill that spans full width for clarity */
  .ag-locator__chain-count-panel {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    justify-content: center;
    padding: 0.6rem 1rem;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.12);
    margin-bottom: 0;
  }

  .ag-locator__chain-count-label {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.65);
    text-transform: uppercase;
    font-weight: 600;
  }

  .ag-locator__chain-count-value {
    font-family: 'Fraunces', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1;
  }

  .ag-locator__chain-count-caption {
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.65);
    font-weight: 600;
    text-transform: lowercase;
  }

  /* Desktop: logo+copy on left, count badge on right */
  @media (min-width: 640px) {
    .ag-locator__chain-header-main {
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1.25rem;
    }

    .ag-locator__chain-count-panel {
      flex-direction: column;
      width: auto;
      flex-shrink: 0;
      padding: 0.75rem 1rem;
      gap: 0.125rem;
      align-self: flex-start;
      align-items: center;
      border-radius: 0.875rem;
    }

    .ag-locator__chain-count-value {
      font-size: 1.6rem;
    }
  }

  /* Chain header padding */
  .ag-locator__chain-header {
    padding: 1.35rem 1.35rem 1.2rem;
  }

  /* Chain card body */
  .ag-locator__chain-body {
    padding: 0.85rem;
    background: transparent;
  }

  /* ── REGION TOGGLES ──────────────────────────────────────── */

  .ag-locator__region-toggle {
    display: flex;
    align-items: center;
    padding: 0.875rem 1rem;
    border-radius: 0.875rem;
    margin-top: 0.625rem;
    background: rgba(255, 252, 248, 0.92);
    border: 1px solid rgba(122, 91, 53, 0.12);
    box-shadow: 0 2px 8px rgba(78, 56, 29, 0.04);
    transition: background 0.2s ease, box-shadow 0.2s ease;
    gap: 0;
  }

  .ag-locator__region-toggle:hover {
    background: rgba(255, 252, 248, 1);
    box-shadow: 0 4px 14px rgba(78, 56, 29, 0.07);
  }

  .ag-locator__region-toggle[aria-expanded="true"] {
    background: rgba(240, 247, 242, 0.98);
    border-color: rgba(23, 58, 40, 0.2);
    box-shadow: 0 4px 14px rgba(23, 58, 40, 0.06);
  }

  .ag-locator__region-section:first-child .ag-locator__region-toggle {
    margin-top: 0;
  }

  /* Region name: slightly smaller so it doesn't overpower */
  .ag-locator__region-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #173a28;
  }

  /* Region note: secondary info */
  .ag-locator__region-note {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.75rem;
    color: #8a7260;
    font-weight: 400;
    letter-spacing: 0;
  }

  /* Count on right of toggle */
  .ag-locator__region-count {
    font-family: 'Fraunces', serif;
    font-size: 1rem;
    font-weight: 600;
    color: #173a28;
  }

  .ag-locator__region-count-label {
    font-size: 0.75rem;
    color: #8a7260;
    letter-spacing: 0.04em;
  }

  /* Region chevron */
  .ag-locator__region-chevron {
    color: #8a7260;
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
  }

  /* ── STORE ITEMS ─────────────────────────────────────────── */

  .ag-locator__store-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid rgba(122, 91, 53, 0.08);
  }

  .ag-locator__store-item:last-child {
    border-bottom: none;
  }

  .ag-locator__store-main {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
  }

  .ag-locator__store-name {
    font-size: 1rem;
    font-weight: 600;
    color: #173a28;
    letter-spacing: -0.01em;
  }

  .ag-locator__store-address {
    font-size: 0.8375rem;
    color: #5a4c3e;
    line-height: 1.45;
  }

  .ag-locator__store-hours {
    font-size: 0.8125rem;
    color: #7a6a5c;
    line-height: 1.4;
  }

  .ag-locator__store-link {
    flex-shrink: 0;
    font-size: 0.72rem;
    color: #1e4d33;
    letter-spacing: 0.07em;
    font-weight: 700;
    text-transform: uppercase;
    transition: color 0.18s ease;
    text-decoration: none;
    margin-top: 0.1rem;
  }

  .ag-locator__store-link:hover {
    color: #b05d34;
  }

  /* ── CONTACT SECTION ─────────────────────────────────────── */

  /* Contact: warm cream tones, balanced two-column layout */
  .ag-locator__contact {
    background:
      linear-gradient(160deg, #f2e8d9 0%, #ece0cc 50%, #e8d9c4 100%);
    padding: clamp(3.5rem, 7vw, 5.5rem) 0;
  }

  /* Two-column: left = eyebrow + title + description, right = cards */
  @media (min-width: 1100px) {
    .ag-locator__contact-content {
      grid-template-columns: minmax(0, 0.65fr) minmax(0, 1.35fr);
      column-gap: 3rem;
      align-items: start;
    }
  }

  /* Contact eyebrow: left-aligned at all sizes now */
  .ag-locator__contact-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    justify-content: flex-start;
    margin-bottom: 0.5rem;
  }

  .ag-locator__contact-eyebrow span:first-child,
  .ag-locator__contact-eyebrow span:last-child {
    width: 0.35rem;
    height: 0.35rem;
    background: #9a6b30;
    border-radius: 50%;
  }

  .ag-locator__contact-eyebrow span:nth-child(2) {
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    color: #7a5a2f;
    font-weight: 700;
    text-transform: uppercase;
  }

  /* Contact title: dark forest, left-aligned */
  .ag-locator__contact-title {
    font-size: clamp(2rem, 4vw, 3rem);
    color: #173a28;
    text-align: left;
    letter-spacing: -0.04em;
    line-height: 1.0;
    max-width: 10ch;
  }

  /* Contact description */
  .ag-locator__contact-description {
    font-size: 1rem;
    line-height: 1.7;
    color: #5a4233;
    text-align: left;
    max-width: 30ch;
    margin: 0 0 1rem;
  }

  /* Contact cards: clean light cards on warm bg */
  .ag-locator__contact-card {
    background: rgba(255, 252, 247, 0.95);
    border: 1px solid rgba(160, 120, 70, 0.15);
    border-radius: 1.25rem;
    padding: 1.5rem;
    box-shadow: 0 8px 28px rgba(100, 70, 30, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.95);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }

  .ag-locator__contact-card:hover {
    background: rgba(255, 253, 250, 1);
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(100, 70, 30, 0.12), inset 0 1px 0 rgba(255, 255, 255, 1);
  }

  /* Card header icons */
  .ag-locator__contact-card-icon--gold {
    background: linear-gradient(135deg, #e8680a, #c44f08);
  }

  .ag-locator__contact-card-icon--terra {
    background: linear-gradient(135deg, #b05d34, #935035);
  }

  /* Card title and subtitle on warm bg */
  .ag-locator__contact-card-title {
    font-size: 1.25rem;
    color: #1e3a28;
    letter-spacing: -0.02em;
  }

  .ag-locator__contact-card-subtitle {
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    color: #9a6b30;
    font-weight: 600;
    text-transform: uppercase;
  }

  /* Detail icons on warm bg */
  .ag-locator__contact-detail-icon {
    background: rgba(23, 58, 40, 0.07);
    color: #4a8c60;
  }

  /* Detail label */
  .ag-locator__contact-detail-label {
    font-size: 0.65rem;
    color: #9a8270;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
  }

  /* Detail text and links */
  .ag-locator__contact-detail p,
  .ag-locator__contact-detail a,
  .ag-locator__contact-card-note p {
    color: #3e3025;
    font-size: 0.9375rem;
  }

  .ag-locator__contact-detail a:hover {
    color: #b05d34;
  }

  /* Note box inside farm card */
  .ag-locator__contact-card-note {
    background: rgba(245, 238, 228, 0.7);
    border-color: rgba(160, 120, 70, 0.15);
    border-radius: 0.75rem;
    padding: 1rem 1.125rem;
  }

  /* CTA button */
  .ag-locator__contact-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-radius: 999px;
    margin-top: 1.25rem;
    background: linear-gradient(135deg, #173a28 0%, #1f4d35 100%);
    border: 1px solid rgba(244, 196, 88, 0.25);
    box-shadow: 0 8px 20px rgba(23, 58, 40, 0.2);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
    color: #ffffff;
    text-decoration: none;
    width: auto;
    justify-self: start;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
  }

  .ag-locator__contact-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(23, 58, 40, 0.28);
  }

  .ag-locator__contact-grid {
    gap: 1.25rem;
  }

  /* ── MOBILE OVERRIDES ────────────────────────────────────── */

  @media (max-width: 767px) {

    /* Guide: single column, tighter */
    .ag-locator__guide-title {
      font-size: clamp(1.75rem, 8vw, 2.75rem);
    }

    .ag-locator__stats-board-title {
      font-size: clamp(1.5rem, 7vw, 2.25rem);
      max-width: none;
    }

    .ag-locator__filters-title {
      font-size: clamp(1.4rem, 6.5vw, 2rem);
      max-width: none;
    }

    .ag-locator__results-title {
      font-size: clamp(1.4rem, 6.5vw, 2rem);
      max-width: none;
    }

    /* Contact title on mobile */
    .ag-locator__contact-title {
      font-size: clamp(1.75rem, 8vw, 2.75rem);
      max-width: none;
    }

    /* Contact description: no max-width on mobile */
    .ag-locator__contact-description {
      max-width: none;
    }

    /* Stat cards: compact on mobile */
    .ag-locator__stat {
      padding: 1.125rem 1rem;
    }

    /* Store items: single column on mobile */
    .ag-locator__region-stores.is-open {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 599px) {

    /* Stats stack single col on small phones */
    .ag-locator__stats {
      grid-template-columns: 1fr;
    }
  }

/* ============================================================
   FIND AGRIKO POLISH — 2026-03-09
   Brand palette corrections, hierarchy, composition, authority
   ============================================================ */

/* ── 1. HERO PRIMARY BUTTON — Correct from orange to gold ─── */
/* Previous: var(--ag-color-gold-500, #ea580c) resolves to orange.
   Find Agriko primary CTA must use brand gold #F6B900.           */
.ag-locator__hero-btn--primary {
  background: linear-gradient(135deg, #F6B900 0%, #d4a000 100%);
  color: #0E3E29;
  box-shadow: 0 8px 24px rgba(246, 185, 0, 0.38);
}

.ag-locator__hero-btn--primary:hover {
  background: linear-gradient(135deg, #ffc520 0%, #F6B900 100%);
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(246, 185, 0, 0.50);
}

/* ── 2. CONTACT CARD GOLD ICON — True brand gold ─────────── */
/* Previous: #e8680a (orange). Gold icon must use #F6B900.        */
.ag-locator__contact-card-icon--gold {
  background: linear-gradient(135deg, #F6B900 0%, #d4941a 100%);
  color: #0E3E29;
}

/* ── 3. GUIDE SECTION — Rebalance copy : notes column ratio ── */
/* Previous 1.18fr : 0.82fr over-privileges editorial heading.
   Equal 1fr : 1fr gives notes proper compositional authority.    */
@media (min-width: 1024px) {
  .ag-locator__guide {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 1fr);
    align-items: center;
  }
}

/* Scale down heading dominance: give breathing room to notes */
.ag-locator__guide-title {
  font-size: clamp(1.85rem, 3.5vw, 3rem);
  max-width: 13ch;
  line-height: 1.02;
}

/* Badge: more visible gold accent */
.ag-locator__guide-badge {
  border-color: rgba(246, 185, 0, 0.3);
  color: #5a3e1e;
}

/* Guide notes: increase visual weight against rebalanced copy col */
.ag-locator__guide-notes {
  gap: 0.875rem;
}

.ag-locator__guide-note {
  border-left-width: 1px;
  border-left-color: rgba(23, 58, 40, 0.35);
  padding: 1.35rem 1.5rem;
  box-shadow: 0 6px 20px rgba(82, 58, 31, 0.07);
}

.ag-locator__guide-note--accent {
  border-left-color: rgba(246, 185, 0, 0.5);
}

/* ── 4. STATS BOARD — Gold accent on kicker to anchor section ─ */
/* Adds a visual gold tab to signal "here are the numbers."       */
.ag-locator__stats-board-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #5a3e1e;
}

.ag-locator__stats-board-kicker::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 2px;
  background: linear-gradient(90deg, #F6B900, rgba(246, 185, 0, 0.4));
  border-radius: 2px;
  flex-shrink: 0;
}

/* Stat icon differentiation by variant */
.ag-locator__stat--forest .ag-locator__stat-icon {
  background: linear-gradient(135deg, rgba(23, 58, 40, 0.14) 0%, rgba(23, 58, 40, 0.06) 100%);
  color: #173a28;
}

.ag-locator__stat--gold .ag-locator__stat-icon {
  background: linear-gradient(135deg, rgba(246, 185, 0, 0.22) 0%, rgba(246, 185, 0, 0.09) 100%);
  color: #8a6800;
}

.ag-locator__stat--terra .ag-locator__stat-icon {
  background: linear-gradient(135deg, rgba(176, 93, 52, 0.18) 0%, rgba(176, 93, 52, 0.08) 100%);
  color: #7a3f18;
}

/* ── 5. FILTERS SHELL — Reduce intro verbosity before controls ─ */
/* Tighten the kicker → title → description stack so search is
   the clear operational center, not buried below editorial copy. */
.ag-locator__filters-intro {
  gap: 0.5rem;
  margin-bottom: 1.1rem;
}

.ag-locator__filters-title {
  font-size: clamp(1.35rem, 2.4vw, 1.95rem);
  line-height: 1.08;
  max-width: 22ch;
}

.ag-locator__filters-text {
  font-size: 0.9rem;
  line-height: 1.6;
  max-width: 42ch;
  color: #6a5a4a;
}

/* ── 6. RAIL SIDEBAR — Reduce visual busyness ─────────────── */
/* Shadow unification: one consistent shadow level across cards */
.ag-locator__rail-card {
  box-shadow: 0 3px 14px rgba(82, 58, 31, 0.05);
}

/* Tighten rail card kicker — less competing label noise */
.ag-locator__rail-card-kicker {
  font-size: 0.69rem;
  letter-spacing: 0.18em;
  color: #5a3e20;
  margin-bottom: 0.7rem;
}

/* Rail item index: softer on eyes, less noise */
.ag-locator__rail-item-index {
  background: rgba(23, 58, 40, 0.08);
  border-color: rgba(23, 58, 40, 0.1);
  font-size: 0.72rem;
}

/* ── 7. RESULTS HEAD — Separator to frame results zone ─────── */
.ag-locator__results-head {
  padding-bottom: 0.875rem;
  border-bottom: 1px solid rgba(122, 91, 53, 0.1);
  margin-bottom: 0.5rem;
  align-items: flex-start;
}

.ag-locator__results-summary {
  font-family: 'Crimson Text', serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: #6a5a4a;
  font-style: italic;
  max-width: 22rem;
  padding-top: 0.3rem;
}

/* ── 8. STORE MAP LINK HOVER — Gold not terra ──────────────── */
/* Previous hover: #b05d34 (terra). Use forest→gold progression  */
.ag-locator__store-link {
  color: #1e4a30;
  transition: color 0.18s ease;
}

.ag-locator__store-link:hover {
  color: #9a7400;
}

/* ── 9. CONTACT SECTION — Close with more authority ────────── */
/* Eyebrow dots: gold for warmth + brand signal */
.ag-locator__contact-eyebrow span:first-child,
.ag-locator__contact-eyebrow span:last-child {
  background: #F6B900;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
}

.ag-locator__contact-eyebrow span:nth-child(2) {
  color: #5a3e20;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  font-weight: 700;
  text-transform: uppercase;
}

/* Contact title: tighter tracking for more decisive feel */
.ag-locator__contact-title {
  font-size: clamp(2.1rem, 4.5vw, 3.2rem);
  letter-spacing: -0.05em;
  line-height: 0.96;
  max-width: 10ch;
}

/* Contact description: slightly more legible */
.ag-locator__contact-description {
  font-size: 1.0rem;
  line-height: 1.72;
  max-width: 28ch;
  color: #5a4233;
}

/* Schedule Visit CTA: more visual authority */
.ag-locator__contact-cta {
  padding: 1rem 1.75rem;
  font-size: 0.76rem;
  letter-spacing: 0.13em;
  box-shadow: 0 10px 26px rgba(23, 58, 40, 0.24);
  margin-top: 1.5rem;
}

.ag-locator__contact-cta:hover {
  box-shadow: 0 16px 36px rgba(23, 58, 40, 0.32);
  transform: translateY(-3px);
}

/* Contact card hover: gold border hint for warmth */
.ag-locator__contact-card:hover {
  border-color: rgba(246, 185, 0, 0.18);
}

/* ── 10. PUREGOLD CHAIN — Distinct from Metro forest ────────── */
/* Previous: #315c43 → #204f37 (too close to Metro).
   Move PureGold to a richer mid-forest tone.                     */
.ag-locator__chain-header--puregold {
  background: linear-gradient(135deg, #1e4d33 0%, #163c26 100%);
}

/* ── 11. RAIL CARD LINK — Gold border hint ──────────────────── */
/* "Ask the team" button: match contact CTA authority */
.ag-locator__rail-card-link:hover {
  background: linear-gradient(135deg, #1e4d33 0%, #214f37 100%);
  box-shadow: 0 10px 24px rgba(23, 58, 40, 0.24);
  transform: translateY(-2px);
}

.ag-locator__rail-card-link {
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

/* ── 12. MOBILE — Compact contact title ─────────────────────── */
@media (max-width: 767px) {
  .ag-locator__contact-title {
    font-size: clamp(1.9rem, 8.5vw, 2.8rem);
    max-width: none;
    letter-spacing: -0.04em;
  }

  .ag-locator__guide-title {
    font-size: clamp(1.65rem, 7.5vw, 2.5rem);
  }
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 2 — 2026-03-09
   Stats balance, contact authority, guide harmony
   ============================================================ */

/* ── 1. STATS BOARD TITLE — Reduce dominance at desktop ────── */
/* The heading "From city supermarkets..." spans 5 lines at 1440px
   and overwhelms the compact stat cards. Reduce to max 2rem.    */
.ag-locator__stats-board-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  max-width: 18ch;
  line-height: 1.1;
}

/* ── 2. STATS BOARD ALIGNMENT — Align copy to top not center ── */
/* align-items: center creates awkward midpoint positioning when
   the copy column (5 lines) is taller than the stats column.    */
@media (min-width: 1024px) {
  .ag-locator__stats-board {
    align-items: start;
  }
}

/* ── 3. GUIDE TITLE — Consistent with reduced stats scale ───── */
.ag-locator__guide-title {
  font-size: clamp(1.75rem, 3vw, 2.6rem);
  max-width: 14ch;
}

/* ── 4. CONTACT LEFT COLUMN — Add a CTA link below description  */
/* Create a visual "bridge" from description to page close.
   Uses the existing guide-badge style for a Field Guide label.  */
.ag-locator__contact-content .ag-locator__contact-description {
  margin-bottom: 1.5rem;
}

/* Contact left-column visual close: a thin gold rule */
.ag-locator__contact-eyebrow {
  padding-bottom: 0.25rem;
  border-bottom: none;
}

/* Video toggle button (WCAG 2.2.2) */
.ag-locator__hero-video-toggle {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 10;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
  padding: 0;
}
.ag-locator__hero-video-toggle:hover { background: rgba(0, 0, 0, 0.6); }
.ag-locator__hero-video-toggle:focus-visible {
  outline: 2px solid var(--ag-color-gold-bright, #f6b900);
  outline-offset: 2px;
}
.ag-locator__hero-video-toggle svg { width: 18px; height: 18px; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ag-locator__hero-scroll { animation: none; }
  .ag-locator__stat:hover,
  .ag-locator__chain-card:hover { transform: none; }
  .ag-locator *,
  .ag-locator *::before,
  .ag-locator *::after { transition-duration: 0.01ms; }
}

/* ── 5. STATS BOARD DESCRIPTION — More legible at desktop ───── */
.ag-locator__stats-board-text {
  font-size: 0.9375rem;
  line-height: 1.72;
  max-width: 34ch;
  color: #5a4c3e;
}

/* ── 6. SECTION DIVIDERS — Strengthen guide/stats separators ── */
/* Makes the horizontal rule between sections more visible.       */
.ag-locator__guide {
  border-bottom-color: rgba(122, 91, 53, 0.14);
}

.ag-locator__stats-board {
  border-bottom-color: rgba(122, 91, 53, 0.14);
}

/* ── 7. GUIDE DESCRIPTION — Reduce at desktop for balance ───── */
.ag-locator__guide-description {
  font-size: clamp(0.9375rem, 1.4vw, 1.05rem);
  line-height: 1.68;
  max-width: 38ch;
  color: #5a4c3e;
}

/* ── 8. CONTACT SECTION TOP SEPARATOR — Visual anchor ──────── */
/* Adds a subtle top border to mark the transition to contact.   */
.ag-locator__contact {
  border-top: 1px solid rgba(160, 120, 70, 0.12);
}

/* ── 9. FILTER CONTROLS — Cleaner search input ──────────────── */
.ag-locator__search-input:focus {
  border-color: rgba(23, 58, 40, 0.32);
  box-shadow: 0 0 0 4px rgba(23, 58, 40, 0.06), inset 0 1px 0 rgba(255,255,255,0.8);
}

/* ── 10. PARTNER TAGS — Slightly more legible ───────────────── */
.ag-locator__partner-tags span {
  font-size: 0.72rem;
  padding: 0.4rem 0.7rem;
}

/* ── 11. MOBILE STATS BOARD — Stack with cleaner spacing ────── */
@media (max-width: 767px) {
  .ag-locator__stats-board-title {
    font-size: clamp(1.4rem, 7vw, 2rem);
    max-width: none;
  }

  .ag-locator__stats-board-text {
    max-width: none;
    font-size: 0.9375rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   FIND AGRIKO POLISH — ITERATION 3 — 2026-03-09
   Focus: Container breathing room, column balance, spacing
   ═══════════════════════════════════════════════════════════ */

/* ── 1. CONTAINER HORIZONTAL PADDING — Critical breathing room */
.ag-locator__main .container {
  padding-left: clamp(1.25rem, 4.5vw, 3rem);
  padding-right: clamp(1.25rem, 4.5vw, 3rem);
}

/* ── 2. GUIDE SECTION — Even columns + wider gap ────────────── */
@media (min-width: 1024px) {
  .ag-locator__guide {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 1.08fr);
    gap: 3.5rem;
  }
}

/* ── 3. GUIDE TITLE — Tighter line-height, slightly less max-width */
.ag-locator__guide-title {
  max-width: 12ch;
}

/* ── 4. STATS BOARD — Wider gap between copy and stat cards ─── */
@media (min-width: 1024px) {
  .ag-locator__stats-board {
    gap: 3rem;
  }
}

/* ── 5. STATS BOARD TEXT — Allow slightly wider lines ──────── */
.ag-locator__stats-board-text {
  max-width: 40ch;
}

/* ── 6. CONTACT SECTION — More generous top padding ─────────── */
.ag-locator__contact {
  padding-top: clamp(3.5rem, 6vw, 5.5rem);
  padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
}

/* ── 7. CHAIN CARDS — Add gap between successive chain blocks */
.ag-locator__chain + .ag-locator__chain {
  margin-top: 1.75rem;
}

/* ── 8. RESULTS MAP HEADER — Breathing before chain list ──── */
.ag-locator__results-header,
.ag-locator__results-head {
  margin-bottom: 1.5rem;
}

/* ── 9. MOBILE CONTAINER — Tighter padding on small screens ── */
@media (max-width: 480px) {
  .ag-locator__main .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ── 10. CONTACT SECTION — Match container left/right inset ── */
.ag-locator__contact-content {
  padding-left: clamp(1.25rem, 4.5vw, 3rem);
  padding-right: clamp(1.25rem, 4.5vw, 3rem);
}

@media (max-width: 480px) {
  .ag-locator__contact-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ── 11. CONTACT DETAIL ICONS — Fix orange fallback → forest green */
.ag-locator__contact-card:nth-child(1) .ag-locator__contact-detail-icon {
  color: #0E3E29;
}

.ag-locator__contact-card:nth-child(2) .ag-locator__contact-detail-icon {
  color: rgba(14, 62, 41, 0.72);
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 4 — 2026-03-09
   Focus: Gold focus states, chain body differentiation,
   badge icon, filter shell active state, readable colors
   ============================================================ */

/* ── 1. SEARCH INPUT FOCUS — Gold, not forest green ─────────── */
/* Previous: #2d6a4f border + green glow. Brand gold instead.    */
.ag-locator__search-input:focus {
  border-color: rgba(246, 185, 0, 0.65);
  box-shadow:
    0 0 0 4px rgba(246, 185, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

/* ── 2. SELECT FOCUS — Gold, not forest green ────────────────── */
.ag-locator__select:focus {
  border-color: rgba(246, 185, 0, 0.65);
  box-shadow:
    0 0 0 4px rgba(246, 185, 0, 0.12),
    0 2px 8px rgba(14, 62, 41, 0.04);
}

/* ── 3. FILTERS SHELL ACTIVE STATE — Gold signal on focus ────── */
/* When user is actively searching, shell gets a gold border hint */
.ag-locator__filters-shell:has(.ag-locator__search-input:focus),
.ag-locator__filters-shell:has(.ag-locator__select:focus) {
  border-color: rgba(246, 185, 0, 0.28);
  box-shadow:
    0 8px 32px rgba(74, 52, 28, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

/* ── 4. GUIDE BADGE ICON — Gold star ────────────────────────── */
/* The field guide badge star SVG gets gold color treatment       */
.ag-locator__guide-badge svg {
  color: #d4a000;
  opacity: 0.9;
}

/* ── 5. CHAIN BODY DIFFERENTIATION — Per-chain tint ─────────── */
/* Each retailer's accordion body gets a subtle on-brand tint.
   Metro: forest mint. Gaisano: terra warm. PureGold: mid-forest.
   Uses :has() (supported Chrome 105+, Firefox 121+, Safari 15+). */
.ag-locator__chain-card:has(.ag-locator__chain-header--metro) .ag-locator__chain-body {
  background: linear-gradient(180deg,
    rgba(233, 244, 238, 0.6) 0%,
    rgba(245, 250, 247, 0.3) 100%);
}

.ag-locator__chain-card:has(.ag-locator__chain-header--gaisano-grand) .ag-locator__chain-body {
  background: linear-gradient(180deg,
    rgba(248, 241, 236, 0.65) 0%,
    rgba(252, 247, 243, 0.3) 100%);
}

.ag-locator__chain-card:has(.ag-locator__chain-header--puregold) .ag-locator__chain-body {
  background: linear-gradient(180deg,
    rgba(236, 244, 240, 0.6) 0%,
    rgba(245, 249, 247, 0.3) 100%);
}

/* ── 6. CHAIN CARD — Per-chain left accent border ────────────── */
/* Reinforces each chain's identity at the card border level      */
.ag-locator__chain-card:has(.ag-locator__chain-header--metro) {
  border-left: 1px solid rgba(23, 58, 40, 0.25);
}

.ag-locator__chain-card:has(.ag-locator__chain-header--gaisano-grand) {
  border-left: 1px solid rgba(176, 93, 52, 0.22);
}

.ag-locator__chain-card:has(.ag-locator__chain-header--puregold) {
  border-left: 1px solid rgba(30, 77, 51, 0.22);
}

/* ── 7. DROPDOWN LABEL — Warmer terra tone ───────────────────── */
/* Previous: --ag-color-ink-500 (generic gray). Use terra brown.  */
.ag-locator__dropdown-label {
  color: #7a5a33;
  letter-spacing: 0.12em;
}

/* ── 8. STAT CARD LABEL — Warmer, more forest-tinted ────────── */
/* Previous: #2e342f (near-black). Warmer mid-forest tone.        */
.ag-locator__stat-label {
  color: #2e4230;
  letter-spacing: 0.03em;
}

.ag-locator__stat-sub {
  color: #6a5840;
}

/* ── 9. CONTACT DESCRIPTION MAX-WIDTH — Less cramped ─────────── */
/* Previous: 28ch too narrow at desktop. Relax to 32ch.           */
.ag-locator__contact-description {
  max-width: 32ch;
}

/* ── 10. SELECT ARROW — Warmer color ─────────────────────────── */
/* Generic gray arrow → warm forest-muted tone                    */
.ag-locator__select-arrow {
  color: rgba(90, 62, 32, 0.55);
}

/* ── 11. GUIDE NOTES GAP — Mobile tighter ───────────────────── */
@media (max-width: 767px) {
  .ag-locator__guide-notes {
    gap: 0.75rem;
  }

  /* Guide note labels: slightly tighter on mobile */
  .ag-locator__guide-note-label {
    font-size: 0.68rem;
    letter-spacing: 0.15em;
    margin-bottom: 0.35rem;
  }
}

/* ── 12. REGION TOGGLE ICON — Forest tint ────────────────────── */
.ag-locator__region-icon {
  background: rgba(23, 58, 40, 0.09);
  color: #1e4a30;
}

/* Expanded region toggle icon: gold tinted */
.ag-locator__region-toggle[aria-expanded="true"] .ag-locator__region-icon {
  background: rgba(246, 185, 0, 0.12);
  color: #8a6800;
}

/* ── 13. SEARCH ICON — Warm up the magnifier ─────────────────── */
.ag-locator__search-icon {
  color: rgba(90, 62, 32, 0.45);
  transition: color 0.2s ease;
}

.ag-locator__search-input:focus ~ .ag-locator__search-icon,
.ag-locator__search-wrapper:focus-within .ag-locator__search-icon {
  color: rgba(160, 120, 0, 0.7);
}

/* ── 14. CHAIN REGION STAT PILL — Consistent on all headers ─── */
/* The region breakdown pills inside each chain header            */
.ag-locator__chain-region-stat {
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* ── 15. MOBILE — Chain card border radius consistency ────────── */
@media (max-width: 639px) {
  .ag-locator__chain-card:has(.ag-locator__chain-header--metro),
  .ag-locator__chain-card:has(.ag-locator__chain-header--gaisano-grand),
  .ag-locator__chain-card:has(.ag-locator__chain-header--puregold) {
    border-left-width: 1px;
  }
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 5 — 2026-03-09
   Contact authority restoration, filter separator, mobile flow
   ============================================================ */

/* ── 1. CONTACT SECTION — Restore dark forest closing authority ─ */
/* The COMPREHENSIVE VISUAL OVERHAUL changed the contact to warm
   cream (#f2e8d9), which lost the page-closing weight of the
   canonical design. Restore dark forest: cards stay light,
   container goes deep, text goes white.                           */
.ag-locator__contact {
  background:
    linear-gradient(160deg, #0f3620 0%, #0e3e29 55%, #0b2c1b 100%);
  border-top: none;
}

/* ── 2. CONTACT TITLE — White on dark forest ─────────────────── */
/* Previous: #173a28 (dark on cream). Restore white on deep bg.   */
.ag-locator__contact-title {
  color: #ffffff;
}

/* ── 3. CONTACT DESCRIPTION — Soft white on dark bg ─────────── */
.ag-locator__contact-description {
  color: rgba(255, 255, 255, 0.82);
  max-width: 34ch;
}

/* ── 4. CONTACT EYEBROW TEXT — Light on dark bg ─────────────── */
.ag-locator__contact-eyebrow span:nth-child(2) {
  color: rgba(255, 255, 255, 0.6);
}

/* ── 5. CONTACT CARDS — Enhance contrast against dark bg ──────── */
/* Cards keep cream backgrounds; deeper shadows give depth.       */
.ag-locator__contact-card {
  background: rgba(255, 251, 246, 0.97);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 1);
}

.ag-locator__contact-card:hover {
  background: rgba(255, 253, 250, 1);
  border-color: rgba(246, 185, 0, 0.22);
  box-shadow:
    0 24px 52px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  transform: translateY(-4px);
}

/* ── 6. CONTACT BG GLOWS — Amplify for dark bg ───────────────── */
.ag-locator__contact-bg {
  opacity: 0.65;
}

/* ── 7. CONTACT — Left-align on desktop, center on mobile ──────── */
@media (max-width: 1099px) {
  .ag-locator__contact-eyebrow {
    justify-content: center;
  }

  .ag-locator__contact-title {
    text-align: center;
    max-width: none;
  }

  .ag-locator__contact-description {
    text-align: center;
    max-width: none;
    margin-inline: auto;
  }
}

/* ── 8. FILTER INTRO / CONTROLS BOUNDARY — Operational separator */
/* A thin rule between the editorial intro text and search inputs
   makes the filter zone feel like a distinct operational panel.  */
.ag-locator__filters-intro {
  border-bottom: 1px solid rgba(122, 91, 53, 0.12);
  padding-bottom: 1.1rem;
  margin-bottom: 1.25rem;
}

/* ── 9. CHAIN CARD HOVER — Reduce exaggerated lift ───────────── */
/* Previous: up to -8px. A -3px translation is more refined.      */
.ag-locator__chain-card:hover {
  transform: translateY(-3px);
  box-shadow:
    0 12px 28px rgba(74, 52, 28, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

/* ── 10. CONTACT GRID — Consistent gap at all breakpoints ──────── */
.ag-locator__contact-grid {
  gap: 1.25rem;
}

/* ── 11. STATS BOARD GAP — Tighten copy-to-stats column spacing ─ */
/* 3rem gap at desktop feels disconnected; reduce to 2.5rem.       */
@media (min-width: 1024px) {
  .ag-locator__stats-board {
    gap: 2.5rem;
  }
}

/* ── 12. DISCOVERY RAIL — Reduce card box-shadow density ─────── */
/* Three stacked cards with the same shadow create visual noise.
   Use layered translucency instead of individual shadows.        */
.ag-locator__discovery-rail .ag-locator__rail-card {
  box-shadow: none;
  border: 1px solid rgba(122, 91, 53, 0.11);
}

/* ── 13. GUIDE SECTION — Subtle visual thread to stats board ──── */
/* A small connector element visually ties guide → stats as one
   narrative intro block rather than two independent sections.    */
.ag-locator__guide {
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.ag-locator__stats-board-kicker::before {
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, #F6B900 0%, rgba(246, 185, 0, 0.35) 100%);
}

/* ── 14. MOBILE — Guide notes single column tighter ─────────── */
@media (max-width: 767px) {
  .ag-locator__guide-notes {
    gap: 0.75rem;
  }

  .ag-locator__guide-note {
    padding: 1.1rem 1.25rem;
  }

  /* Contact description mobile: legible at smaller sizes */
  .ag-locator__contact-description {
    font-size: 0.9375rem;
    line-height: 1.7;
  }
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 6 — 2026-03-09
   Tablet rail layout, chain differentiation, toggle hover,
   guide note accent, mobile section spacing
   ============================================================ */

/* ── 1. DISCOVERY RAIL — 3-COLUMN GRID AT TABLET ─────────────── */
/* At 768-1099px, 3 rail cards stacked full-width creates a
   massive vertical block before the search area. A horizontal
   3-column grid uses the tablet width intentionally and gets
   users to the operational search panel faster.                  */
@media (min-width: 768px) and (max-width: 1099px) {
  .ag-locator__discovery-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
  }

  /* Each rail card fills equal height in the row */
  .ag-locator__rail-card {
    display: flex;
    flex-direction: column;
  }

  /* Rail card link stretches to bottom of card */
  .ag-locator__rail-card-link {
    margin-top: auto;
  }
}

/* ── 2. PUREGOLD CHAIN HEADER — Gold accent for instant ID ────── */
/* Metro and PureGold both use dark forest headers.
   PureGold has "gold" in its name — a gold top-strip reinforces
   brand recognition and creates instant visual distinction.
   Metro stays pure forest. Gaisano stays terra.                  */
.ag-locator__chain-header--puregold {
  background: linear-gradient(160deg, #193f2c 0%, #163c26 60%, #122e1e 100%);
}

/* PureGold: gold shimmer strip at top of header */
.ag-locator__chain-header--puregold::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.5px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(246, 185, 0, 0.55) 30%,
    rgba(246, 185, 0, 0.8) 50%,
    rgba(246, 185, 0, 0.55) 70%,
    transparent 100%);
  pointer-events: none;
}

/* PureGold badge: gold-tinted to match the strip */
.ag-locator__chain-header--puregold .ag-locator__chain-badge {
  background: rgba(246, 185, 0, 0.16);
  border-color: rgba(246, 185, 0, 0.2);
  color: rgba(255, 225, 100, 0.92);
}

/* Metro: add a subtle forest-muted strip for parity (restrained) */
.ag-locator__chain-header--metro::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.5px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.1) 30%,
    rgba(255, 255, 255, 0.18) 50%,
    rgba(255, 255, 255, 0.1) 70%,
    transparent 100%);
  pointer-events: none;
}

/* ── 3. GUIDE NOTE ACCENT — More distinct warm treatment ─────── */
/* The terra accent note needs more visual weight to differentiate
   from the forest note above it. Add warmer background and
   slightly stronger shadow.                                       */
.ag-locator__guide-note--accent {
  background: linear-gradient(170deg,
    rgba(254, 245, 236, 0.98) 0%,
    rgba(247, 231, 216, 0.92) 100%);
  box-shadow:
    0 6px 20px rgba(140, 70, 30, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

/* Accent note label: terra tone for warmth */
.ag-locator__guide-note--accent .ag-locator__guide-note-label {
  color: #7a3a14;
}

/* ── 4. REGION TOGGLE HOVER — Stronger interactive feedback ──── */
/* Current hover change is near-invisible.
   Add a slightly more evident background shift.                   */
.ag-locator__region-toggle:hover {
  background: rgba(244, 238, 229, 0.98);
  border-color: rgba(122, 91, 53, 0.22);
  box-shadow:
    0 4px 16px rgba(78, 56, 29, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

/* ── 5. REGION TOGGLE EXPANDED — Gold border for active state ─── */
/* When expanded, reinforce the active state with gold border      */
.ag-locator__region-toggle[aria-expanded="true"] {
  border-color: rgba(246, 185, 0, 0.2);
  background: rgba(244, 248, 244, 0.99);
}

/* ── 6. STATS BOARD — Ensure copy aligns to top at desktop ────── */
/* align-items: start is set from iteration 2 but the column
   ratio (1fr : 1.1fr) can still look slightly imbalanced.
   Adding auto padding-top to copy ties it to the stats visually. */
@media (min-width: 1024px) {
  .ag-locator__stats-board-copy {
    padding-top: 0.375rem;
  }
}

/* ── 7. DISCOVERY MAIN — Ensure filter shell leads cleanly ────── */
/* At tablet (no sticky sidebar), the filter shell is first item.
   Give it slightly more visual prominence.                        */
@media (max-width: 1099px) {
  .ag-locator__filters-shell {
    box-shadow:
      0 8px 32px rgba(74, 52, 28, 0.09),
      inset 0 1px 0 rgba(255, 255, 255, 0.92);
  }
}

/* ── 8. CHAIN CARD LEFT BORDER — Slightly wider on desktop ─────── */
/* 3px border is currently thin for the card size. 4px gives
   more visual distinction per chain without over-emphasis.       */
@media (min-width: 640px) {
  .ag-locator__chain-card:has(.ag-locator__chain-header--metro),
  .ag-locator__chain-card:has(.ag-locator__chain-header--gaisano-grand),
  .ag-locator__chain-card:has(.ag-locator__chain-header--puregold) {
    border-left-width: 1px;
  }
}

/* ── 9. MOBILE SECTION SPACING — Consistent vertical rhythm ─────── */
@media (max-width: 767px) {
  .ag-locator__guide {
    margin-bottom: clamp(2rem, 6vw, 3rem);
  }

  .ag-locator__stats-board {
    margin-bottom: clamp(2rem, 6vw, 3rem);
  }

  /* Stats at mobile: uniform icon size */
  .ag-locator__stat-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
  }
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 7 — 2026-03-09
   Accessibility focus states + final orange token correction
   ============================================================ */

/* ── 1. CONTACT CARD OFFICE DETAIL ICON — Fix orange token ──── */
/* .ag-locator__contact-card:nth-child(1) uses --ag-color-gold-400
   which the token file confirms resolves to #fb923c (orange).
   The higher specificity of nth-child beats the overhaul override.
   Add matching specificity + to correct it.           */
.ag-locator__contact-card:nth-child(1) .ag-locator__contact-detail-icon {
  color: #9a7000;
}

/* Farm card terra icon: warm terra (not the light orange fallback) */
.ag-locator__contact-card:nth-child(2) .ag-locator__contact-detail-icon {
  color: #8b5e3a;
}

/* ── 2. REGION TOGGLE — Focus-visible keyboard indicator ──────── */
/* Per CLAUDE.md: "All interactive elements need :focus-visible states"
   Region toggles are <button> elements — currently have no focus ring. */
.ag-locator__region-toggle:focus-visible {
  outline: 2px solid rgba(246, 185, 0, 0.65);
  outline-offset: 2px;
  border-color: rgba(246, 185, 0, 0.3);
  box-shadow:
    0 0 0 4px rgba(246, 185, 0, 0.1),
    0 2px 8px rgba(78, 56, 29, 0.04);
}

/* ── 3. RAIL CARD LINK — Focus-visible ("Ask the team" CTA) ───── */
.ag-locator__rail-card-link:focus-visible {
  outline: 2px solid rgba(246, 185, 0, 0.65);
  outline-offset: 3px;
  box-shadow:
    0 0 0 4px rgba(246, 185, 0, 0.12),
    0 10px 24px rgba(23, 58, 40, 0.2);
}

/* ── 4. CONTACT CTA — Focus-visible (Schedule Visit) ──────────── */
.ag-locator__contact-cta:focus-visible {
  outline: 2px solid rgba(246, 185, 0, 0.7);
  outline-offset: 3px;
  box-shadow:
    0 0 0 4px rgba(246, 185, 0, 0.14),
    0 10px 26px rgba(23, 58, 40, 0.24);
}

/* ── 5. STORE LINK — Focus-visible ("View on Map") ────────────── */
.ag-locator__store-link:focus-visible {
  outline: 2px solid rgba(246, 185, 0, 0.65);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ── 6. HERO BUTTONS — Focus-visible ──────────────────────────── */
.ag-locator__hero-btn:focus-visible {
  outline: 2px solid rgba(246, 185, 0, 0.8);
  outline-offset: 3px;
}

/* ── 7. SEARCH INPUT — Align :focus-visible with :focus override */
/* :focus was overridden to gold in iteration 4; ensure
   :focus-visible matches for keyboard-only users.                */
.ag-locator__search-input:focus-visible {
  border-color: rgba(246, 185, 0, 0.65);
  box-shadow:
    0 0 0 4px rgba(246, 185, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.ag-locator__select:focus-visible {
  border-color: rgba(246, 185, 0, 0.65);
  box-shadow:
    0 0 0 4px rgba(246, 185, 0, 0.12),
    0 2px 8px rgba(14, 62, 41, 0.04);
}

/* ── 8. CONTACT CARD SUBTITLE — Gold/terra label tones ─────────── */
/* Office card subtitle ("Headquarters"): warm gold label.
   Previous: #fdba74 (light orange token). Use dark amber.        */
.ag-locator__contact-card-icon--gold + div .ag-locator__contact-card-subtitle {
  color: #7a5e00;
}

/* ── 9. LOADING SPINNER — Forest green (not default border) ───── */
.ag-locator__loading-spinner {
  border-top-color: #173a28;
}

/* ── 10. SEARCH INPUT PLACEHOLDER — Warmer tone ────────────────── */
/* Placeholder text currently inherits generic gray.               */
.ag-locator__search-input::placeholder {
  color: rgba(122, 91, 53, 0.45);
  font-style: italic;
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 8 — 2026-03-09
   Contact glow fix, results kicker accent, mobile chain spacing
   ============================================================ */

/* ── 1. CONTACT BG GLOWS — Fix opacity bug from iteration 5 ───── */
/* Iteration 5 set .ag-locator__contact-bg { opacity: 0.65 } which
   REDUCED glow visibility on the dark forest background.
   The intent was to "amplify for dark bg" but the implementation
   reduced the wrapper opacity. Fix: restore the wrapper to 1
   and amplify the individual glow opacities instead.             */
.ag-locator__contact-bg {
  opacity: 1;
}

/* Gold ambient glow (top-right): amplify for dark forest bg.
   Original opacity: 0.12 → too subtle on dark.
   Brand gold (#F6B900) as glow color is more accurate.          */
.ag-locator__contact-glow--1 {
  background: #F6B900;
  opacity: 0.28;
}

/* Terra ambient glow (bottom-left): amplify subtly.
   Warm terra stays on-brand as a supporting accent.             */
.ag-locator__contact-glow--2 {
  opacity: 0.14;
}

/* ── 2. RESULTS KICKER — Gold line accent for section anchor ─── */
/* The "Retail map" kicker above the chain list lacks the visual
   authority of the stats-board-kicker (which has a gold ::before
   line). Adding consistent treatment makes the retail section
   feel anchored and intentional, matching the page's kicker style
   established for the stats area.                               */
.ag-locator__results-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.ag-locator__results-kicker::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 2px;
  background: linear-gradient(90deg, #F6B900 0%, rgba(246, 185, 0, 0.35) 100%);
  border-radius: 2px;
  flex-shrink: 0;
}

/* ── 3. RESULTS HEAD COPY — Tighten note legibility ────────────── */
/* The results note ("Open a region to reveal...") is useful
   instruction but was slightly too small at mobile.             */
@media (max-width: 767px) {
  .ag-locator__results-note {
    font-size: 0.875rem;
    line-height: 1.6;
    max-width: none;
  }
}

/* ── 4. MOBILE CHAIN SPACING — First chain card top margin ─────── */
/* On mobile, the chains container directly follows the results
   head with no breathing room. Add consistent margin.           */
@media (max-width: 767px) {
  .ag-locator__chains {
    margin-top: 0.75rem;
  }

  /* Chain card: tighter left border on mobile */
  .ag-locator__chain-card {
    border-radius: 0.875rem;
  }
}

/* ── 5. DISCOVERY SECTION — Top breathing before filter shell ── */
/* The stats board's border-bottom divider + filter shell creates
   the right separation, but the discovery section itself could
   benefit from a small top padding at desktop to lift the
   filter shell away from the stats boundary visually.           */
@media (min-width: 1024px) {
  .ag-locator__discovery {
    padding-top: clamp(0.5rem, 1.5vw, 1rem);
  }
}

/* ── 6. CONTACT SECTION — Clamp padding for very large screens ── */
/* At viewport widths above 1600px the contact section padding
   doesn't scale further (clamp maxes at 5.5rem). Add a max-width
   constraint on the contact-content to prevent excessive spread. */
@media (min-width: 1440px) {
  .ag-locator__contact-content {
    max-width: 1200px;
    margin-inline: auto;
  }
}

/* ── 7. GUIDE BADGE — Ensure dark amber on cream badge bg ──────── */
/* Badge uses rgba(246,185,0,0.3) border and inherits text color
   from the parent. Iteration 1 set color: #5a3e1e. The gold star
   SVG was set to #d4a000 in iteration 4. No remaining issue.    */

/* ── 8. RAIL CARD KICKER — Slightly warmer forest tone ─────────── */
/* The rail card kickers ("Three ways to search", "Retail partners",
   "Still not seeing your area?") currently use #7a5a33 (warm brown).
   A more forest-forward tone keeps them aligned with the cards'
   forest left-border identity.                                  */
.ag-locator__rail-card--guide .ag-locator__rail-card-kicker {
  color: #2e4a35;
}

.ag-locator__rail-card--partners .ag-locator__rail-card-kicker {
  color: #1e4a30;
}

.ag-locator__rail-card--contact .ag-locator__rail-card-kicker {
  color: #6b3c1c;
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 9 — 2026-03-09
   Empty state brand fix, region-name color, toggle transition
   ============================================================ */

/* ── 1. EMPTY STATE — Fix off-brand colors ───────────────────── */
/* Base empty state uses:
   - `border: 2px dashed rgba(0,0,0,0.1)` → generic black dashed border
   - `color: var(--ag-color-ink-600, #525252)` → generic gray fallback
   Both are off-brand. Replace with warm terra-brown dashed border
   and forest ink text.                                          */
.ag-locator__empty {
  border: 2px dashed rgba(122, 91, 53, 0.18);
  background: rgba(255, 252, 248, 0.85);
  border-radius: 1.4rem;
}

.ag-locator__empty-text {
  color: #3e2e1e;
  font-family: 'Fraunces', serif;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: -0.02em;
}

/* Secondary hint line below empty text (if JS inserts one) */
.ag-locator__empty p:not(.ag-locator__empty-text) {
  color: #7a6250;
  font-family: 'Crimson Text', serif;
  font-size: 1rem;
  line-height: 1.65;
  margin-top: 0.5rem;
}

/* ── 2. REGION NAME — Explicit forest color ──────────────────── */
/* The base CSS sets font-family and font-size but no explicit
   color. Relies on global inheritance. In the Shopify theme this
   can drift if global text-color is overridden by a section.
   Setting explicitly ensures the region name is always forest.  */
.ag-locator__region-name {
  color: #173a28;
  font-weight: 500;
}

/* ── 3. REGION TOGGLE — Smooth transition for border + shadow ── */
/* State changes (expanded, hover) alter border-color and shadow
   but no transition is set. Without it, the border flickers.
   Only border-color and box-shadow can be transitioned usefully
   (background gradients cannot transition reliably in CSS).     */
.ag-locator__region-toggle {
  transition:
    border-color 0.2s ease,
    box-shadow 0.18s ease;
}

/* ── 4. REGION CHEVRON — Smooth rotation on expand ──────────── */
/* If the chevron SVG rotates on expand, add a transition to it. */
.ag-locator__region-chevron {
  transition: transform 0.22s ease;
  color: #6a5840;
}

/* Expanded: chevron rotates (JS adds aria-expanded="true") */
.ag-locator__region-toggle[aria-expanded="true"] .ag-locator__region-chevron {
  transform: rotate(180deg);
  color: #173a28;
}

/* ── 5. REGION COUNT LABEL — Warmer tone ────────────────────── */
/* `.ag-locator__region-count-label` (e.g. "stores") is set to
   #8a7260 (comprehensive overhaul). Slightly warmer for legibility. */
.ag-locator__region-count-label {
  color: #7a6655;
}

/* ── 6. STORE ADDRESS/HOURS — Explicit warm ink ─────────────── */
/* Base: #5d4d40. Comprehensive overhaul: #5a4c3e (address) and
   #7a6a5c (hours). The two values are close but not exactly
   aligned. Normalize both to consistent warm ink hierarchy:
   address → mid ink, hours → light ink.                        */
.ag-locator__store-address {
  color: #4f3e30;
}

.ag-locator__store-hours {
  color: #7a6a5c;
}

/* ── 7. LOADING STATE — Ensure branded appearance ──────────────── */
/* Same container as empty state. The loading text ("Loading
   locations...") should use warm forest tone.                   */
.ag-locator__loading p {
  color: #5a4232;
  font-family: 'Crimson Text', serif;
  font-style: italic;
  font-size: 1rem;
}

/* ── 8. TABLET DISCOVERY — Ensure rail→filter vertical rhythm ── */
/* At 768-1099px, the discovery-rail is now 3-col (iteration 6).
   Below it, the filter shell follows. Ensure spacing is consistent
   between these two stacked elements.                           */
@media (min-width: 768px) and (max-width: 1099px) {
  .ag-locator__discovery-rail {
    margin-bottom: 1.5rem;
  }
}

/* ── 11. CONTACT LEFT COLUMN — Flex wrapper to collapse grid gaps  */
/* Without a wrapper, the 3 left items (eyebrow, title, desc) sit
   in separate auto grid rows sized by the 406px card grid, creating
   65-74px gaps between them. Wrapping them in a flex column with
   start alignment clusters them naturally at the top of the column. */
.ag-locator__contact-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: center;
  gap: 0;
}

/* ── 12. FARM CARD "Visit Us" subtitle — Fix low contrast on cream  */
/* terra-300 (#e8a987) is designed for dark backgrounds. Cards are
   now cream (iter 5). Use terra-700 range for readable contrast.   */
.ag-locator__contact-card-icon--terra + div .ag-locator__contact-card-subtitle {
  color: #8b5e3a;
}

/* ── 13. CONTACT TITLE — Remove bottom margin (flex gap handles it) */
.ag-locator__contact-left .ag-locator__contact-title {
  margin-bottom: 0.75rem;
}

/* ── 14. CONTACT EYEBROW — Keep natural spacing within flex ──────── */
.ag-locator__contact-left .ag-locator__contact-eyebrow {
  margin-bottom: 1rem;
  justify-content: flex-start;
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 10 — 2026-03-09
   Final pass: contact grid-row fix, dead CSS cleanup, rhythm
   ============================================================ */

/* ── 1. CONTACT GRID ROW — Fix stale grid-row: 1 / span 3 ──── */
/* The base CSS set grid-row: 1 / span 3 when eyebrow, title, and
   description were three separate grid items. The ag-locator__contact-left
   wrapper (added in 9df9687f) consolidates them into one grid item,
   making grid-row: 1 / span 3 create two unnecessary implicit empty
   rows. Override to grid-row: 1 so contact-grid sits cleanly in
   the same single row as contact-left.                         */
@media (min-width: 1100px) {
  .ag-locator__contact-grid {
    grid-row: 1;
    align-self: stretch;
  }
}

/* ── 2. CONTACT CONTENT ALIGN — Center left vs stretch right ── */
/* contact-left is centered within the row (iter 9).
   contact-grid should stretch to match the row height so card
   shadows sit at a consistent depth.                           */
@media (min-width: 1100px) {
  .ag-locator__contact-content {
    align-items: stretch;
  }

  .ag-locator__contact-left {
    justify-content: center;
  }
}

/* ── 3. CONTACT CARD GRID — Full-height container on desktop ── */
/* Cards grid fills the right column fully. Grid alignment
   within the card grid: top-align (not stretch) to prevent
   excessive card height when only one store is configured.    */
@media (min-width: 1100px) {
  .ag-locator__contact-grid {
    align-content: start;
  }
}

/* ── 4. GUIDE SECTION — Final rhythm check ──────────────────── */
/* The guide section's bottom border-color was strengthened in
   iteration 2 to rgba(122,91,53,0.14). Confirm kicker margin.  */
.ag-locator__guide-badge {
  margin-bottom: 1.1rem;
}

/* ── 5. STATS BOARD KICKER — Consistent margin with guide ────── */
.ag-locator__stats-board-kicker {
  margin-bottom: 0.75rem;
}

/* ── 6. RESULTS HEAD KICKER — Consistent with page ─────────── */
.ag-locator__filters-kicker {
  margin-bottom: 0.5rem;
}

/* ── 7. STORE ITEM TRANSITION — Smoother hover ───────────────── */
/* Store item hover changes box-shadow and transform.
   The comprehensive overhaul added these hover states (iter 2)
   but the transition was added later. Ensure it's present.    */
.ag-locator__store-item {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
/* ============================================================
   FIND AGRIKO POLISH — ITERATION 11 — 2026-03-09
   Region toggle black text → forest, further colour audit
   ============================================================ */

/* ── 1. REGION TOGGLE — Fix browser-default black text ─────── */
/* All 7 region toggles (.ag-locator__region-toggle) and their
   child spans return rgb(0,0,0) — browser default for <button>.
   Override to brand forest green throughout.                   */
.ag-locator__region-toggle,
.ag-locator__region-leading,
.ag-locator__region-trailing {
  color: var(--ag-color-forest-900, #173a28);
}

/* ── 2. REGION TOGGLE HOVER — Subtle gold accent on hover ─── */
.ag-locator__region-toggle:hover .ag-locator__region-trailing,
.ag-locator__region-toggle[aria-expanded="true"] .ag-locator__region-trailing {
  color: var(--ag-color-gold-500, #d4941a);
}

/* ── 3. ACCORDION EXPAND ICON — Forest default, gold expanded */
.ag-locator__region-toggle .ag-icon,
.ag-locator__region-icon {
  color: var(--ag-color-forest-700, #1a5e3f);
}
.ag-locator__region-toggle[aria-expanded="true"] .ag-icon,
.ag-locator__region-toggle[aria-expanded="true"] .ag-locator__region-icon {
  color: var(--ag-color-gold-500, #d4941a);
}

/* ── 4. STORE COUNT BADGE — Forest ink, not black ─────────── */
.ag-locator__region-count {
  color: var(--ag-color-forest-700, #1a5e3f);
}

/* ── 5. FILTER SELECTS — Fix browser-default black text → forest */
/* Base rule at line ~389 sets font/border/background but omits
   color. Browser default fills rgb(0,0,0) for <select> elements. */
.ag-locator__select {
  color: var(--ag-color-forest-900, #173a28);
}

.ag-locator__select option {
  color: var(--ag-color-forest-900, #173a28);
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 12 — 2026-03-09
   Comprehensive surgical refinement: hierarchy, composition,
   spacing normalisation, colour purity, section authority
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   1. OPENING BODY — GUIDE + ADVISORY CARDS + STATS
   ═══════════════════════════════════════════════════════════ */

/* ── 1a. Fix guide double-spacing (margin-bottom + padding-bottom
        both clamp(2.5rem,5vw,3.5rem) = ~7rem total visual gap).
        Keep padding-bottom for the border separation, not for spacing. */
.ag-locator__guide {
  margin-bottom: 0;
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

/* ── 1b. Fix stats-board double-spacing (same pattern) */
.ag-locator__stats-board {
  margin-bottom: 0;
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

/* ── 1c. Advisory cards: stronger border + shadow presence
        so they read as co-equal guidance, not afterthoughts.
        ITER 2 set border-left to 3px/0.3 and shadow to 0.06 —
        push both further so cards have compositional authority. */
.ag-locator__guide-note {
  border-left-color: rgba(14, 62, 41, 0.42);
  box-shadow: 0 6px 20px rgba(23, 58, 40, 0.09), 0 2px 6px rgba(23, 58, 40, 0.05);
  background: rgba(253, 250, 245, 0.99);
}

.ag-locator__guide-note--accent {
  border-left-color: rgba(160, 80, 40, 0.45);
  box-shadow: 0 6px 20px rgba(120, 55, 20, 0.1), 0 2px 6px rgba(120, 55, 20, 0.05);
  background: rgba(252, 246, 240, 0.99);
}

/* ── 1d. Advisory card labels: stronger kicker hierarchy */
.ag-locator__guide-note-label {
  font-weight: 600;
  letter-spacing: 0.13em;
}

/* ── 1e. Stats board: increase title as narrative payoff.
        ITER 2 cut it to 2rem max to prevent 5-line overflow.
        Now rebalance: stronger title + let stat numbers carry
        the payoff weight. */
.ag-locator__stats-board-title {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  max-width: 22ch;
  line-height: 1.2;
}

/* ── 1f. Stat values: slightly larger so numbers feel climactic */
.ag-locator__stat-value {
  font-size: clamp(2.2rem, 4vw, 2.75rem);
  margin-bottom: 0.3rem;
}

/* ── 1g. Stat cards: slightly stronger shadow to feel like payoff,
        not generic widgets. */
.ag-locator__stat {
  box-shadow: 0 4px 16px rgba(23, 58, 40, 0.09), 0 1px 4px rgba(23, 58, 40, 0.05);
}

/* ── 1h. Stats board: normalize kicker margin */
.ag-locator__stats-board-kicker {
  margin-bottom: 0.75rem;
}

/* ── 1i. Fix stat gold icon: broken orange token → dark gold */
.ag-locator__stat--gold .ag-locator__stat-icon {
  color: #9a7000;
  background: linear-gradient(135deg, rgba(246, 185, 0, 0.14), rgba(212, 148, 26, 0.07));
}

/* ═══════════════════════════════════════════════════════════
   2. LEFT SUPPORT RAIL — QUIETER AND MORE SECONDARY
   ═══════════════════════════════════════════════════════════ */

/* ── 2a. Rail cards: slightly reduced border and background presence
        so they feel supportive rather than competing.
        ITER 5 already removed shadow — reinforce quietness. */
.ag-locator__rail-card {
  border-color: rgba(122, 91, 53, 0.11);
  background: rgba(252, 249, 245, 0.72);
}

/* ── 2b. Rail body text: slightly muted */
.ag-locator__rail-card > p,
.ag-locator__rail-card .ag-locator__rail-card-body {
  color: rgba(80, 55, 28, 0.78);
  font-size: 0.875rem;
}

/* ── 2c. Step number badges: more subtle circle */
.ag-locator__rail-item-index {
  background: rgba(14, 62, 41, 0.06);
  color: rgba(14, 62, 41, 0.58);
  font-size: 0.75rem;
}

/* ── 2d. Partner tags: quieter pill presence */
.ag-locator__partner-tags span {
  background: rgba(255, 255, 255, 0.6);
  color: rgba(14, 62, 41, 0.68);
  border-color: rgba(14, 62, 41, 0.14);
}

/* ── 2e. "Ask the team" CTA: secondary scale — solid but not loud */
.ag-locator__rail-card-link {
  background: linear-gradient(135deg, rgba(23, 58, 40, 0.88), rgba(20, 70, 44, 0.88));
  box-shadow: 0 3px 10px rgba(14, 62, 41, 0.18);
  font-size: 0.78rem;
  padding: 0.65rem 1rem;
}

/* ── 2f. Rail list items: slightly tighter gap */
.ag-locator__rail-list {
  gap: 0.55rem;
}

/* ═══════════════════════════════════════════════════════════
   3. MAIN SEARCH PANEL — CLEAR OPERATIONAL AUTHORITY
   ═══════════════════════════════════════════════════════════ */

/* ── 3a. Filters shell: elevated above the now-quiet rail.
        Current shadow is only 0.07 — lift to create clear depth
        hierarchy between rail (no shadow) and panel (moderate depth). */
.ag-locator__filters-shell {
  border: 1.5px solid rgba(122, 91, 53, 0.18);
  box-shadow:
    0 10px 32px rgba(23, 58, 40, 0.1),
    0 3px 10px rgba(23, 58, 40, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  background: rgba(255, 253, 249, 0.99);
}

/* ── 3b. Filters shell: stronger active elevation when in use */
.ag-locator__filters-shell:has(.ag-locator__search-input:focus),
.ag-locator__filters-shell:has(.ag-locator__select:focus) {
  box-shadow:
    0 12px 36px rgba(23, 58, 40, 0.12),
    0 4px 12px rgba(23, 58, 40, 0.07),
    0 0 0 3px rgba(246, 185, 0, 0.14);
}

/* ── 3c. Filters title: clearer command presence at desktop */
.ag-locator__filters-title {
  font-size: clamp(1.55rem, 2.9vw, 2.2rem);
  letter-spacing: -0.015em;
}

/* ── 3d. Normalize filter kicker margin */
.ag-locator__filters-kicker {
  margin-bottom: 0.75rem;
}

/* ── 3e. Filters intro: slightly tighter rhythm between
        kicker → title → description before controls */
.ag-locator__filters-intro {
  gap: 0.65rem;
}

/* ── 3f. Search input: more deliberate border weight */
.ag-locator__search-input {
  border-width: 1.5px;
  border-color: rgba(14, 62, 41, 0.17);
}

/* ═══════════════════════════════════════════════════════════
   4. RETAILER PARTNER STACK — TIGHTER, MORE CURATED RHYTHM
   ═══════════════════════════════════════════════════════════ */

/* ── 4a. Chain header: tighter padding — reduces drift between
        header gradient zone and the region rows below it */
.ag-locator__chain-header {
  padding: 1.15rem 1.35rem 1rem;
}

/* ── 4b. Chain body: tighter padding so header→regions feel unified */
.ag-locator__chain-body {
  padding: 0.6rem 0.85rem 0.8rem;
}

/* ── 4c. Region toggle: slightly more compact */
.ag-locator__region-toggle {
  padding: 0.725rem 1rem;
}

/* ── 4d. Region sections: tighter stacking gap within a chain body */
.ag-locator__region-section + .ag-locator__region-section {
  margin-top: 0.45rem;
}

/* ── 4e. Chain count panel: tighter label/value spacing */
.ag-locator__chain-count-panel {
  gap: 0.25rem;
}

/* ── 4f. Chain stat pills: more compact */
.ag-locator__chain-region-stat {
  padding: 0.4rem 0.6rem;
  font-size: 0.7rem;
}

/* ── 4g. Store items within expanded panels: slightly tighter */
.ag-locator__store-item {
  padding: 0.8rem 0.95rem;
}

/* ═══════════════════════════════════════════════════════════
   5. GAISANO GRAND — HARMONIZED WARM TONE
   ═══════════════════════════════════════════════════════════ */

/* ── 5a. Gaisano header: pull slightly darker/less saturated
        toward forest system. Current ITER 6: #b05d34→#915233.
        Desaturate further: keeps warm differentiation without
        pushing too bright/orange. */
.ag-locator__chain-header--gaisano-grand {
  background: linear-gradient(135deg, #9c5030 0%, #7b3f20 100%);
}

/* ── 5b. Gaisano header glow: reduce internal ambient warmth */
.ag-locator__chain-header--gaisano-grand::before {
  opacity: 0.05;
}

/* ── 5c. Gaisano card body: slightly cooler body tint to harmonize */
.ag-locator__chain-card:has(.ag-locator__chain-header--gaisano-grand) .ag-locator__chain-body {
  background: linear-gradient(180deg,
    rgba(240, 234, 228, 0.5) 0%,
    rgba(252, 248, 244, 0.22) 100%);
}

/* ═══════════════════════════════════════════════════════════
   6. CONTACT BAND — LEFT HEADING AUTHORITY
   ═══════════════════════════════════════════════════════════ */

/* ── 6a. Contact title: larger, stronger command on dark band
        ITER 5 set to clamp(2.1rem, 4.5vw, 3.2rem).
        Push to give it more weight against the two cards. */
.ag-locator__contact-title {
  font-size: clamp(2.3rem, 5.5vw, 3.8rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: 1rem;
}

/* ── 6b. Contact description: fuller opacity + slightly warmer
        rgba(255,255,255,0.82) → 0.88 for more presence */
.ag-locator__contact-description {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.05rem;
  line-height: 1.72;
  max-width: 36ch;
}

/* ── 6c. Contact eyebrow label text: slightly more readable */
.ag-locator__contact-eyebrow span:nth-child(2) {
  font-size: 0.8rem;
  letter-spacing: 0.13em;
  color: rgba(255, 255, 255, 0.72);
}

/* ── 6d. Contact left: add right padding at desktop to push
        the cards flush while giving heading more air */
@media (min-width: 1024px) {
  .ag-locator__contact-left {
    padding-right: clamp(1.5rem, 3vw, 3rem);
  }
}

/* ── 6e. Contact card: slightly softer shadow so left heading
        isn't visually overwhelmed by card depth on the right */
.ag-locator__contact-card {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.17), 0 2px 6px rgba(0, 0, 0, 0.09);
}

/* ── 6f. LIVE BUG FIX: Contact CTA "Schedule Visit" button
        Line 947 base uses var(--ag-color-gold-500, #ea580c) = orange.
        No override existed. Fix to brand gold. */
.ag-locator__contact-cta {
  background: linear-gradient(135deg, #F6B900 0%, #d4941a 100%);
  color: #0E3E29;
  box-shadow: 0 6px 18px rgba(246, 185, 0, 0.32);
}

.ag-locator__contact-cta:hover {
  background: linear-gradient(135deg, #ffc91a 0%, #F6B900 100%);
  box-shadow: 0 8px 24px rgba(246, 185, 0, 0.42);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════
   7. WHOLE-PAGE SPACING NORMALIZATION
   ═══════════════════════════════════════════════════════════ */

/* ── 7a. Normalize all kicker margins to 0.75rem.
        Currently inconsistent: 0.45rem / 0.5rem / 0.75rem / 1rem. */
.ag-locator__guide-badge,
.ag-locator__filters-kicker,
.ag-locator__results-kicker,
.ag-locator__rail-card-kicker {
  margin-bottom: 0.75rem;
}

/* ── 7b. Section transition borders: consistent weight */
.ag-locator__guide,
.ag-locator__stats-board {
  border-bottom-color: rgba(122, 91, 53, 0.08);
}

/* ── 7c. Discovery section: consistent vertical rhythm */
.ag-locator__discovery {
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

/* ── 7d. Results section: consistent top rhythm */
.ag-locator__results {
  padding-top: clamp(2rem, 4vw, 3rem);
}

/* ── 7e. Chain + chain gap: consistent rhythm between partner blocks */
.ag-locator__chain + .ag-locator__chain {
  margin-top: 1.5rem;
}

/* ── 7f. Results head bottom margin: tighter before first chain */
.ag-locator__results-head {
  margin-bottom: 1.25rem;
}

/* ── 7g. Normalize guide-notes gap */
.ag-locator__guide-notes {
  gap: 1.1rem;
}

/* ── 7h. Store items: consistent padding across all chain bodies */
.ag-locator__region-stores {
  gap: 0.55rem;
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 13 — FINAL FINISHING
   Targeted gap-fill: column authority, section flow,
   micro-typography, interaction polish
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   A. GUIDE GRID — Meaningful advisory column authority
   ═══════════════════════════════════════════════════════════ */

/* ITER 12 set 1fr:1.08fr — barely perceptible asymmetry, advisory
   cards still feel appendage-like. Push to 1fr:1.2fr so advisory
   column is clearly wider (~54.5% vs ~45.5%). */
@media (min-width: 1024px) {
  .ag-locator__guide {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 1.2fr);
    gap: 3rem;
  }
}

/* Advisory notes: top-align within the wider right column so they
   stack naturally from the top rather than stretching to fill */
.ag-locator__guide-notes {
  align-self: start;
}

/* ═══════════════════════════════════════════════════════════
   B. STATS → GUIDE CONNECTION — Stats as payoff, not new chapter
   ═══════════════════════════════════════════════════════════ */

/* The guide section border-bottom creates a hard chapter break.
   Replace with a transparent border so the bottom padding still
   provides breathing room without a visual wall. */
.ag-locator__guide {
  border-bottom-color: transparent;
}

/* Stats board: reduce top padding so it sits closer to the guide
   content above, reading as the climax of the opening sequence. */
.ag-locator__stats-board {
  padding-top: clamp(1.25rem, 2.5vw, 2rem);
}

/* Add a faint top rule to stats board itself: clean boundary
   without the heavy chapter-break feel of the guide bottom border */
.ag-locator__stats-board {
  border-top: 1px solid rgba(122, 91, 53, 0.08);
}

/* ═══════════════════════════════════════════════════════════
   C. CONTACT BAND — Left column authority
   ═══════════════════════════════════════════════════════════ */

/* Override 0.65fr:1.35fr (left = 32.5%) → 0.72fr:1.28fr (left = 36%).
   Meaningful improvement in heading presence without collapsing
   the card grid on the right. */
@media (min-width: 1100px) {
  .ag-locator__contact-content {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    column-gap: 2.5rem;
  }
}

/* Contact left: vertical centering when band height exceeds content */
@media (min-width: 1100px) {
  .ag-locator__contact-left {
    justify-content: center;
  }
}

/* ═══════════════════════════════════════════════════════════
   D. FILTER HUB — Search panel hierarchy tightening
   ═══════════════════════════════════════════════════════════ */

/* Filter description: quieter so the title dominates the panel.
   Matches the rail body muting strategy from section 2. */
.ag-locator__filters-description {
  color: rgba(80, 55, 28, 0.7);
  font-size: 0.9rem;
  max-width: 46ch;
}

/* ═══════════════════════════════════════════════════════════
   E. RETAILER STACK — Final cadence details
   ═══════════════════════════════════════════════════════════ */

/* Chain cards: uniform border-radius so Metro / Gaisano / PureGold
   all feel like siblings from the same visual family */
.ag-locator__chain-card {
  border-radius: 10px;
  overflow: hidden;
}

/* Chain name: consistent size so no brand reads as more important
   than others based on font-size alone */
.ag-locator__chain-name {
  font-size: clamp(0.925rem, 1.4vw, 1.05rem);
}

/* ═══════════════════════════════════════════════════════════
   F. MICRO-TYPOGRAPHY — Stat labels and section kickers
   ═══════════════════════════════════════════════════════════ */

/* Stat labels: uppercase tracking makes them clear metric legends */
.ag-locator__stat-label {
  letter-spacing: 0.08em;
  font-size: 0.68rem;
  text-transform: uppercase;
}

/* Discovery → results transition: subtle top border marks the
   shift from browsing filters to seeing results */
.ag-locator__results {
  border-top: 1px solid rgba(122, 91, 53, 0.07);
}

/* ═══════════════════════════════════════════════════════════
   G. INTERACTION POLISH — Consistent transition timing
   ═══════════════════════════════════════════════════════════ */

/* Normalize all interactive element transitions to 180ms ease-out */
.ag-locator__region-toggle,
.ag-locator__store-item,
.ag-locator__contact-cta,
.ag-locator__chain-card {
  transition-property: background, box-shadow, border-color, transform;
  transition-duration: 180ms;
  transition-timing-function: ease-out;
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 14 — FINAL FINISHING PASS
   Critical bug fixes + compositional resolution + rhythm
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   A. CRITICAL BUG FIXES — White text on cream contact band
   ═══════════════════════════════════════════════════════════ */

/* ITER 12 section 6b–6c incorrectly set white/near-white colors
   on elements that sit on a CREAM background (the contact section
   was redesigned to cream by the comprehensive overhaul at ~line
   1588). rgba(255,255,255,0.88) and rgba(255,255,255,0.72) are
   near-invisible on #f6eee2–#efe1cf. Restore readable dark tones
   that were correct before ITER 12 overrode them. */

/* Contact description: was correctly #5a4233 (Polish improvements
   line ~2904). ITER 12 changed to white. Restore. */
.ag-locator__contact-description {
  color: #5a4233;
}

/* Contact eyebrow label: was correctly #5a3e20 (Polish improvements
   line ~2884). ITER 12 changed to rgba(255,255,255,0.72). Restore. */
.ag-locator__contact-eyebrow span:nth-child(2) {
  color: #5a3e20;
}

/* ═══════════════════════════════════════════════════════════
   B. CONTACT CARD — Warm shadows on cream background
   ═══════════════════════════════════════════════════════════ */

/* ITER 12 section 6e set "softer" shadow using cold black
   rgba(0,0,0,0.17). Cold black on cream cards looks wrong —
   the card is cream on cream, black shadow reads as grimy.
   Restore the warm shadow system from the comprehensive overhaul
   (line ~1671: rgba(75,54,29,0.08)) which is appropriate for
   warm cream-on-cream surface relationships. */
.ag-locator__contact-card {
  box-shadow:
    0 6px 20px rgba(75, 54, 29, 0.09),
    0 2px 6px rgba(75, 54, 29, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.ag-locator__contact-card:hover {
  box-shadow:
    0 14px 36px rgba(75, 54, 29, 0.12),
    0 4px 10px rgba(75, 54, 29, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  border-color: rgba(122, 91, 53, 0.22);
}

/* ═══════════════════════════════════════════════════════════
   C. CONTACT TITLE — Allow natural text flow at larger scale
   ═══════════════════════════════════════════════════════════ */

/* Polish improvements section set max-width: 10ch on contact-title
   (line ~2896). With ITER 12 pushing font-size to
   clamp(2.3rem, 5.5vw, 3.8rem), 10ch ≈ 380px forces very tight
   line breaks in the left column (~432px at 1200px container).
   At desktop the column width naturally constrains the heading.
   Remove max-width so the title flows to 2 lines only when the
   content requires it, not because of a fixed ch constraint. */
@media (min-width: 1100px) {
  .ag-locator__contact-title {
    max-width: none;
  }
}

/* ═══════════════════════════════════════════════════════════
   D. OPENING GUIDE — Internal composition tightening
   ═══════════════════════════════════════════════════════════ */

/* Guide-copy internal gap: reduce from 0.8rem to 0.65rem so the
   badge / heading / description read as one editorial block.
   The slight reduction pulls them together without merging,
   giving the wider advisory column (1.2fr) more breathing room
   by comparison — reinforcing right-column authority. */
.ag-locator__guide-copy {
  gap: 0.65rem;
}

/* Advisory notes: tighten to 0.875rem from 0.9rem (ITER 12/13).
   The 0.025rem difference is invisible alone; combined with the
   guide-copy tightening, it makes the right column feel like a
   curated twosome, not two separate cards. */
.ag-locator__guide-notes {
  gap: 0.875rem;
}

/* ═══════════════════════════════════════════════════════════
   E. STATS → DISCOVERY FLOW — Normalize section transition gap
   ═══════════════════════════════════════════════════════════ */

/* Stats-board padding-bottom: currently clamp(2.5rem,5vw,3.5rem)
   (ITER 12). Discovery padding-top: also clamp(2.5rem,5vw,3.5rem).
   Combined max gap: ~7rem between the two sections — noticeably
   larger than guide→stats (~5.5rem). Normalize: reduce
   stats-board padding-bottom so both transitions read at ~5rem. */
.ag-locator__stats-board {
  padding-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}

/* ═══════════════════════════════════════════════════════════
   F. FILTER PANEL — Stronger intro-to-controls separation
   ═══════════════════════════════════════════════════════════ */

/* Filter intro margin-bottom: 1.1rem (Polish improvements section)
   creates the gap between editorial intro and search controls.
   Increase to 1.5rem to give the controls more compositional
   clarity — this is the operational center of the page and the
   controls should emerge cleanly from below the intro text. */
.ag-locator__filters-intro {
  margin-bottom: 1.5rem;
}

/* Search icon: warm forest tone replaces generic ink-400 gray.
   Reinforces that this is a purposeful, premium search field. */
.ag-locator__search-icon {
  color: rgba(23, 58, 40, 0.4);
}

/* ═══════════════════════════════════════════════════════════
   G. DISCOVERY RAIL — Tighter card grouping
   ═══════════════════════════════════════════════════════════ */

/* Rail card gap: tighten from 1rem to 0.875rem so the three
   advisory cards (guide, partners, contact) read as one cohesive
   secondary system, not three separately placed items. */
.ag-locator__discovery-rail {
  gap: 0.875rem;
}

/* ═══════════════════════════════════════════════════════════
   H. RETAILER STACK — Chain header note readability
   ═══════════════════════════════════════════════════════════ */

/* Chain note text: the description inside each chain card header
   (on the dark colored header) uses rgba(255,255,255,0.88) from
   the JS-rendered element styles. This is correct for the dark
   header. But line-height 1.65 can feel dense. Increase slightly
   for readability at this small size. */
.ag-locator__chain-note {
  line-height: 1.68;
  font-size: 0.975rem;
}

/* ═══════════════════════════════════════════════════════════
   I. CONTACT BAND — Mobile section separator
   ═══════════════════════════════════════════════════════════ */

/* At mobile/tablet, the contact-left (heading + description) stacks
   above the card grid. Without a separator, they flow together
   without a clear "here ends the authority block, here begin the
   cards" moment. Add a subtle warm rule to close the left block. */
@media (max-width: 1099px) {
  .ag-locator__contact-left {
    padding-bottom: 1.75rem;
    border-bottom: 1px solid rgba(122, 91, 53, 0.12);
    margin-bottom: 0.5rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   J. WHOLE-PAGE FINISHING — Micro-typography and interaction
   ═══════════════════════════════════════════════════════════ */

/* Store item hover: warm lift on a cream card matches the page's
   warm-shadow system. Strengthens interaction feedback. */
.ag-locator__store-item:hover {
  box-shadow:
    0 8px 20px rgba(75, 54, 29, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  transform: translateY(-1px);
}

/* Region stores: slightly tighter gap so expanded store items
   within each region read as a dense, scannable list. */
.ag-locator__region-stores {
  gap: 0.5rem;
}

/* Stats board: normalize copy gap to match guide-copy's 0.65rem
   so both editorial blocks have the same internal rhythm. */
.ag-locator__stats-board-copy {
  gap: 0.65rem;
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 15 — CONTACT COLOR HOTFIX
   ITER 14 section A/B incorrectly assumed the contact band was
   cream. ITER 5 (line 3309) explicitly restores it to dark
   forest gradient. ITER 14's dark-brown text (#5a4233, #5a3e20)
   is near-invisible on #0e3e29. Restore white for legibility.
   ============================================================ */

/* A. CONTACT TEXT — Restore white on dark forest */
/* ITER 14 incorrectly set #5a4233 and #5a3e20 (dark brown).
   Background is confirmed dark forest (ITER 5 line 3309).
   Restore ITER 12's white values which were correct. */
.ag-locator__contact-description {
  color: rgba(255, 255, 255, 0.88);
}

.ag-locator__contact-eyebrow span:nth-child(2) {
  color: rgba(255, 255, 255, 0.72);
}

/* B. CONTACT CARD SHADOWS — Dark-bg appropriate depth */
/* ITER 14 set warm terra shadows (rgba(75,54,29,0.09)) appropriate
   for cream-on-cream. Cards on a dark forest bg need stronger black
   shadows so they read clearly. Restore ITER 12's deeper values. */
.ag-locator__contact-card {
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.17),
    0 2px 6px rgba(0, 0, 0, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 1);
}

.ag-locator__contact-card:hover {
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.22),
    0 4px 10px rgba(0, 0, 0, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  border-color: rgba(246, 185, 0, 0.22);
}

/* C. MOBILE SEPARATOR — Light rule on dark bg */
/* ITER 14 section I set rgba(122,91,53,0.12) — warm brown barely
   visible on dark forest. Use white-translucent instead. */
@media (max-width: 1099px) {
  .ag-locator__contact-left {
    border-bottom-color: rgba(255, 255, 255, 0.12);
  }
}

/* D. STORE LINK HOVER — Brand gold (color audit finding E)
   Lines 2463-2465 set #b05d34 (terra); line 2869-2871 overrode to
   #9a7400 (dark olive-gold). Neither is brand gold. Fix to #f6b900. */
.ag-locator__store-link:hover {
  color: #f6b900;
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 16 — FINAL COHERENCE PASS
   Section rhythm normalization, search panel hierarchy fix,
   guide description balance, retailer cadence tightening.
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   A. SEARCH PANEL DESCRIPTION — Dead CSS repair
   ═══════════════════════════════════════════════════════════ */
/* ITER 13 section D targeted .ag-locator__filters-description
   but the HTML uses .ag-locator__filters-text (main-locator.liquid
   line 192). The filter intro text never received the quieting
   treatment intended for search-panel hierarchy. Apply now. */
.ag-locator__filters-text {
  color: rgba(80, 55, 28, 0.72);
}

/* ═══════════════════════════════════════════════════════════
   B. DISCOVERY SECTION — Normalize top padding to match
   guide→stats gap
   ═══════════════════════════════════════════════════════════ */
/* Guide→stats combined gap at 1440px:
     guide padding-bottom 3.5rem + stats padding-top 2rem = 5.5rem.
   Stats→discovery combined gap at 1440px:
     stats padding-bottom 2.75rem + discovery padding-top 3.5rem = 6.25rem.
   Discovery gap is 14% wider. Normalize to 5.5rem for even rhythm. */
.ag-locator__discovery {
  padding-top: clamp(1.75rem, 3.5vw, 2.75rem);
}

/* ═══════════════════════════════════════════════════════════
   C. GUIDE DESCRIPTION — Slightly muted for heading primacy
   ═══════════════════════════════════════════════════════════ */
/* Current: hard #5a4c3e equivalent at full opacity. Light
   transparency reinforces the heading as the primary read,
   description as supporting context. */
.ag-locator__guide-description {
  color: rgba(90, 76, 62, 0.84);
  max-width: 34ch;
}

/* ═══════════════════════════════════════════════════════════
   D. RETAILER STACK — Tighter chain-to-chain cadence
   ═══════════════════════════════════════════════════════════ */
/* Each chain card + region rows reads as one contained unit.
   1.5rem (ITER 12) creates slightly loose inter-block rhythm.
   1.25rem tightens the stack cadence while keeping clear
   separation between retailer blocks. */
.ag-locator__chain + .ag-locator__chain {
  margin-top: 1.25rem;
}

/* ═══════════════════════════════════════════════════════════
   E. RESULTS HEAD — Tighter heading-to-first-chain connection
   ═══════════════════════════════════════════════════════════ */
/* 1.25rem margin-bottom (ITER 12) between "Where Agriko is
   stocked right now." and the first chain card. Reduce to 1rem
   so the section heading reads as an intro to the stack,
   not a separate floating element. */
.ag-locator__results-head {
  margin-bottom: 1rem;
}

/* ═══════════════════════════════════════════════════════════
   F. MOBILE STAT CARDS — Tighter internal padding
   ═══════════════════════════════════════════════════════════ */
/* At <600px stat cards stack single-column. The 1.75rem padding
   (ITER 2) is generous for mobile. Tighten for density. */
@media (max-width: 599px) {
  .ag-locator__stat {
    padding: 1.25rem 1rem;
  }
  .ag-locator__stat-icon {
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.6rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   G. GUIDE SECTION — Top alignment for both columns at desktop
   ═══════════════════════════════════════════════════════════ */
/* ITER 1 (line 2734) set align-items: center on the guide grid.
   ITER 13 added align-self: start on guide-notes (right col).
   This creates vertical asymmetry: left copy centered, right
   notes at top. Both should start from top for natural reading
   flow: badge → heading → description down the left, cards
   stacked from top on the right. */
@media (min-width: 1024px) {
  .ag-locator__guide {
    align-items: start;
  }
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 17 — RESPONSIVE + CONTACT
   Guide 2-column at tablet; contact left column authority.
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   A. GUIDE SECTION — 2-COLUMN AT TABLET (768–1023px)
   ═══════════════════════════════════════════════════════════ */
/* Below 1024px, guide is single-column: copy stacks above notes.
   At 768–1023px (tablet), there is enough width to show advisory
   notes beside the copy — mirrors the desktop intent and gets
   users to the stats/search sections faster. */
@media (min-width: 768px) and (max-width: 1023px) {
  .ag-locator__guide {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 1fr);
    gap: 2rem;
    align-items: start;
  }
  .ag-locator__guide-notes {
    align-self: start;
  }
}

/* ═══════════════════════════════════════════════════════════
   B. CONTACT BAND — Increase left column authority
   ═══════════════════════════════════════════════════════════ */
/* ITER 13 section C set 0.72fr : 1.28fr (36% left / 64% right).
   Responsive QA agent confirmed this as a remaining imbalance.
   Push to 0.8fr : 1.2fr (40% / 60%) for stronger heading presence
   without collapsing the card grid. */
@media (min-width: 1100px) {
  .ag-locator__contact-content {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  }
}

/* ============================================================
   FIND AGRIKO POLISH — ITERATION 18 — FINAL RESOLUTION
   Four surgical fixes: guide→stats proximity, mobile heading
   authority, search hub title weight, note label legibility.
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   A. GUIDE → STATS TRANSITION — Tighten the opening sequence
   ═══════════════════════════════════════════════════════════ */

/* Guide section padding-bottom drives the gap before the stats
   board. The comprehensive overhaul set clamp(2.5rem,5vw,3.5rem).
   ITER 13B removed the guide border-bottom but left the gap intact.
   At 1440px: 3.5rem (~56px) + stats padding-top 2rem = 5.5rem.
   Pull guide padding-bottom to match the now-quieter section break
   and bring stats closer to their editorial setup. */
.ag-locator__guide {
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* Stats board: reduce top padding slightly so it reads as a direct
   continuation of the guide copy, not a new chapter. The faint top
   border (ITER 13B) remains to signal zone shift without a wall. */
.ag-locator__stats-board {
  padding-top: clamp(1rem, 2vw, 1.5rem);
}

/* ═══════════════════════════════════════════════════════════
   B. MOBILE GUIDE HEADING — Authority floor at 390px
   ═══════════════════════════════════════════════════════════ */

/* Current: clamp(1.75rem, 3vw, 2.6rem). At 390px: 3vw = 11.7px
   so the min always applies → 1.75rem = 28px. Insufficient for
   the editorial anchor role of "A more considered way to find
   Agriko on the shelf." at narrow viewport. Lift floor to 2rem. */
.ag-locator__guide-title {
  font-size: clamp(2rem, 3vw, 2.6rem);
}

/* ═══════════════════════════════════════════════════════════
   C. SEARCH HUB TITLE — Operational center authority
   ═══════════════════════════════════════════════════════════ */

/* ITER 13 (3c) set clamp(1.55rem, 2.9vw, 2.2rem). At 1440px:
   2.9vw = 41.76px → capped at 2.2rem = 35.2px. For the primary
   operational hub of the page this is slightly modest relative to
   the guide and stats headings. Push ceiling to 2.4rem so the
   search title clearly announces itself as the functional centre.
   Floor/preferred stay the same for smaller viewports. */
.ag-locator__filters-title {
  font-size: clamp(1.55rem, 2.9vw, 2.4rem);
}

/* ═══════════════════════════════════════════════════════════
   D. GUIDE NOTE LABEL — Legible card heading at small size
   ═══════════════════════════════════════════════════════════ */

/* ITER 1 (line ~2830) set rail-card-kicker to 0.69rem, and a
   secondary rule applied the same to note labels. At 0.69rem
   the tip headings ("Look for the harvest date", etc.) read as
   captions rather than card headings. Lift to 0.82rem so they
   assert guidance authority without competing with the guide
   heading in the left column. */
.ag-locator__guide-note-label {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  color: #4a3520;
}

/* ============================================================
   FIND AGRIKO — FINAL MICRO-POLISH (BODY ONLY)
============================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide {
  margin-bottom: clamp(3rem, 6vw, 4.25rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide-note {
  padding: 1.65rem 1.7rem 1.55rem 1.8rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide-note-label {
  color: #614428;
  font-weight: 700;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats {
  gap: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat {
  padding: 1.5rem 1.45rem 1.3rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-icon {
  margin-bottom: 0.75rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-value {
  font-size: clamp(2.2rem, 4.2vw, 3rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-label {
  color: #2f332e;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-sub {
  color: #5a4a3e;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-intro {
  margin-bottom: 1.45rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input,
body.template-page[data-page-handle="find-agriko"] .ag-locator__select {
  min-height: 3.35rem;
  border-color: rgba(110, 80, 50, 0.25);
  box-shadow:
    0 6px 14px rgba(70, 50, 30, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
  margin-top: clamp(2.1rem, 4vw, 2.8rem);
  padding-top: clamp(1.25rem, 2.5vw, 1.6rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary {
  color: #5a4a3e;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-note {
  color: #6b5a4c;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header {
  padding: 1.55rem 1.7rem 1.35rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker-row {
  margin-bottom: 0.65rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker {
  color: #ffffff;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-title {
  font-size: clamp(1.7rem, 3.1vw, 2.2rem);
  font-weight: 500;
  margin-bottom: 0.35rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-note {
  color: rgba(255, 255, 255, 0.94);
  font-size: 1.06rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-panel {
  align-self: flex-start;
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.18);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-region-stat {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-region-name {
  color: rgba(255, 255, 255, 0.88);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-region-count {
  color: #ffffff;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-body {
  padding: 0.95rem 1.1rem 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-item {
  padding: 1.15rem 1.15rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-main {
  gap: 0.3rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-address,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-hours {
  line-height: 1.6;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description {
  color: #3f3327;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-grid {
  align-items: stretch;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card {
  padding: 1.75rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-label {
  color: #7a604b;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta {
  font-size: 0.8rem;
  box-shadow: 0 18px 36px rgba(23, 58, 40, 0.3);
}

@media (min-width: 1100px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-content {
    column-gap: 1.85rem;
  }
}

/* ============================================================
   FIND AGRIKO — BODY POLISH PASS (BODY ONLY)
   Keep hero/footer unchanged; tighten rhythm, cards, and controls.
============================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator__main {
  padding: clamp(4rem, 7.5vw, 6.5rem) 0 clamp(4.75rem, 8vw, 7.5rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide {
  gap: clamp(1.75rem, 3vw, 2.6rem);
  margin-bottom: clamp(3.25rem, 6.5vw, 4.75rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide-copy {
  max-width: 36rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide-description {
  font-size: 1.12rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide-notes {
  gap: 1.15rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide-note {
  padding: 1.55rem 1.6rem 1.45rem 1.7rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__guide-note-label {
  color: #6f4f2f;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
  gap: clamp(1.6rem, 3vw, 2.3rem);
  margin-bottom: clamp(2.6rem, 5vw, 3.6rem);
}

@media (min-width: 1024px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
    opacity: 0.92;
  }
  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-copy {
    max-width: 40rem;
  }
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats {
  gap: 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat {
  min-height: 10.25rem;
  padding: 1.25rem 1.25rem 1.15rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-value {
  font-size: clamp(1.85rem, 3.2vw, 2.45rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-label {
  font-size: 0.92rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-sub {
  font-size: 1.02rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery {
  gap: clamp(1.75rem, 3.5vw, 2.6rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail {
  gap: 1.2rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card {
  padding: 1.5rem 1.5rem 1.4rem 1.7rem;
  border-radius: 0.5rem 1.3rem 1.3rem 0.5rem;
}

body.template-page[data-page-handle="find-agriko"] details.ag-locator__rail-card {
  padding: 1.15rem 1.25rem 1.05rem 1.4rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  cursor: pointer;
  list-style: none;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-summary::-webkit-details-marker {
  display: none;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-chevron {
  flex: 0 0 auto;
  opacity: 0.8;
  transform: rotate(0deg);
  transition: transform 200ms ease, opacity 200ms ease;
}

body.template-page[data-page-handle="find-agriko"] details.ag-locator__rail-card[open] .ag-locator__rail-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

body.template-page[data-page-handle="find-agriko"] details.ag-locator__rail-card:not([open]) .ag-locator__rail-list {
  display: none;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-text {
  font-size: 1.02rem;
  color: #423428;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-link {
  padding: 0.95rem 1.3rem;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  box-shadow: 0 16px 30px rgba(23, 58, 40, 0.22);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell {
  padding: clamp(1.6rem, 3.2vw, 2.45rem);
  border-radius: 1.7rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-intro {
  gap: 0.9rem;
  margin-bottom: 1.25rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-text {
  font-size: 1.05rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input,
body.template-page[data-page-handle="find-agriko"] .ag-locator__select {
  min-height: 3.2rem;
  font-size: 0.98rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input {
  padding-left: 3rem;
  padding-right: 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__select {
  padding-inline: 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  border-top: 1px solid rgba(122, 91, 53, 0.16);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary {
  font-size: 0.95rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chains {
  gap: 1.6rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-card {
  border-radius: 1.7rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header {
  padding: 1.7rem 1.7rem 1.55rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker-row {
  gap: 0.6rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-note {
  font-size: 1.05rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-panel {
  padding: 0.55rem 0.9rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-region-stat {
  align-items: center;
  gap: 0.35rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-body {
  padding: 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-toggle {
  padding: 1.05rem 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-name {
  font-size: 1.12rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-stores.is-open {
  gap: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-item {
  padding: 1.05rem 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-name {
  font-size: 1.08rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-address,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-hours {
  font-size: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-content {
  gap: 1.25rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description {
  font-size: 1.08rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-grid {
  gap: 1.4rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1.85rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-details {
  gap: 0.9rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-label {
  letter-spacing: 0.08em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta {
  min-height: 3.2rem;
  padding-inline: 1.45rem;
  box-shadow: 0 18px 34px rgba(23, 58, 40, 0.28);
}

@media (max-width: 1023px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__guide {
    gap: 1.6rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__main {
    padding: clamp(3.5rem, 10vw, 4.75rem) 0 clamp(4rem, 11vw, 5.5rem);
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell {
    padding: 1.4rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__filters {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
    margin-top: 2rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card {
    padding: 1.6rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 430px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card {
    padding: 1.3rem 1.25rem 1.2rem 1.45rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header {
    padding: 1.5rem;
  }
}

/* ============================================================================
   FIND AGRIKO — POLISH PASS (April 2026)
   Micro-interactions, hover states, visual depth, transition smoothness.
   ============================================================================ */

/* 1. REGION ACCORDION ROWS — hover highlight + arrow nudge */
.ag-locator__region-row {
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ag-locator__region-row:hover {
  background: rgba(14, 62, 41, 0.04);
  border-color: rgba(14, 62, 41, 0.18);
}

.ag-locator__region-row:hover .ag-locator__region-arrow,
.ag-locator__region-row:hover svg:last-child {
  color: #b05e34;
}

/* 2. CHAIN HEADER CARDS — subtle hover lift */
.ag-locator__chain-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ag-locator__chain-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12);
}

/* 3. STATS CARDS (57 locations, 3 regions, 100%) — hover lift */
.ag-locator__glance-card,
.ag-locator .ag-locator__stat {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ag-locator__glance-card:hover,
.ag-locator .ag-locator__stat:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

/* 4. SEARCH INPUT — warm focus ring */
.ag-locator__search-input:focus {
  border-color: rgba(176, 94, 52, 0.38);
  box-shadow: 0 0 0 4px rgba(176, 94, 52, 0.1), inset 0 1px 3px rgba(176, 94, 52, 0.04);
  background: rgba(255, 253, 249, 1);
}

/* 5. SIDEBAR "HOW IT WORKS" STEPS — hover highlight */
.ag-locator__rail-step,
.ag-locator__sidebar-step,
.ag-locator__rail-item {
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.ag-locator__rail-step:hover,
.ag-locator__sidebar-step:hover,
.ag-locator__rail-item:hover {
  background: rgba(14, 62, 41, 0.04);
  transform: translateX(2px);
}

/* 6. RETAIL PARTNER PILLS — hover accent */
.ag-locator__rail-partner-pill,
.ag-locator__sidebar-pill,
.ag-locator__partner-tags span {
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  cursor: pointer;
}

.ag-locator__rail-partner-pill:hover,
.ag-locator__sidebar-pill:hover,
.ag-locator__partner-tags span:hover {
  background: rgba(14, 62, 41, 0.08);
  border-color: rgba(14, 62, 41, 0.2);
  transform: translateY(-1px);
}

/* 7. CONTACT CARDS (Main Office / Farm) — hover lift */
.ag-locator__contact-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.ag-locator__contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
}

/* 8. "SCHEDULE FARM VISIT" BUTTON — hover enhancement */
.ag-locator__contact-cta,
.ag-locator__farm-cta {
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.ag-locator__contact-cta:hover,
.ag-locator__farm-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(246, 185, 0, 0.35);
}

/* 9. "ASK THE TEAM" BUTTON — hover fill */
.ag-locator__rail-cta,
.ag-locator__sidebar-cta {
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.ag-locator__rail-cta:hover,
.ag-locator__sidebar-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(14, 62, 41, 0.18);
}

/* 10. SELECT DROPDOWNS — focus state */
.ag-locator__select:focus {
  border-color: rgba(176, 94, 52, 0.35);
  box-shadow: 0 0 0 4px rgba(176, 94, 52, 0.08);
}

/* 11. STORE LOCATION ROWS (expanded) — hover highlight */
.ag-locator__store-row,
.ag-locator__branch-row {
  transition: background-color 0.2s ease;
}

.ag-locator__store-row:hover,
.ag-locator__branch-row:hover {
  background: rgba(14, 62, 41, 0.03);
}

/* 12. MAP LINK — hover arrow nudge */
.ag-locator__map-link {
  transition: color 0.2s ease;
}

.ag-locator__map-link:hover {
  color: #b05e34;
}

.ag-locator__map-link:hover svg,
.ag-locator__map-link:hover::after {
  transform: translateX(3px);
  transition: transform 0.2s ease;
}

/* 13. CONTACT SECTION — warmer background transition */
.ag-locator__contact {
  position: relative;
}



/* 14. GLANCE SECTION — icon hover scale */
.ag-locator__glance-icon {
  transition: transform 0.3s ease;
}

.ag-locator__glance-card:hover .ag-locator__glance-icon,
.ag-locator .ag-locator__stat:hover .ag-locator__stat-icon {
  transform: scale(1.1);
}

/* 15. REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  .ag-locator__region-row,
  .ag-locator__chain-card,
  .ag-locator__glance-card,
  .ag-locator .ag-locator__stat,
  .ag-locator__rail-step,
  .ag-locator__sidebar-step,
  .ag-locator__rail-item,
  .ag-locator__rail-partner-pill,
  .ag-locator__sidebar-pill,
  .ag-locator__partner-tags span,
  .ag-locator__contact-card,
  .ag-locator__contact-cta,
  .ag-locator__farm-cta,
  .ag-locator__rail-cta,
  .ag-locator__sidebar-cta,
  .ag-locator__store-row,
  .ag-locator__branch-row,
  .ag-locator__glance-icon {
    transition: none !important;
  }

  .ag-locator__chain-card:hover,
  .ag-locator__glance-card:hover,
  .ag-locator .ag-locator__stat:hover,
  .ag-locator__contact-card:hover,
  .ag-locator__contact-cta:hover,
  .ag-locator__farm-cta:hover,
  .ag-locator__rail-item:hover,
  .ag-locator__partner-tags span:hover,
  .ag-locator__rail-cta:hover,
  .ag-locator__sidebar-cta:hover {
    transform: none !important;
  }
}

/* ============================================================================
   FIND AGRIKO — SPACING RHYTHM & CARD TREATMENTS POLISH (April 2026)
   Body sections only. No hero, header, or footer changes.
   ============================================================================ */

/* ── 1. SIDEBAR CARD GAPS — Consistent spacing between the 3 rail cards
   ("How It Works", "Retail Partners", "Still Not Seeing Your Area?").
   The discovery-rail gap was set to 0.875rem (iter 13 G). Tighten to
   0.75rem so the three cards read as a tightly coupled sidebar unit. ── */
.ag-locator__discovery-rail {
  gap: 0.75rem;
}

/* ── 2. CHAIN HEADER → REGION LIST TRANSITION — Tighter coupling
   The chain-body (region accordion container) sits below the dark
   green/terra header card. Reduce its top padding so the region list
   feels directly attached to the header rather than floating below. ── */
.ag-locator__chain-body {
  padding-top: 0.65rem;
}

/* Also tighten the first region-toggle's top margin within the body
   so the first accordion row hugs closer to the header. */
.ag-locator__region-section:first-child .ag-locator__region-toggle {
  margin-top: 0.15rem;
}

/* ── 3. CONTACT CARDS — Equal visual weight between Office and Farm
   Both cards use flex-column + min-height:100% (already set). Ensure
   internal header-to-details spacing is identical, and the card-note
   block (only on Farm card) doesn't add unbalanced bottom weight. ── */
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-header {
  margin-bottom: 1.15rem;
}

/* Normalize the note block margin so it sits flush with the details
   rhythm rather than adding extra gap at the bottom of the Farm card. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-note {
  margin-top: 0.85rem;
  margin-bottom: 0;
}

/* Push the CTA to the card bottom with auto-margin so both cards'
   buttons align at the same vertical position regardless of content. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta,
body.template-page[data-page-handle="find-agriko"] .ag-locator__farm-cta {
  margin-top: auto;
}

/* ── 4. SEARCH BAR → RESULTS HEAD — Tighter transition
   Current: margin-top clamp(2.1rem,4vw,2.8rem) + padding-top
   clamp(1.25rem,2.5vw,1.6rem) = ~3.35-4.4rem combined gap.
   Reduce margin-top so the "RETAIL MAP" heading follows more
   naturally from the search controls. ── */
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
  margin-top: clamp(1.75rem, 3.5vw, 2.25rem);
  padding-top: clamp(1rem, 2vw, 1.35rem);
}

/* ── 5. REGION ACCORDION ROWS — Subtle hover lift
   Existing hover adds background tint + border-color shift (April
   polish pass #1 + iter 8 #4). Add a -1px translateY for a gentle
   lift that reinforces interactivity without being distracting. ── */
.ag-locator__region-toggle:hover {
  transform: translateY(-1px);
  transition: background-color 0.2s ease, border-color 0.2s ease,
              box-shadow 0.2s ease, transform 0.2s ease;
}

/* Reset lift on expanded state so it doesn't fight open styling */
.ag-locator__region-toggle[aria-expanded="true"] {
  transform: translateY(0);
}

/* ── REDUCED MOTION — Disable the new hover lift ── */
@media (prefers-reduced-motion: reduce) {
  .ag-locator__region-toggle:hover {
    transform: none !important;
    transition: none !important;
  }
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery {
  gap: clamp(1.5rem, 3vw, 2.2rem);
}

@media (min-width: 1100px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery {
    grid-template-columns: minmax(0, 1fr) minmax(15.75rem, 0.34fr);
  }
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card {
  padding: 1.25rem 1.2rem 1.15rem 1.35rem;
  border-left-color: rgba(23, 58, 40, 0.14);
  border-radius: 0.5rem 1.15rem 1.15rem 0.5rem;
  background: linear-gradient(180deg, rgba(252, 249, 245, 0.82), rgba(246, 239, 230, 0.68));
  border-color: rgba(122, 91, 53, 0.09);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-text {
  font-size: 0.96rem;
  line-height: 1.58;
  color: rgba(71, 58, 45, 0.9);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item {
  gap: 0.75rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item-index {
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.75rem;
  background: rgba(14, 62, 41, 0.05);
  color: rgba(14, 62, 41, 0.62);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__partner-tags span {
  padding: 0.38rem 0.7rem;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  background: rgba(255, 255, 255, 0.52);
  color: rgba(14, 62, 41, 0.78);
  border-color: rgba(14, 62, 41, 0.1);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-link {
  padding: 0.82rem 1.1rem;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  box-shadow: 0 12px 24px rgba(23, 58, 40, 0.16);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-copy {
  display: grid;
  gap: 0.45rem;
  max-width: 36rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
  align-items: start;
  gap: 0.9rem 1.25rem;
  margin-bottom: 0.9rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-title {
  max-width: 13ch;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-note {
  font-size: 0.92rem;
  line-height: 1.52;
  color: #5f4c3b;
  max-width: 42ch;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary {
  font-size: 1.02rem;
  font-weight: 600;
  color: #3b2c1d;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-left {
  max-width: 25rem;
  gap: 0;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note {
  margin: 1rem 0 0;
  padding-top: 1rem;
  max-width: 30ch;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-family: 'Work Sans', sans-serif;
  font-size: 0.92rem;
  line-height: 1.6;
  color: rgba(255, 247, 225, 0.82);
}

.ag-locator__rail-item,
.ag-locator__partner-tags span,
.ag-locator__contact-cta {
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.ag-locator__rail-item:hover {
  transform: translateX(2px);
}

.ag-locator__rail-support {
  margin-top: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(122, 91, 53, 0.18);
  display: grid;
  gap: 0.55rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card--support .ag-locator__rail-card-text,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card--support .ag-locator__rail-card-text {
  margin: 0;
  color: rgba(61, 46, 31, 0.86);
  line-height: 1.55;
}

.ag-locator__partner-tags span:hover {
  background: rgba(14, 62, 41, 0.08);
  border-color: rgba(14, 62, 41, 0.18);
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail {
    gap: 0.65rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card {
    padding: 1.1rem 1rem 1rem 1.15rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-copy {
    gap: 0.4rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note {
    max-width: none;
  }
}

/* ============================================================
   FIND AGRIKO — TYPOGRAPHY / READABILITY / CONTRAST POLISH
   Body sections only. Hero, header, footer untouched.
   ============================================================ */

/* ── 1. REGION ACCORDION ROWS — Stronger border definition ────── */
/* The region toggles (Luzon, Visayas, Mindanao) have very light
   borders at rgba(122,91,53,0.14). Strengthen to ~0.24 and add
   a subtle bottom shadow so rows read as discrete clickable items. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__region-toggle {
  border-color: rgba(122, 91, 53, 0.24);
  box-shadow:
    0 2px 6px rgba(75, 54, 29, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-toggle:hover {
  border-color: rgba(122, 91, 53, 0.32);
  box-shadow:
    0 4px 14px rgba(75, 54, 29, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* ── 2. "RETAIL MAP" KICKER — Slightly larger for prominence ──── */
/* The results-kicker is 0.75rem (base kicker rule ~line 1093).
   Bump to 0.8rem with heavier weight so the section anchor reads
   more confidently above the retail partner cards. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-kicker {
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

/* ── 3. "CONNECT WITH US" DESCRIPTION — Fix low contrast ──────── */
/* The contact section is dark forest green (line 3345).
   But the description was overridden to dark brown (#3f3327) at
   line 5177, making it near-invisible on the dark bg. Restore
   light text with slightly higher opacity than the 0.82 at line
   3360 for better readability. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description {
  color: rgba(255, 255, 255, 0.92);
}

/* Also fix the eyebrow sub-label for consistency on dark bg */
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-eyebrow span:nth-child(2) {
  color: rgba(255, 255, 255, 0.68);
}

/* ── 4. LOCATION CARD LABELS — Proper letter-spacing + Work Sans ─ */
/* Labels like LOCATION, BUSINESS HOURS, EMAIL on contact cards.
   Base rule (line 897) sets letter-spacing: 0.06em which is tight
   for uppercase micro-labels. Widen to 0.12em and ensure Work Sans
   for consistency with other kicker/label typography on the page. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-label {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ── 5. COUNT SUMMARY — More prominent as key data point ──────── */
/* "57 locations across 3 regions and 3 retail partners" is styled
   as italic serif at 0.95rem (line 5318). Promote it to a confident
   data callout — slightly larger, non-italic, darker color. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary {
  font-size: 1rem;
  font-weight: 500;
  color: #3d2e1f;
  font-style: normal;
  letter-spacing: 0.01em;
}

/* Active filters line (kept typographic, not "chip UI"). */
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-filters,
body.template-page[data-page-handle="locator"] .ag-locator__results-filters {
  margin-top: 0.25rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(93, 71, 50, 0.9);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-filters:empty,
body.template-page[data-page-handle="locator"] .ag-locator__results-filters:empty {
  display: none;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-updated,
body.template-page[data-page-handle="locator"] .ag-locator__results-updated {
  margin: 0.25rem 0 0;
  font-family: var(--ag-font-ui);
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(61, 46, 31, 0.72);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-updated:empty,
body.template-page[data-page-handle="locator"] .ag-locator__results-updated:empty {
  display: none;
}

/* ============================================================================
   LOCATOR TYPESET PASS (Chain cards + region rows + store items)
   Scoped to /pages/find-agriko + /pages/locator.
   ============================================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-title,
body.template-page[data-page-handle="locator"] .ag-locator__chain-title {
  font-family: var(--ag-font-display);
  letter-spacing: -0.01em;
  line-height: 1.05;
}

/* Bring chain header content closer to the top edge (less "dead air"). */
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header,
body.template-page[data-page-handle="locator"] .ag-locator__chain-header {
  padding-top: 1.05rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker-row,
body.template-page[data-page-handle="locator"] .ag-locator__chain-kicker-row {
  font-family: var(--ag-font-ui);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__chain-kicker {
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 650;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-name,
body.template-page[data-page-handle="locator"] .ag-locator__region-name {
  font-family: var(--ag-font-display);
  letter-spacing: -0.01em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-note,
body.template-page[data-page-handle="locator"] .ag-locator__region-note {
  font-family: var(--ag-font-ui);
  letter-spacing: 0.02em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-name,
body.template-page[data-page-handle="locator"] .ag-locator__store-name {
  font-family: var(--ag-font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-locale,
body.template-page[data-page-handle="locator"] .ag-locator__store-locale {
  margin: 0.25rem 0 0;
  font-family: var(--ag-font-ui);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(93, 71, 50, 0.9);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-address,
body.template-page[data-page-handle="locator"] .ag-locator__store-address {
  margin-top: 0.35rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-hours,
body.template-page[data-page-handle="locator"] .ag-locator__store-hours {
  margin-top: 0.35rem;
  font-family: var(--ag-font-ui);
  font-size: 0.84rem;
  color: rgba(61, 46, 31, 0.76);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link,
body.template-page[data-page-handle="locator"] .ag-locator__store-link {
  font-family: var(--ag-font-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem;
}

/* Noscript curated fallback list: simple editorial list with dividers. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__fallback,
body.template-page[data-page-handle="locator"] .ag-locator__fallback {
  margin: 1rem 0 0.25rem;
  display: grid;
  gap: 0.85rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__fallback-item,
body.template-page[data-page-handle="locator"] .ag-locator__fallback-item {
  padding-top: 0.85rem;
  border-top: 1px solid rgba(61, 46, 31, 0.12);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__fallback-item:first-child,
body.template-page[data-page-handle="locator"] .ag-locator__fallback-item:first-child {
  padding-top: 0;
  border-top: none;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__fallback-title,
body.template-page[data-page-handle="locator"] .ag-locator__fallback-title {
  margin: 0;
  font-weight: 700;
  color: #2f2115;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__fallback-meta,
body.template-page[data-page-handle="locator"] .ag-locator__fallback-meta {
  margin: 0.2rem 0 0;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(93, 71, 50, 0.9);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__fallback-address,
body.template-page[data-page-handle="locator"] .ag-locator__fallback-address {
  margin: 0.35rem 0 0;
  color: rgba(61, 46, 31, 0.86);
  line-height: 1.55;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__fallback-link,
body.template-page[data-page-handle="locator"] .ag-locator__fallback-link {
  display: inline-block;
  margin-top: 0.5rem;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.86rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  color: #173a28;
}

/* ============================================================================
   LOCATOR HERO (merged from locator-hero.css)
   ============================================================================ */
/* ============================================================
   LOCATOR HERO — Single source of truth
   Scoped to: body.template-page[data-page-handle="find-agriko"] .ag-locator__hero
   Loads last. Owns everything in this scope.
   ============================================================ */

/* ── Layout: full-viewport, content centered ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
}

/* ── Content: fills hero height, text centered within ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: clamp(4rem, 8vh, 6rem) clamp(1rem, 4vw, 2rem);
  max-width: min(820px, 90vw);
  width: 100%;
  margin: 0 auto;
}

/* ── Eyebrow wrapper: controls gap to H1 ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  margin-bottom: clamp(0.875rem, 2vh, 1.25rem);
  font-family: "Caveat", cursive, "Fraunces", "Times New Roman", serif;
  font-size: clamp(20px, 5vw, 32px);
  font-weight: 400;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: normal;
  color: #fff;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6), 0 0 0.5px rgba(255, 255, 255, 0.15);
}

html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-eyebrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.35rem;
  width: 60px;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent 0%, #f6b900 50%, transparent 100%);
}

/* ── H1 ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-title {
  font-family: "Fraunces", "Times New Roman", serif;
  font-size: clamp(2.4rem, 6vw, 4.625rem);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: clamp(0.75rem, 1.5vh, 1.25rem);
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.85), 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 60px rgba(246, 185, 0, 0.15);
}

/* ── Subtext ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-description {
  font-family: "Crimson Text", Georgia, serif;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: 0.01em;
  color: #fff;
  max-width: 32ch;
  margin-inline: auto;
  margin-bottom: clamp(1.5rem, 3vh, 2.5rem);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9), 0 2px 12px rgba(0, 0, 0, 0.75);
}

/* ── Button container ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.9rem;
  width: auto;
}

/* ── Button base ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-actions .ag-locator__hero-btn {
  padding: 1rem 2.25rem;
  font-family: var(--ag-font-ui, 'Work Sans', sans-serif);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  min-height: 50px;
  min-width: 180px;
  width: auto;
  border-radius: 999px;
  border: 2px solid transparent;
  box-sizing: border-box;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  transition: transform 200ms ease-out, box-shadow 200ms ease-out, border-color 200ms ease-out;
}

/* ── Primary button ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-actions .ag-locator__hero-btn--primary {
  background: linear-gradient(135deg, #f6b900 0%, #d4941a 100%);
  color: #0e3e29;
  border-color: transparent;
  box-shadow: 0 4px 16px rgba(246, 185, 0, 0.35);
}

html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-actions .ag-locator__hero-btn--primary:hover {
  background: linear-gradient(135deg, #ffc933 0%, #f6b900 100%);
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(246, 185, 0, 0.3);
}

/* ── Secondary button ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-actions .ag-locator__hero-btn--secondary {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: none;
}

html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-actions .ag-locator__hero-btn--secondary:hover {
  border-color: #f6b900;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(246, 185, 0, 0.15);
}

/* ── Focus visible ── */
html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero-actions a:focus-visible {
  outline: 2px solid #f6b900;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(246, 185, 0, 0.2);
}

/* ── Mobile <640px: stacked full-width buttons ── */
@media (max-width: 639px) {
  html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero .ag-locator__hero-content {
    padding: clamp(3rem, 6vh, 5rem) 1.5rem;
  }

  html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero .ag-locator__hero-actions {
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 0.625rem;
  }

  html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero .ag-locator__hero-actions a {
    width: 100%;
    min-width: 0;
    max-width: 20rem;
    margin: 0 auto;
    padding: 0.875rem 1.75rem;
    min-height: 46px;
    font-size: 0.75rem;
  }
}

/* ── Tablet 640–767px: side-by-side buttons ── */
@media (min-width: 640px) and (max-width: 767px) {
  html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero .ag-locator__hero-actions {
    flex-direction: row;
    justify-content: center;
    gap: 0.875rem;
  }

  html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero .ag-locator__hero-actions a {
    min-width: 160px;
    max-width: 200px;
    padding: 0.9rem 1.75rem;
    width: auto;
  }
}

/* ── Short viewport: keep content centered ── */
@media (max-width: 420px), (max-height: 700px) {
  html body.template-page[data-page-handle="find-agriko"] .ag-locator__hero .ag-locator__hero-content {
    justify-content: center;
  }
}

/* ============================================================================
   MASTER FIND AGRIKO POLISH — FINAL BRAND ALIGNMENT
   Objective: Execute the final 'Sacred Soil' pass on the store locator page.
   Focus: Harmonizing card geometry, elevated filter UI, and editorial type.
   ============================================================================ */

/* ── 1. GLOBAL SURFACE & RHYTHM ── */

body.template-page[data-page-handle="find-agriko"],
.ag-locator__main {
  background-color: #fffcf8 !important; /* Premium cream base */
}

.ag-locator__main {
  padding: clamp(4.5rem, 10vw, 7.5rem) 0 !important;
}

/* ── 2. STAT CARDS & CHAIN CARDS (THE AGRIKO LIFT) ── */

.ag-locator__stat,
.ag-locator__chain-card,
.ag-locator__filters {
  border-radius: 16px !important; /* System standard */
  border: 1px solid rgba(14, 62, 41, 0.08) !important;
  box-shadow: 0 4px 20px rgba(14, 62, 41, 0.03) !important;
  background-color: #ffffff !important;
  transition: transform 0.4s cubic-bezier(0.2, 0, 0, 1), 
              box-shadow 0.4s cubic-bezier(0.2, 0, 0, 1), 
              border-color 0.4s ease !important;
}

.ag-locator__stat:hover,
.ag-locator__chain-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 48px -12px rgba(14, 62, 41, 0.12) !important;
  border-color: rgba(246, 185, 0, 0.3) !important;
}

.ag-locator__stat-icon {
  border-radius: 12px !important;
}

/* ── 3. FILTER UI ELEVATION ── */

.ag-locator__search-input,
.ag-locator__select {
  border-radius: 12px !important;
  border: 1.5px solid rgba(14, 62, 41, 0.08) !important;
  font-family: var(--ag-font-ui, 'Work Sans', sans-serif) !important;
  height: 54px !important;
  background-color: #ffffff !important;
}

.ag-locator__search-input:focus:not(:focus-visible),
.ag-locator__select:focus:not(:focus-visible) {
  border-color: var(--ag-color-gold-bright, #f6b900) !important;
  box-shadow: 0 0 0 4px rgba(246, 185, 0, 0.1) !important;
  outline: none;
}

.ag-locator__search-input::placeholder {
  color: #5C5340 !important;
  font-style: normal !important;
  opacity: 0.65 !important;
}

/* ── 4. ACCORDION & LISTS ── */

.ag-locator__region-toggle {
  padding: 1.25rem 1.5rem !important;
  border-bottom: 1px solid rgba(14, 62, 41, 0.05) !important;
}

.ag-locator__region-name {
  font-family: var(--ag-font-display, 'Fraunces', serif) !important;
  font-weight: 600 !important;
  font-size: 1.125rem !important;
}

.ag-locator__store-name {
  font-family: var(--ag-font-ui, 'Work Sans', sans-serif) !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  color: var(--ag-color-forest-900) !important;
}

/* ── 5. TYPOGRAPHY & BUTTONS ── */

.ag-locator__hero-title,
.ag-locator__stat-value,
.ag-locator__chain-count,
.ag-locator__contact-title {
  font-family: var(--ag-font-display, 'Fraunces', serif) !important;
  letter-spacing: -0.02em !important;
}

.ag-locator__hero-btn--primary,
.ag-locator__contact-btn {
  background: var(--ag-color-gold-bright, #f6b900) !important;
  color: var(--ag-color-forest-900) !important;
  border-radius: 8px !important;
  height: 54px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(246, 185, 0, 0.2) !important;
}

.ag-locator__hero-btn--primary:hover,
.ag-locator__contact-btn:hover {
  background-color: var(--ag-color-forest-900) !important;
  color: var(--ag-color-gold-bright) !important;
  transform: translateY(-2px) !important;
}

/* Icon standardization */
.ag-locator__search-icon svg,
.ag-locator__region-chevron svg,
.ag-locator__store-link svg {
  stroke-width: 1.5px !important;
}

/* Final bottom polish overlay */
body.template-page[data-page-handle="find-agriko"]::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: transparent !important;
  z-index: 9999;
}

/* --- 7. CONTACT SECTION FOUNDATION --- */

.ag-locator__contact {
  background: var(--ag-color-forest-900, #0e3e29);
}

.ag-locator__contact-bg {
  display: none;
}

.ag-locator__contact-description,
.ag-locator__contact-eyebrow span:nth-child(2),
.ag-locator__contact-note {
  color: #ffffff;
  opacity: 1;
}

.ag-locator__contact-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1.5px solid rgba(255, 255, 255, 0.15);
}

.ag-locator__contact-card:hover {
  background: rgba(255, 255, 255, 0.15);
}

.ag-locator__contact-detail-label {
  color: var(--ag-color-gold-bright);
  opacity: 1;
}

.ag-locator__contact-detail p,
.ag-locator__contact-detail a {
  color: #ffffff;
  opacity: 1;
}

/* ============================================================================
   MASTER FIND-AGRIKO POLISH — PASS 2 (FINAL DETAILS)
   Objective: Refine micro-interactions and vertical rhythm for the locator.
   ============================================================================ */

/* ── 1. STORE LIST REFINEMENT ── */

.ag-locator__store-item {
  transition: background 0.2s ease, transform 0.2s ease !important;
  border-bottom: 1px solid rgba(14, 62, 41, 0.04) !important;
  cursor: default;
}

.ag-locator__store-item:hover {
  background: rgba(246, 185, 0, 0.03) !important;
}

.ag-locator__store-address {
  font-family: var(--ag-font-body) !important;
  font-size: 0.9375rem !important;
  color: var(--ag-color-ink-700) !important;
  line-height: 1.5 !important;
}

.ag-locator__store-hours {
  font-family: var(--ag-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ag-color-forest-600) !important;
  margin-top: 0.5rem !important;
}

/* ── 2. STAT CARD MICRO-INTERACTIONS ── */

.ag-locator__stat-value {
  color: var(--ag-color-forest-900) !important;
  font-size: 2.75rem !important;
  margin-bottom: 0 !important;
}

.ag-locator__stat-label {
  font-family: var(--ag-font-ui) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.8125rem !important;
  opacity: 0.9 !important;
}

/* ── 4. EMPTY & LOADING STATES ── */

.ag-locator__empty {
  border: 1px dashed rgba(14, 62, 41, 0.2) !important;
  background: rgba(255, 252, 247, 0.8) !important;
  color: var(--ag-color-forest-900) !important;
  padding: 5rem 2rem !important;
  border-radius: 16px !important;
}

.ag-locator__loading-spinner {
  border-width: 2px !important;
  border-top-color: var(--ag-color-gold-bright) !important;
}

/* ── 5. CHAIN CARD HEADERS ── */

.ag-locator__chain-header {
  padding: 2rem 1.5rem !important;
}

.ag-locator__chain-badge {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  font-family: var(--ag-font-ui) !important;
  font-size: 0.75rem !important;
}

.ag-locator__chain-count {
  font-size: 2.25rem !important;
}

/* ============================================================================
   LOCATOR TASK-FOCUS PASS
   Keep the page centered on finding shelves, improve recovery states, and
   reduce secondary visual noise.
   ============================================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-metrics,
body.template-page[data-page-handle="locator"] .ag-locator__results-metrics {
  display: grid;
  gap: 0.25rem;
  align-items: start;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-actions,
body.template-page[data-page-handle="locator"] .ag-locator__results-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6rem;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta,
  body.template-page[data-page-handle="locator"] .ag-locator__results-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-actions,
  body.template-page[data-page-handle="locator"] .ag-locator__results-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-reset {
  appearance: none;
  border: 1px solid rgba(14, 62, 41, 0.16);
  background: rgba(255, 255, 255, 0.9);
  color: var(--ag-color-forest-900, #0e3e29);
  border-radius: 999px;
  padding: 0.65rem 1rem;
  font-family: var(--ag-font-ui, sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-reset:hover,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-reset:focus-visible {
  border-color: rgba(14, 62, 41, 0.32);
  background: #ffffff;
  transform: translateY(-1px);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__loading--skeleton {
  border: 1px solid rgba(14, 62, 41, 0.08);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.72);
  padding: 1.25rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__loading-skeletons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__loading-card {
  border-radius: 1.25rem;
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 242, 234, 0.96));
  border: 1px solid rgba(14, 62, 41, 0.06);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__loading-card-line {
  display: block;
  height: 0.8rem;
  border-radius: 999px;
  margin-bottom: 0.75rem;
  background: linear-gradient(90deg, rgba(14, 62, 41, 0.08) 25%, rgba(14, 62, 41, 0.16) 50%, rgba(14, 62, 41, 0.08) 75%);
  background-size: 200% 100%;
  animation: ag-locator-skeleton 1.4s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__loading-card-line--wide {
  width: 82%;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__loading-card-line--short {
  width: 46%;
  margin-bottom: 0;
}

@keyframes ag-locator-skeleton {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__empty {
  padding: 2.5rem 1.5rem !important;
  background: rgba(255, 255, 255, 0.88) !important;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__empty-text {
  margin-bottom: 0.625rem !important;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__empty p:not(.ag-locator__empty-text) {
  max-width: 38rem;
  margin: 0 auto;
  color: var(--ag-color-ink-700, #334155);
  line-height: 1.65;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__empty-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(14, 62, 41, 0.14);
  background: #ffffff;
  color: var(--ag-color-forest-900, #0e3e29);
  font-family: var(--ag-font-ui, sans-serif);
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__empty-action--primary {
  background: var(--ag-color-forest-900, #0e3e29);
  color: #ffffff;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail {
  display: grid;
  align-content: start;
  gap: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card {
  padding: 1.25rem 1.375rem !important;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__support-meta {
  margin: 0.875rem 0 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--ag-color-ink-700, #334155);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__support-meta a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(14, 62, 41, 0.2);
}

@media (min-width: 768px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta {
    align-items: flex-end;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__loading-skeletons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chains {
  grid-template-columns: 1fr !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
}

@media (min-width: 960px) and (max-width: 1199px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__chains {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.35rem !important;
  }
}

@media (min-width: 1024px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 18.5rem);
    gap: 1.5rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail {
    position: sticky;
    top: 7rem;
    align-self: start;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__chains {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.35rem !important;
  }
}

@media (min-width: 1280px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery {
    grid-template-columns: minmax(0, 1fr) minmax(18.5rem, 19.75rem);
    gap: 1.75rem;
  }
}

/* ============================================================================
   FIND AGRIKO BODY REDESIGN
   Aligns locator body sections with the Agriko premium editorial system.
   Header, hero, and footer remain untouched.
   ============================================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator {
  --ag-locator-forest: #123928;
  --ag-locator-forest-deep: #0b2c1f;
  --ag-locator-forest-soft: #1f5339;
  --ag-locator-cream: #fbf6ef;
  --ag-locator-cream-strong: #f2e7d8;
  --ag-locator-cream-soft: #fffdf9;
  --ag-locator-gold: #d5a33c;
  --ag-locator-gold-soft: rgba(213, 163, 60, 0.16);
  --ag-locator-terra: #b76843;
  --ag-locator-ink: #264232;
  --ag-locator-copy: #586459;
  --ag-locator-copy-strong: #3f4e44;
  --ag-locator-stroke: rgba(106, 76, 42, 0.16);
  --ag-locator-stroke-strong: rgba(69, 51, 30, 0.22);
  --ag-locator-shadow-lg: 0 28px 58px rgba(72, 49, 24, 0.10);
  --ag-locator-shadow-md: 0 18px 36px rgba(72, 49, 24, 0.08);
  --ag-locator-shadow-sm: 0 10px 22px rgba(72, 49, 24, 0.06);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__main {
  padding: clamp(4.5rem, 8vw, 6.75rem) 0 clamp(5rem, 8vw, 7.25rem);
  background:
    linear-gradient(180deg, #f8f1e5 0%, #f4ecdf 46%, #efe2d0 100%);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__main::before {
  opacity: 0.42;
  background:
    linear-gradient(90deg, rgba(111, 84, 49, 0.03) 0, rgba(111, 84, 49, 0.03) 1px, transparent 1px, transparent 96px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0));
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__main .container,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact .container {
  max-width: 86rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-note,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__support-meta,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-sub,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-note,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-address,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-hours,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail a,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-note p {
  font-family: var(--ag-font-body, "Inter", sans-serif);
  color: var(--ag-locator-copy);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__region-count,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-caption,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-eyebrow span:nth-child(2) {
  font-family: var(--ag-font-body, "Inter", sans-serif);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__region-name,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-name,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-value,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-value {
  font-family: var(--ag-font-display, "Fraunces", serif);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
  position: relative;
  overflow: hidden;
  border-radius: 1.9rem;
  border: 1px solid var(--ag-locator-stroke);
  box-shadow: var(--ag-locator-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell::before,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.35rem;
  background: linear-gradient(180deg, var(--ag-locator-gold) 0%, var(--ag-locator-terra) 100%);
  opacity: 0.9;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell::after,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: transparent;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell {
  padding: clamp(1.65rem, 3vw, 2.6rem);
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.98), rgba(248, 239, 228, 0.94));
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
  padding: clamp(1.75rem, 3vw, 2.4rem);
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(247, 237, 224, 0.96));
  gap: 1.8rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-intro,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-copy,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-copy {
  position: relative;
  z-index: 1;
  gap: 0.95rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-title {
  max-width: 12ch;
  font-size: clamp(2.05rem, 4.2vw, 3.4rem);
  line-height: 1;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-title {
  max-width: 14ch;
  font-size: clamp(1.95rem, 3.6vw, 2.9rem);
  line-height: 1.02;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-title {
  max-width: 11ch;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.02;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-kicker {
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #8b6636;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-text {
  max-width: 40rem;
  font-size: 1rem;
  line-height: 1.78;
  color: var(--ag-locator-copy);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
  align-items: stretch;
  gap: 1rem 1.5rem;
  margin-top: 0.25rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(107, 76, 42, 0.14);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-copy {
  max-width: 40rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-note {
  font-size: 0.9rem;
  line-height: 1.65;
  color: #746457;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta {
  justify-content: center;
  min-width: min(100%, 18rem);
  padding: 1rem 1.1rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(107, 76, 42, 0.12);
  background: rgba(255, 251, 245, 0.72);
  box-shadow: var(--ag-locator-shadow-sm);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary {
  max-width: 26rem;
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.65;
  color: var(--ag-locator-copy-strong);
  text-align: left;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-actions {
  gap: 0.6rem;
  flex-wrap: wrap;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-reset,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-collapse {
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(18, 57, 40, 0.14);
  background: rgba(255, 255, 255, 0.9);
  color: var(--ag-locator-forest);
  box-shadow: 0 8px 18px rgba(72, 49, 24, 0.05);
  font-family: var(--ag-font-body, "Inter", sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input,
body.template-page[data-page-handle="find-agriko"] .ag-locator__select,
body.template-page[data-page-handle="find-agriko"] .ag-locator__typeahead {
  min-height: 3.2rem;
  font-family: var(--ag-font-body, "Inter", sans-serif);
  font-size: 0.95rem;
  color: var(--ag-locator-copy-strong);
  border-color: rgba(107, 76, 42, 0.16);
  background: linear-gradient(180deg, rgba(255, 253, 249, 1), rgba(250, 245, 238, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 6px 14px rgba(72, 49, 24, 0.04);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input::placeholder,
body.template-page[data-page-handle="find-agriko"] .ag-locator__typeahead::placeholder {
  color: rgba(88, 100, 89, 0.72);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input:focus,
body.template-page[data-page-handle="find-agriko"] .ag-locator__select:focus,
body.template-page[data-page-handle="find-agriko"] .ag-locator__typeahead:focus {
  border-color: rgba(18, 57, 40, 0.28);
  box-shadow: 0 0 0 4px rgba(18, 57, 40, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdowns {
  gap: 0.85rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown {
  min-width: 11rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #89653a;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery {
  gap: 1.85rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-main,
body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail {
  gap: 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card {
  border-left: 0;
  border-top: 3px solid rgba(213, 163, 60, 0.22);
  border-radius: 1.3rem;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(247, 239, 229, 0.9));
  box-shadow: var(--ag-locator-shadow-md), inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card--contact {
  border-top-color: rgba(183, 104, 67, 0.26);
  background: linear-gradient(180deg, rgba(254, 248, 241, 0.98), rgba(244, 231, 216, 0.92));
}

body.template-page[data-page-handle="find-agriko"] details.ag-locator__rail-card {
  padding: 1.1rem 1.15rem 1.15rem 1.2rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-summary {
  min-height: 2.5rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item-index {
  background: rgba(18, 57, 40, 0.08);
  border-color: rgba(18, 57, 40, 0.1);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__support-meta {
  color: var(--ag-locator-copy-strong);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-link {
  width: 100%;
  margin-top: 1.15rem;
  padding: 0.9rem 1.2rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chains {
  gap: 1.5rem !important;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid rgba(107, 76, 42, 0.14);
  border-radius: 1.65rem;
  box-shadow: var(--ag-locator-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header {
  padding: 1.65rem 1.6rem 1.45rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-note {
  max-width: 34rem;
  font-size: 0.95rem;
  line-height: 1.72;
  color: rgba(255, 250, 242, 0.84);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-caption {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-panel,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-region-stat {
  backdrop-filter: blur(8px);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-body {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
  padding: 1.15rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-toggle {
  padding: 1.05rem 1.15rem;
  border-color: rgba(107, 76, 42, 0.18);
  border-radius: 1.15rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 8px 18px rgba(72, 49, 24, 0.04);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-name {
  font-size: 1.08rem;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-count {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  color: #7f6d5c;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-stores.is-open {
  gap: 0.9rem;
  margin-top: 0.9rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(107, 76, 42, 0.12);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 24px rgba(72, 49, 24, 0.04);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-name {
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-address,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-hours {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #617066;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 0.1rem;
  padding: 0.46rem 0.76rem;
  border-radius: 999px;
  background: rgba(18, 57, 40, 0.08);
  border: 1px solid rgba(18, 57, 40, 0.12);
  color: var(--ag-locator-forest);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats {
  gap: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat {
  min-height: 100%;
  padding: 1.55rem 1.35rem 1.45rem;
  text-align: center;
  border-radius: 1.35rem;
  border: 1px solid rgba(107, 76, 42, 0.12);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--ag-locator-shadow-sm);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-icon {
  margin: 0 auto 0.95rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-value {
  font-size: clamp(2rem, 3vw, 2.55rem);
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-label {
  font-size: 0.74rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7f6445;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-sub {
  font-size: 0.9rem;
  line-height: 1.55;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact {
  position: relative;
  overflow: hidden;
  padding: clamp(4.75rem, 8vw, 6.5rem) 0;
  background:
    linear-gradient(135deg, #0b2d1f 0%, #123928 52%, #18513a 100%);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-content {
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-left {
  max-width: 28rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-eyebrow span:nth-child(2) {
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: rgba(248, 198, 96, 0.92);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-title {
  max-width: 8ch;
  margin: 0;
  font-size: clamp(2.35rem, 4.7vw, 4rem);
  color: #f9f5ec;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description {
  max-width: 30rem;
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(245, 240, 229, 0.82);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  max-width: 31ch;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.94rem;
  line-height: 1.72;
  color: rgba(245, 240, 229, 0.74);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-grid {
  gap: 1.35rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card {
  min-height: 100%;
  padding: 1.75rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 44px rgba(4, 18, 13, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail a,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-note p {
  color: #f7f2e8;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-subtitle,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-label {
  color: rgba(248, 214, 150, 0.86);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-icon {
  background: rgba(255, 255, 255, 0.08);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-note {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta {
  margin-top: auto;
  padding: 0.95rem 1.35rem;
  background: linear-gradient(135deg, #f4b61f 0%, #d79a19 100%);
  border-color: rgba(255, 255, 255, 0.14);
  color: #173a28;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.22);
}

@media (min-width: 1024px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery {
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 21rem);
    gap: 2rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, auto);
    align-items: start;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta {
    justify-self: end;
    align-self: start;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__chains {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1023px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
    padding: 1.5rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note {
    max-width: none;
  }
}

@media (max-width: 767px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__main {
    padding: 3.5rem 0 4.25rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board {
    padding: 1.25rem 1.15rem 1.2rem 1.3rem;
    border-radius: 1.45rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head {
    padding-top: 1.1rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta {
    min-width: 0;
    padding: 0.9rem 0.95rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-actions {
    width: 100%;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-reset,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-collapse {
    flex: 1 1 auto;
    justify-content: center;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-link,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta {
    width: 100%;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats {
    grid-template-columns: 1fr;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stat {
    text-align: left;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-icon {
    margin-left: 0;
    margin-right: 0;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact {
    padding: 4rem 0;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card {
    padding: 1.35rem;
  }
}

/* Merged from find-agriko-redesign-v2.css */
body.template-page[data-page-handle="find-agriko"] .ag-locator,
body.template-page[data-page-handle="locator"] .ag-locator {
  --ag-locator-forest: #123928;
  --ag-locator-forest-soft: #1f5339;
  --ag-locator-cream: #fbf6ef;
  --ag-locator-gold: #d5a33c;
  --ag-locator-terra: #b76843;
  --ag-locator-copy: #586459;
  --ag-locator-copy-strong: #3f4e44;
  --ag-locator-stroke: rgba(106, 76, 42, 0.16);
  --ag-locator-shadow-lg: 0 28px 58px rgba(72, 49, 24, 0.10);
  --ag-locator-shadow-md: 0 18px 36px rgba(72, 49, 24, 0.08);
  --ag-locator-shadow-sm: 0 10px 22px rgba(72, 49, 24, 0.06);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__main,
body.template-page[data-page-handle="locator"] .ag-locator__main {
  padding: clamp(4.5rem, 8vw, 6.75rem) 0 clamp(5rem, 8vw, 7.25rem);
  background:
    linear-gradient(180deg, #f8f1e5 0%, #f4ecdf 46%, #efe2d0 100%);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__main::before,
body.template-page[data-page-handle="locator"] .ag-locator__main::before {
  opacity: 0.42;
  background:
    linear-gradient(90deg, rgba(111, 84, 49, 0.03) 0, rgba(111, 84, 49, 0.03) 1px, transparent 1px, transparent 96px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0));
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__main .container,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact .container,
body.template-page[data-page-handle="locator"] .ag-locator__main .container,
body.template-page[data-page-handle="locator"] .ag-locator__contact .container {
  max-width: 86rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-note,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__support-meta,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-sub,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-note,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-address,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-hours,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail a,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-note p,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-text,
body.template-page[data-page-handle="locator"] .ag-locator__filters-text,
body.template-page[data-page-handle="locator"] .ag-locator__results-note,
body.template-page[data-page-handle="locator"] .ag-locator__results-summary,
body.template-page[data-page-handle="locator"] .ag-locator__rail-item p,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card-text,
body.template-page[data-page-handle="locator"] .ag-locator__support-meta,
body.template-page[data-page-handle="locator"] .ag-locator__stat-sub,
body.template-page[data-page-handle="locator"] .ag-locator__chain-note,
body.template-page[data-page-handle="locator"] .ag-locator__store-address,
body.template-page[data-page-handle="locator"] .ag-locator__store-hours,
body.template-page[data-page-handle="locator"] .ag-locator__contact-description,
body.template-page[data-page-handle="locator"] .ag-locator__contact-note,
body.template-page[data-page-handle="locator"] .ag-locator__contact-detail p,
body.template-page[data-page-handle="locator"] .ag-locator__contact-detail a,
body.template-page[data-page-handle="locator"] .ag-locator__contact-card-note p {
  font-family: var(--ag-font-body, "Inter", sans-serif);
  color: var(--ag-locator-copy);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__region-count,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-caption,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-eyebrow span:nth-child(2),
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__filters-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__results-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__dropdown-label,
body.template-page[data-page-handle="locator"] .ag-locator__stat-label,
body.template-page[data-page-handle="locator"] .ag-locator__region-count,
body.template-page[data-page-handle="locator"] .ag-locator__store-link,
body.template-page[data-page-handle="locator"] .ag-locator__chain-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__chain-count-label,
body.template-page[data-page-handle="locator"] .ag-locator__chain-count-caption,
body.template-page[data-page-handle="locator"] .ag-locator__contact-detail-label,
body.template-page[data-page-handle="locator"] .ag-locator__contact-eyebrow span:nth-child(2) {
  font-family: var(--ag-font-body, "Inter", sans-serif);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__region-name,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-name,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-value,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-value,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-title,
body.template-page[data-page-handle="locator"] .ag-locator__filters-title,
body.template-page[data-page-handle="locator"] .ag-locator__results-title,
body.template-page[data-page-handle="locator"] .ag-locator__region-name,
body.template-page[data-page-handle="locator"] .ag-locator__store-name,
body.template-page[data-page-handle="locator"] .ag-locator__contact-title,
body.template-page[data-page-handle="locator"] .ag-locator__contact-card-title,
body.template-page[data-page-handle="locator"] .ag-locator__chain-title,
body.template-page[data-page-handle="locator"] .ag-locator__stat-value,
body.template-page[data-page-handle="locator"] .ag-locator__chain-count,
body.template-page[data-page-handle="locator"] .ag-locator__chain-count-value {
  font-family: var(--ag-font-display, "Fraunces", serif);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board,
body.template-page[data-page-handle="locator"] .ag-locator__filters-shell,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board {
  position: relative;
  overflow: hidden;
  border-radius: 1.9rem;
  border: 1px solid var(--ag-locator-stroke);
  box-shadow: var(--ag-locator-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell::before,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board::before,
body.template-page[data-page-handle="locator"] .ag-locator__filters-shell::before,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.35rem;
  background: linear-gradient(180deg, var(--ag-locator-gold) 0%, var(--ag-locator-terra) 100%);
  opacity: 0.9;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell::after,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board::after,
body.template-page[data-page-handle="locator"] .ag-locator__filters-shell::after,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: transparent;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell,
body.template-page[data-page-handle="locator"] .ag-locator__filters-shell {
  padding: clamp(1.65rem, 3vw, 2.6rem);
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.98), rgba(248, 239, 228, 0.94));
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board {
  padding: clamp(1.75rem, 3vw, 2.4rem);
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(247, 237, 224, 0.96));
  gap: 1.8rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-intro,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-copy,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-copy,
body.template-page[data-page-handle="locator"] .ag-locator__filters-intro,
body.template-page[data-page-handle="locator"] .ag-locator__results-copy,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-copy {
  position: relative;
  z-index: 1;
  gap: 0.95rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-title,
body.template-page[data-page-handle="locator"] .ag-locator__filters-title {
  max-width: 12ch;
  font-size: clamp(1.65rem, 4.2vw, 3.4rem);
  line-height: 1.05;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-title,
body.template-page[data-page-handle="locator"] .ag-locator__results-title {
  max-width: 18ch;
  font-size: clamp(1.45rem, 3.6vw, 2.9rem);
  line-height: 1.1;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-title,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-title {
  max-width: 11ch;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.02;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__filters-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__results-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card-kicker {
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #8b6636;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-text,
body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-text,
body.template-page[data-page-handle="locator"] .ag-locator__filters-text,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-text {
  max-width: 40rem;
  font-size: 1rem;
  line-height: 1.78;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head,
body.template-page[data-page-handle="locator"] .ag-locator__results-head {
  align-items: stretch;
  gap: 1rem 1.5rem;
  margin-top: 0.25rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(107, 76, 42, 0.14);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-copy,
body.template-page[data-page-handle="locator"] .ag-locator__results-copy {
  max-width: 40rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-note,
body.template-page[data-page-handle="locator"] .ag-locator__results-note {
  font-size: 0.9rem;
  line-height: 1.65;
  color: #746457;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta,
body.template-page[data-page-handle="locator"] .ag-locator__results-meta {
  justify-content: center;
  min-width: min(100%, 16rem);
  max-width: 26rem;
  padding: 1rem 1.1rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(107, 76, 42, 0.12);
  background: rgba(255, 251, 245, 0.72);
  box-shadow: var(--ag-locator-shadow-sm);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-summary,
body.template-page[data-page-handle="locator"] .ag-locator__results-summary {
  max-width: 26rem;
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.65;
  color: var(--ag-locator-copy-strong);
  text-align: left;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-actions,
body.template-page[data-page-handle="locator"] .ag-locator__results-actions {
  gap: 0.6rem;
  flex-wrap: wrap;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-reset,
body.template-page[data-page-handle="find-agriko"] .ag-locator__results-collapse,
body.template-page[data-page-handle="locator"] .ag-locator__results-reset,
body.template-page[data-page-handle="locator"] .ag-locator__results-collapse {
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(18, 57, 40, 0.14);
  background: rgba(255, 255, 255, 0.9);
  color: var(--ag-locator-forest);
  box-shadow: 0 8px 18px rgba(72, 49, 24, 0.05);
  font-family: var(--ag-font-body, "Inter", sans-serif);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input,
body.template-page[data-page-handle="find-agriko"] .ag-locator__select,
body.template-page[data-page-handle="find-agriko"] .ag-locator__typeahead,
body.template-page[data-page-handle="locator"] .ag-locator__search-input,
body.template-page[data-page-handle="locator"] .ag-locator__select,
body.template-page[data-page-handle="locator"] .ag-locator__typeahead {
  min-height: 3.2rem;
  font-family: var(--ag-font-body, "Inter", sans-serif);
  font-size: 0.95rem;
  color: var(--ag-locator-copy-strong);
  border-color: rgba(107, 76, 42, 0.16);
  background: linear-gradient(180deg, rgba(255, 253, 249, 1), rgba(250, 245, 238, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 6px 14px rgba(72, 49, 24, 0.04);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input::placeholder,
body.template-page[data-page-handle="find-agriko"] .ag-locator__typeahead::placeholder,
body.template-page[data-page-handle="locator"] .ag-locator__search-input::placeholder,
body.template-page[data-page-handle="locator"] .ag-locator__typeahead::placeholder {
  color: rgba(88, 100, 89, 0.72);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input:focus,
body.template-page[data-page-handle="find-agriko"] .ag-locator__select:focus,
body.template-page[data-page-handle="find-agriko"] .ag-locator__typeahead:focus,
body.template-page[data-page-handle="locator"] .ag-locator__search-input:focus,
body.template-page[data-page-handle="locator"] .ag-locator__select:focus,
body.template-page[data-page-handle="locator"] .ag-locator__typeahead:focus {
  border-color: rgba(18, 57, 40, 0.28);
  box-shadow: 0 0 0 4px rgba(18, 57, 40, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdowns,
body.template-page[data-page-handle="locator"] .ag-locator__dropdowns {
  gap: 0.85rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown,
body.template-page[data-page-handle="locator"] .ag-locator__dropdown {
  min-width: 11rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown-label,
body.template-page[data-page-handle="locator"] .ag-locator__dropdown-label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #89653a;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery,
body.template-page[data-page-handle="locator"] .ag-locator__discovery {
  gap: 1.85rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-main,
body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail,
body.template-page[data-page-handle="locator"] .ag-locator__discovery-main,
body.template-page[data-page-handle="locator"] .ag-locator__discovery-rail {
  gap: 1.1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card {
  border-left: 0;
  border-top: 3px solid rgba(213, 163, 60, 0.22);
  border-radius: 1.3rem;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(247, 239, 229, 0.9));
  box-shadow: var(--ag-locator-shadow-md), inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card--contact,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card--contact {
  border-top-color: rgba(183, 104, 67, 0.26);
  background: linear-gradient(180deg, rgba(254, 248, 241, 0.98), rgba(244, 231, 216, 0.92));
}

body.template-page[data-page-handle="find-agriko"] details.ag-locator__rail-card,
body.template-page[data-page-handle="locator"] details.ag-locator__rail-card {
  padding: 1.1rem 1.15rem 1.15rem 1.2rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-summary,
body.template-page[data-page-handle="locator"] .ag-locator__rail-summary {
  min-height: 2.75rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-item-index,
body.template-page[data-page-handle="locator"] .ag-locator__rail-item-index {
  background: rgba(18, 57, 40, 0.08);
  border-color: rgba(18, 57, 40, 0.1);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__support-meta,
body.template-page[data-page-handle="locator"] .ag-locator__support-meta {
  color: var(--ag-locator-copy-strong);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-link,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card-link {
  width: 100%;
  margin-top: 1.15rem;
  padding: 0.9rem 1.2rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chains,
body.template-page[data-page-handle="locator"] .ag-locator__chains {
  gap: 1.5rem !important;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-card,
body.template-page[data-page-handle="locator"] .ag-locator__chain-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid rgba(107, 76, 42, 0.14);
  border-radius: 1.65rem;
  overflow: hidden;
  padding: 0 !important;
  box-shadow: var(--ag-locator-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header,
body.template-page[data-page-handle="locator"] .ag-locator__chain-header {
  padding: 0.75rem 1.6rem 1.45rem !important;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-logo-wrap,
body.template-page[data-page-handle="locator"] .ag-locator__chain-logo-wrap {
  min-height: 0;
  margin-bottom: 0.55rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-badge,
body.template-page[data-page-handle="locator"] .ag-locator__chain-badge {
  margin-bottom: 0.5rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-note,
body.template-page[data-page-handle="locator"] .ag-locator__chain-note {
  max-width: 34rem;
  font-size: 0.95rem;
  line-height: 1.72;
  color: rgba(255, 250, 242, 0.84);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-kicker,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-label,
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-caption,
body.template-page[data-page-handle="locator"] .ag-locator__chain-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__chain-count-label,
body.template-page[data-page-handle="locator"] .ag-locator__chain-count-caption {
  font-size: 0.75rem;
  letter-spacing: 0.14em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-count-panel,
body.template-page[data-page-handle="locator"] .ag-locator__chain-count-panel {
  backdrop-filter: blur(8px);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-region-stat,
body.template-page[data-page-handle="locator"] .ag-locator__chain-region-stat {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  backdrop-filter: blur(8px);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-body,
body.template-page[data-page-handle="locator"] .ag-locator__chain-body {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
  padding: 1.15rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-toggle,
body.template-page[data-page-handle="locator"] .ag-locator__region-toggle {
  padding: 1.05rem 1.15rem;
  border-color: rgba(107, 76, 42, 0.18);
  border-radius: 1.15rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 8px 18px rgba(72, 49, 24, 0.04);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-name,
body.template-page[data-page-handle="locator"] .ag-locator__region-name {
  font-size: 1.08rem;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-count,
body.template-page[data-page-handle="locator"] .ag-locator__region-count {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  color: #7f6d5c;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-stores.is-open,
body.template-page[data-page-handle="locator"] .ag-locator__region-stores.is-open {
  gap: 0.9rem;
  margin-top: 0.9rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-item,
body.template-page[data-page-handle="locator"] .ag-locator__store-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem 1.05rem !important;
  border: 1px solid rgba(107, 76, 42, 0.12);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 24px rgba(72, 49, 24, 0.04);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-name,
body.template-page[data-page-handle="locator"] .ag-locator__store-name {
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-address,
body.template-page[data-page-handle="find-agriko"] .ag-locator__store-hours,
body.template-page[data-page-handle="locator"] .ag-locator__store-address,
body.template-page[data-page-handle="locator"] .ag-locator__store-hours {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #617066;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link,
body.template-page[data-page-handle="locator"] .ag-locator__store-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 2.75rem; /* 44px WCAG AAA touch target */
  margin-top: 0.1rem;
  padding: 0.6rem 0.9rem;
  border-radius: 999px;
  background: rgba(18, 57, 40, 0.08);
  border: 1px solid rgba(18, 57, 40, 0.12);
  color: var(--ag-locator-forest);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats,
body.template-page[data-page-handle="locator"] .ag-locator__stats {
  gap: 1rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat,
body.template-page[data-page-handle="locator"] .ag-locator__stat {
  min-height: 100%;
  padding: 1.55rem 1.35rem 1.45rem;
  text-align: center;
  border-radius: 1.35rem;
  border: 1px solid rgba(107, 76, 42, 0.12);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--ag-locator-shadow-sm);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-icon,
body.template-page[data-page-handle="locator"] .ag-locator__stat-icon {
  margin: 0 auto 0.95rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-value,
body.template-page[data-page-handle="locator"] .ag-locator__stat-value {
  font-size: clamp(2rem, 3vw, 2.55rem);
  color: var(--ag-locator-forest);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-label,
body.template-page[data-page-handle="locator"] .ag-locator__stat-label {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7f6445;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-sub,
body.template-page[data-page-handle="locator"] .ag-locator__stat-sub {
  font-size: 0.9rem;
  line-height: 1.55;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact,
body.template-page[data-page-handle="locator"] .ag-locator__contact {
  position: relative;
  overflow: hidden;
  padding: clamp(4.75rem, 8vw, 6.5rem) 0;
  background:
    linear-gradient(135deg, #0b2d1f 0%, #123928 52%, #18513a 100%);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-content,
body.template-page[data-page-handle="locator"] .ag-locator__contact-content {
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-left,
body.template-page[data-page-handle="locator"] .ag-locator__contact-left {
  max-width: 28rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-eyebrow span:nth-child(2),
body.template-page[data-page-handle="locator"] .ag-locator__contact-eyebrow span:nth-child(2) {
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  color: rgba(248, 198, 96, 0.92);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-title,
body.template-page[data-page-handle="locator"] .ag-locator__contact-title {
  max-width: 8ch;
  margin: 0;
  font-size: clamp(2.35rem, 4.7vw, 4rem);
  color: #f9f5ec;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description,
body.template-page[data-page-handle="locator"] .ag-locator__contact-description {
  max-width: 30rem;
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(245, 240, 229, 0.82);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note,
body.template-page[data-page-handle="locator"] .ag-locator__contact-note {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  max-width: 31ch;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.94rem;
  line-height: 1.72;
  color: rgba(245, 240, 229, 0.74);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-grid,
body.template-page[data-page-handle="locator"] .ag-locator__contact-grid {
  gap: 1.35rem;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card,
body.template-page[data-page-handle="locator"] .ag-locator__contact-card {
  min-height: 100%;
  padding: 1.75rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 44px rgba(4, 18, 13, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-title,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail p,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail a,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-note p,
body.template-page[data-page-handle="locator"] .ag-locator__contact-card-title,
body.template-page[data-page-handle="locator"] .ag-locator__contact-detail p,
body.template-page[data-page-handle="locator"] .ag-locator__contact-detail a,
body.template-page[data-page-handle="locator"] .ag-locator__contact-card-note p {
  color: #f7f2e8;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-subtitle,
body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-label,
body.template-page[data-page-handle="locator"] .ag-locator__contact-card-subtitle,
body.template-page[data-page-handle="locator"] .ag-locator__contact-detail-label {
  color: rgba(248, 214, 150, 0.86);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-detail-icon,
body.template-page[data-page-handle="locator"] .ag-locator__contact-detail-icon {
  background: rgba(255, 255, 255, 0.08);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card-note,
body.template-page[data-page-handle="locator"] .ag-locator__contact-card-note {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta,
body.template-page[data-page-handle="locator"] .ag-locator__contact-cta {
  margin-top: auto;
  padding: 0.95rem 1.35rem;
  background: linear-gradient(135deg, #f4b61f 0%, #d79a19 100%);
  border-color: rgba(255, 255, 255, 0.14);
  color: #173a28;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.22);
}

@media (min-width: 1024px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery,
  body.template-page[data-page-handle="locator"] .ag-locator__discovery {
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 21rem);
    gap: 2rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head,
  body.template-page[data-page-handle="locator"] .ag-locator__results-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 26rem);
    align-items: start;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta,
  body.template-page[data-page-handle="locator"] .ag-locator__results-meta {
    justify-self: end;
    align-self: start;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board,
  body.template-page[data-page-handle="locator"] .ag-locator__stats-board {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-grid,
  body.template-page[data-page-handle="locator"] .ag-locator__contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__chains,
  body.template-page[data-page-handle="locator"] .ag-locator__chains {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-card:last-child:nth-child(odd),
  body.template-page[data-page-handle="locator"] .ag-locator__chain-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1023px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board,
  body.template-page[data-page-handle="locator"] .ag-locator__stats-board {
    padding: 1.5rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-description,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-note,
  body.template-page[data-page-handle="locator"] .ag-locator__contact-description,
  body.template-page[data-page-handle="locator"] .ag-locator__contact-note {
    max-width: none;
  }
}

@media (max-width: 767px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__main,
  body.template-page[data-page-handle="locator"] .ag-locator__main {
    padding: 3.5rem 0 4.25rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-shell,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board,
  body.template-page[data-page-handle="locator"] .ag-locator__filters-shell,
  body.template-page[data-page-handle="locator"] .ag-locator__stats-board {
    padding: 1.25rem 1.15rem 1.2rem 1.3rem;
    border-radius: 1.45rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head,
  body.template-page[data-page-handle="locator"] .ag-locator__results-head {
    padding-top: 1.1rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-meta,
  body.template-page[data-page-handle="locator"] .ag-locator__results-meta {
    min-width: 0;
    padding: 0.9rem 0.95rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-actions,
  body.template-page[data-page-handle="locator"] .ag-locator__results-actions {
    width: 100%;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-reset,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-collapse,
  body.template-page[data-page-handle="locator"] .ag-locator__results-reset,
  body.template-page[data-page-handle="locator"] .ag-locator__results-collapse {
    flex: 1 1 auto;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card-link,
  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-cta,
  body.template-page[data-page-handle="locator"] .ag-locator__rail-card-link,
  body.template-page[data-page-handle="locator"] .ag-locator__contact-cta {
    width: 100%;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stats,
  body.template-page[data-page-handle="locator"] .ag-locator__stats {
    grid-template-columns: 1fr;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stat,
  body.template-page[data-page-handle="locator"] .ag-locator__stat {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 0.85rem;
    align-items: start;
    text-align: left;
    padding: 1.1rem 1.2rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-icon,
  body.template-page[data-page-handle="locator"] .ag-locator__stat-icon {
    grid-row: 1 / 4;
    align-self: center;
    margin: 0;
    width: 2.75rem;
    height: 2.75rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__stat-value,
  body.template-page[data-page-handle="locator"] .ag-locator__stat-value {
    font-size: 1.65rem;
    line-height: 1;
    margin-bottom: 0.15rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact,
  body.template-page[data-page-handle="locator"] .ag-locator__contact {
    padding: 4rem 0;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-card,
  body.template-page[data-page-handle="locator"] .ag-locator__contact-card {
    padding: 1.35rem;
  }
}

/* ============================================================================
   FIND AGRIKO — HEADING SCALE CALIBRATION (Iteration 3)
   The section headings at 54–64px competed too closely with the 86px hero H1,
   consuming vertical space before users reached functional content.
   Targets: filters-title, results-title, stats-board-title, contact-title.
   Rail guide card: improved visual prominence since it's the sole rail item.
   ============================================================================ */

/* --- Section heading scale reduction --- */

body.template-page[data-page-handle="find-agriko"] .ag-locator__filters-title,
body.template-page[data-page-handle="locator"] .ag-locator__filters-title {
  font-size: clamp(1.65rem, 2.8vw, 2.4rem);
  line-height: 1.08;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__results-title,
body.template-page[data-page-handle="locator"] .ag-locator__results-title {
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  line-height: 1.1;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__stats-board-title,
body.template-page[data-page-handle="locator"] .ag-locator__stats-board-title {
  font-size: clamp(1.65rem, 2.8vw, 2.4rem);
  line-height: 1.08;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__contact-title,
body.template-page[data-page-handle="locator"] .ag-locator__contact-title {
  font-size: clamp(2.1rem, 3.6vw, 3.2rem);
}

/* --- Rail guide card: visual prominence --- */

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card--guide,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card--guide {
  background: linear-gradient(160deg, rgba(255, 253, 248, 0.98), rgba(245, 237, 224, 0.95));
  border: 1px solid rgba(107, 76, 42, 0.18);
  box-shadow: 0 10px 28px rgba(72, 49, 24, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-card--guide .ag-locator__rail-card-kicker,
body.template-page[data-page-handle="locator"] .ag-locator__rail-card--guide .ag-locator__rail-card-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  color: #8b6636;
}

body.template-page[data-page-handle="find-agriko"] details.ag-locator__rail-card--guide .ag-locator__rail-summary,
body.template-page[data-page-handle="locator"] details.ag-locator__rail-card--guide .ag-locator__rail-summary {
  padding: 0.25rem 0;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-chevron,
body.template-page[data-page-handle="locator"] .ag-locator__rail-chevron {
  color: var(--ag-locator-forest);
  opacity: 0.7;
}

/* --- Results-head grid: fix collapsed title column at 1024–1279px ---
   minmax(18rem, auto) expands greedily at narrow main-column widths,
   collapsing the 1fr title to 0px. Stack vertically until ≥1280px. */

@media (min-width: 1024px) and (max-width: 1279px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__results-head,
  body.template-page[data-page-handle="locator"] .ag-locator__results-head {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

/* ============================================================================
   FIND AGRIKO — INTERACTION POLISH (Iteration 5)
   1. Store-link hover: legible active state for "View on Map" pill
   2. Region-toggle expanded: scoped visual feedback when a region is open
   ============================================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link:hover,
body.template-page[data-page-handle="locator"] .ag-locator__store-link:hover {
  background: rgba(18, 57, 40, 0.14);
  border-color: rgba(18, 57, 40, 0.22);
  color: var(--ag-locator-forest);
  transform: translateY(-1px);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link:active,
body.template-page[data-page-handle="locator"] .ag-locator__store-link:active {
  transform: translateY(0);
  background: rgba(18, 57, 40, 0.18);
}

/* Region toggle — visual distinction when stores are expanded */
body.template-page[data-page-handle="find-agriko"] .ag-locator__region-toggle[aria-expanded="true"],
body.template-page[data-page-handle="locator"] .ag-locator__region-toggle[aria-expanded="true"] {
  background: rgba(14, 62, 41, 0.05);
  border-color: rgba(107, 76, 42, 0.26);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__region-toggle[aria-expanded="true"] .ag-locator__region-name,
body.template-page[data-page-handle="locator"] .ag-locator__region-toggle[aria-expanded="true"] .ag-locator__region-name {
  color: var(--ag-locator-forest);
  font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__store-link,
  body.template-page[data-page-handle="locator"] .ag-locator__store-link {
    transition: none !important;
  }
}

/* ============================================================================
   FIND AGRIKO — CHAIN HEADER DEPTH (Iteration 6)
   The ::before pseudo-element was provisioned but left transparent in base CSS.
   Activating a top-right radial highlight gives each chain card header the
   same premium light-source feel as the stats and filter cards.
   ============================================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header::before,
body.template-page[data-page-handle="locator"] .ag-locator__chain-header::before {
  background: radial-gradient(ellipse at 80% 20%, rgba(255, 255, 255, 0.12) 0%, transparent 65%);
}

/* Stronger highlight for the terra-toned Gaisano card — the terra base is darker
   than forest green so the same opacity reads lighter; compensate down slightly. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__chain-header--gaisano-grand::before,
body.template-page[data-page-handle="locator"] .ag-locator__chain-header--gaisano-grand::before {
  background: radial-gradient(ellipse at 80% 20%, rgba(255, 255, 255, 0.09) 0%, transparent 60%);
}

/* ============================================================================
   FIND AGRIKO — STORE-MORE-TOGGLE TOUCH TARGET (Iteration 7)
   Base CSS sets padding: 0.65rem which yields ~39px height — below WCAG AAA.
   min-height raises the "Show N more" button to the 44px threshold.
   ============================================================================ */

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-more-toggle,
body.template-page[data-page-handle="locator"] .ag-locator__store-more-toggle {
  min-height: 2.75rem; /* 44px WCAG AAA touch target */
  border-color: rgba(18, 57, 40, 0.14);
  background: rgba(255, 255, 255, 0.92);
  color: var(--ag-locator-forest);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-more-toggle:hover,
body.template-page[data-page-handle="locator"] .ag-locator__store-more-toggle:hover {
  background: rgba(255, 255, 255, 1);
  border-color: rgba(18, 57, 40, 0.22);
}

body.template-page[data-page-handle="find-agriko"] .ag-locator__store-more-toggle:focus-visible,
body.template-page[data-page-handle="locator"] .ag-locator__store-more-toggle:focus-visible {
  outline: 2px solid rgba(246, 185, 0, 0.7);
  outline-offset: 3px;
}

/* Rail-card summary (<details>/<summary> toggle) had no :focus-visible state. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__rail-summary:focus-visible,
body.template-page[data-page-handle="locator"] .ag-locator__rail-summary:focus-visible {
  outline: 2px solid rgba(246, 185, 0, 0.7);
  outline-offset: 3px;
  border-radius: 0.5rem;
}

/* Search input: always truncate with ellipsis so overflowing placeholder/value
   degrades gracefully instead of hard-clipping mid-word at small viewports. */
body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input,
body.template-page[data-page-handle="locator"] .ag-locator__search-input {
  text-overflow: ellipsis;
}

/* At ≤430px the 3rem icon padding leaves the placeholder tight; scale down
   slightly so it fits without ellipsis on most phones. */
@media (max-width: 430px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input,
  body.template-page[data-page-handle="locator"] .ag-locator__search-input {
    font-size: 0.875rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input::placeholder,
  body.template-page[data-page-handle="locator"] .ag-locator__search-input::placeholder {
    font-size: 0.875rem;
  }
}

/* At 768–1023px the filters grid `auto` column size equals two dropdowns'
   min-content (~23rem), leaving the search almost invisible. Use a fixed
   fr + rem split. 21rem gives each dropdown 161px (101px text area) which
   comfortably shows "All Regions" without clipping. */
@media (min-width: 768px) and (max-width: 1023px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__filters,
  body.template-page[data-page-handle="locator"] .ag-locator__filters {
    grid-template-columns: 1fr 21rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown,
  body.template-page[data-page-handle="locator"] .ag-locator__dropdown {
    min-width: 10rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__search-input,
  body.template-page[data-page-handle="locator"] .ag-locator__search-input {
    font-size: 0.875rem;
  }
}

/* At 1024–1099px the discovery switches to a 2-column layout and the
   discovery-rail moves to the right sidebar (~296px). The unscoped
   768–1099px rule from iteration 6 still applies repeat(3,1fr) there,
   making each rail card only ~100px wide. Override to a single column
   stack now that the rail has its own narrow column. */
@media (min-width: 1024px) and (max-width: 1099px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__discovery-rail,
  body.template-page[data-page-handle="locator"] .ag-locator__discovery-rail {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
}

/* At 1024–1199px the filter grid `auto` column resolves to ~478px
   (max-content of two dropdowns), leaving the search input 68px
   (barely usable). Pin the dropdown column to 21rem so the search
   gets meaningful space. Same value used for 768–1023px range above. */
@media (min-width: 1024px) and (max-width: 1199px) {
  body.template-page[data-page-handle="find-agriko"] .ag-locator__filters,
  body.template-page[data-page-handle="locator"] .ag-locator__filters {
    grid-template-columns: 1fr 21rem;
  }

  body.template-page[data-page-handle="find-agriko"] .ag-locator__dropdown,
  body.template-page[data-page-handle="locator"] .ag-locator__dropdown {
    min-width: 10rem;
  }
}

