/* Locations directory (/locations/). Loaded only on that page by inc/locations-directory.php.
   Palette: AAAC blacks (#212832) with alpha variants; map tones listed #bfc2c7 / none #ebebed.
   Breakpoint 992px (desktop = map + table, mobile = cards + sheet), matching the NAGA directory. */
.ld, .ld-hero, .ld-callout {
  --ld-ink: #212832;
  --ld-ink-60: rgba(33, 40, 50, 0.62);
  --ld-ink-15: rgba(33, 40, 50, 0.15);
  --ld-ink-05: rgba(33, 40, 50, 0.05);
  --ld-fill: rgba(217, 217, 217, 0.4);
  --ld-listed: #bfc2c7;
  --ld-none: #ebebed;
  --ld-orange: #f06822;
  font-family: "Inter", "Inter-regular", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--ld-ink);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.ld *, .ld-hero *, .ld-callout * { box-sizing: border-box; }
.ld p, .ld-hero p, .ld-callout p, .ld ul, .ld dl, .ld h1, .ld h2, .ld-hero h1 { margin: 0; padding: 0; }
.ld ul { list-style: none; }
.ld-container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 5%; }
@media (min-width: 1440px) { .ld-container { padding: 0; } }
.ld-icon { display: inline-block; width: 1em; height: 1em; flex: none; vertical-align: -0.125em; } /* theme reset makes svg display:block */
.ld-muted { color: var(--ld-ink-60); font-size: 0.875rem; }
.ld-label { font-size: 0.8125rem; font-weight: 600; color: var(--ld-ink); }
.ld-h2 { font-family: "InterExtraBold", "Inter", sans-serif; font-weight: 800; font-size: 1.5rem; line-height: 1.3; letter-spacing: -0.02em; }
.ld-desktop-only { display: none !important; }
.ld-desktop-inline { display: none; }
@media (min-width: 992px) {
  .ld-desktop-only { display: block !important; }
  .ld-map-col.ld-desktop-only, .ld-pagination.ld-desktop-only { display: flex !important; } /* the visibility rule must not flatten flex rows */
  .ld-desktop-inline { display: inline; }
  .ld-mobile-only { display: none !important; }
}

/* Buttons. Element-qualified selectors: the theme's Tailwind reset styles [type="submit"]/[type="button"]
   with the same specificity as a bare class and loads later (output.css), so plain .ld-btn would lose. */
a.ld-btn, button.ld-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  min-height: 3rem; padding: 0.625rem 1.5rem; border-radius: 6px; border: 1px solid var(--ld-ink);
  background: var(--ld-ink); color: #fff; font: inherit; font-weight: 500; font-size: 1rem;
  cursor: pointer; text-decoration: none; transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
a.ld-btn:hover, button.ld-btn:hover { background: #0f141b; border-color: #0f141b; color: #fff; }
a.ld-btn--ghost, button.ld-btn--ghost { background: #fff; color: var(--ld-ink); border-color: var(--ld-ink-15); }
a.ld-btn--ghost:hover, button.ld-btn--ghost:hover { background: var(--ld-ink-05); border-color: var(--ld-ink-15); color: var(--ld-ink); }
a.ld-btn--light, button.ld-btn--light { background: #fff; color: var(--ld-ink); border-color: #fff; }
a.ld-btn--light:hover, button.ld-btn--light:hover { background: #e9ebee; border-color: #e9ebee; color: var(--ld-ink); }
.ld-btn--block { width: 100%; }
.ld-btn:focus-visible, .ld-iconbtn:focus-visible, .ld-select__trigger:focus-visible, .ld-link:focus-visible,
.ld-link-muted:focus-visible, .ld-top button:focus-visible, .ld-chips button:focus-visible, .ld-pagination button:focus-visible {
  outline: 2px solid var(--ld-ink); outline-offset: 2px;
}
.ld-link { background: none; border: 0; padding: 0; font: inherit; font-size: 0.8125rem; font-weight: 500; color: var(--ld-ink); cursor: pointer; text-underline-offset: 4px; }
.ld-link:hover { text-decoration: underline; }
.ld-link-muted { display: inline-flex; align-items: center; gap: 0.375rem; background: none; border: 0; padding: 0; font: inherit; font-size: 0.8125rem; color: var(--ld-ink-60); cursor: pointer; }
.ld-link-muted:hover { color: var(--ld-ink); }
.ld-iconbtn {
  display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem;
  border: 1px solid var(--ld-ink-15); border-radius: 6px; color: var(--ld-ink); background: #fff;
  font-size: 1rem; text-decoration: none; transition: background-color 0.15s;
}
.ld-iconbtn:hover { background: var(--ld-ink-05); color: var(--ld-ink); }

/* Hero */
.ld-hero { background: var(--ld-ink); color: #fff; padding: 3rem 0; }
.ld-hero__grid { display: flex; flex-direction: column; gap: 1.5rem; }
.ld-eyebrow { font-size: 0.875rem; font-weight: 600; letter-spacing: 0.02em; color: rgba(255, 255, 255, 0.7); }
.ld-hero__title { font-family: "InterExtraBold", "Inter", sans-serif; font-weight: 800; font-size: 2.25rem; line-height: 1.15; letter-spacing: -0.02em; margin-top: 0.75rem; color: #fff; }
.ld-hero__lede { margin-top: 1.25rem; font-size: 1rem; line-height: 1.6; color: rgba(255, 255, 255, 0.8); max-width: 48rem; }
.ld-note { border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; padding: 1.25rem; background: rgba(255, 255, 255, 0.04); }
.ld-note__title { display: flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 1rem; color: #fff; }
.ld-note__title .ld-icon { font-size: 1.125rem; }
.ld-note__body { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.6; color: rgba(255, 255, 255, 0.75); }
.ld-note__link { display: inline-flex; align-items: center; gap: 0.25rem; margin-top: 1rem; font-size: 0.875rem; font-weight: 500; color: #fff; text-decoration: none; }
.ld-note__link:hover { text-decoration: underline; text-underline-offset: 4px; color: #fff; }
@media (min-width: 992px) {
  .ld-hero { padding: 6rem 0; }
  .ld-hero__grid { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 5rem; }
  .ld-hero__copy { max-width: 47.5rem; }
  .ld-hero__title { font-size: 3.5rem; }
  .ld-hero__lede { font-size: 1.125rem; }
  .ld-note { width: 27.5rem; flex: none; padding: 1.5rem; }
}

/* Layout */
.ld { padding: 2rem 0 4rem; background: #fff; }
.ld-stack { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 992px) { .ld { padding: 4rem 0 7rem; } .ld-stack { gap: 2.5rem; } }

/* Filter bar */
.ld-filters { display: flex; flex-direction: column; gap: 0.75rem; }
.ld-search { position: relative; display: flex; align-items: center; flex: 1 1 auto; min-width: 0; }
.ld-search .ld-icon { position: absolute; left: 1rem; font-size: 1.125rem; color: var(--ld-ink-60); pointer-events: none; }
.ld-search input, .ld-select__search input {
  width: 100%; min-height: 3rem; padding: 0.625rem 1rem 0.625rem 2.75rem; border: 1px solid var(--ld-ink-15); border-radius: 6px;
  background: #fff; color: var(--ld-ink); font: inherit; font-size: 1rem; -webkit-appearance: none; appearance: none;
}
.ld-search input::placeholder, .ld-select__search input::placeholder { color: var(--ld-ink-60); opacity: 1; font-family: inherit; font-weight: 400; text-transform: none; letter-spacing: normal; }
.ld-search input:focus, .ld-select__search input:focus { outline: none; border-color: var(--ld-ink); }
.ld-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ld-hint { margin-top: -0.375rem; font-size: 0.8125rem; color: var(--ld-ink-60); }
@media (min-width: 992px) {
  .ld-filters { flex-direction: row; align-items: center; gap: 1rem; }
  .ld-filters__submit { flex: none; }
}

/* State multi-select */
.ld-select { position: relative; }
button.ld-select__trigger {
  display: flex; align-items: center; gap: 0.5rem; width: 100%; min-height: 3rem; padding: 0.625rem 1rem; border: 1px solid var(--ld-ink-15);
  border-radius: 6px; background: #fff; color: var(--ld-ink); font: inherit; font-size: 1rem; text-align: left; cursor: pointer; transition: border-color 0.15s, background-color 0.15s;
}
button.ld-select__trigger:hover { background: var(--ld-ink-05); }
.ld-select__trigger[aria-expanded="true"] { border-color: var(--ld-ink); }
.ld-select__value { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ld-ink-60); }
.ld-select__value.has-value { color: var(--ld-ink); font-weight: 500; }
.ld-select__count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; height: 1.25rem; padding: 0 0.4375rem; border-radius: 999px; background: var(--ld-ink); color: #fff; font-size: 0.75rem; font-weight: 600; line-height: 1; }
.ld-select__chevron { font-size: 1.125rem; transition: transform 0.2s; }
.ld-select__trigger[aria-expanded="true"] .ld-select__chevron { transform: rotate(180deg); }
.ld-select__scrim { position: fixed; inset: 0; z-index: 60; border: 0; padding: 0; background: rgba(33, 40, 50, 0.6); cursor: default; }
.ld-select__panel {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 61; display: flex; flex-direction: column; max-height: 88vh; background: #fff;
  border-radius: 16px 16px 0 0; box-shadow: 0 -12px 40px rgba(4, 6, 8, 0.3); overflow: hidden;
}
.ld-select__head { display: flex; flex-direction: column; gap: 0.75rem; padding: 0.5rem 1.25rem 0.75rem; border-bottom: 1px solid var(--ld-ink-15); }
.ld-select__handle { width: 2.5rem; height: 0.25rem; margin: 0 auto; border-radius: 999px; background: rgba(33, 40, 50, 0.2); }
.ld-select__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ld-select__row-actions { display: flex; align-items: center; gap: 0.75rem; }
.ld-select__title { font-size: 1.25rem; font-weight: 700; }
.ld-select__title-desktop { display: none; }
.ld-select__close { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: 0; border-radius: 6px; background: none; color: var(--ld-ink); font-size: 1.25rem; cursor: pointer; }
.ld-select__close:hover { background: var(--ld-ink-05); }
.ld-select__search { position: relative; display: flex; align-items: center; }
.ld-select__search .ld-icon { position: absolute; left: 0.75rem; font-size: 1rem; color: var(--ld-ink-60); pointer-events: none; }
.ld-select__search input { min-height: 2.75rem; padding-left: 2.25rem; font-size: 0.9375rem; }
.ld-select__list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 0 0.25rem; }
.ld-select__group { padding: 0.75rem 1rem 0.25rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ld-ink-60); }
.ld-select__options li + li { border-top: 1px solid rgba(33, 40, 50, 0.09); }
.ld-select__option { display: flex; align-items: center; gap: 0.75rem; min-height: 2.75rem; padding: 0.625rem 1rem; font-size: 0.9375rem; cursor: pointer; }
.ld-select__option:hover { background: var(--ld-ink-05); }
.ld-select__option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ld-check { display: inline-flex; align-items: center; justify-content: center; width: 1.25rem; height: 1.25rem; flex: none; border: 1px solid rgba(33, 40, 50, 0.4); border-radius: 4px; background: #fff; color: #fff; font-size: 0.875rem; }
.ld-select__option input:checked + .ld-check { background: var(--ld-ink); border-color: var(--ld-ink); }
.ld-select__option input:focus-visible + .ld-check { outline: 2px solid var(--ld-ink); outline-offset: 2px; }
.ld-select__option-name { flex: 1 1 auto; color: var(--ld-ink); }
.ld-select__option input:checked ~ .ld-select__option-name { font-weight: 500; }
.ld-select__option-n { font-size: 0.8125rem; color: var(--ld-ink-60); font-variant-numeric: tabular-nums; }
.ld-select__option-n.is-zero { color: rgba(33, 40, 50, 0.35); }
.ld-select__empty { padding: 1rem; font-size: 0.875rem; color: var(--ld-ink-60); }
.ld-select__foot { display: flex; gap: 0.5rem; padding: 0.75rem 1.25rem max(1.25rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--ld-ink-15); background: #fff; }
button.ld-select__cancel { display: none; }
.ld-select__apply { flex: 1 1 auto; }
.ld-select__apply-desktop { display: none; }
.ld-select__apply-mobile { display: inline-flex; align-items: center; gap: 0.5rem; }
.ld-select__apply-mobile .ld-icon { font-size: 1.25rem; }
body.ld-sheet-open { overflow: hidden; }
@media (min-width: 992px) {
  .ld-select { width: 19rem; flex: none; }
  .ld-select__scrim { display: none !important; }
  .ld-select__panel { position: absolute; top: calc(100% + 0.5rem); left: 0; right: auto; bottom: auto; width: 22rem; max-height: 70vh; border: 1px solid var(--ld-ink-15); border-radius: 8px; box-shadow: 0 16px 40px -12px rgba(4, 6, 8, 0.25); z-index: 40; }
  .ld-select__handle, .ld-select__close, .ld-select__title-mobile, .ld-select__apply-mobile { display: none; }
  .ld-select__title-desktop, .ld-select__apply-desktop { display: inline; }
  .ld-select__head { padding: 0.75rem 0.75rem 0.5rem; }
  .ld-select__title { font-size: 0.8125rem; font-weight: 600; }
  .ld-select__foot { justify-content: flex-end; padding: 0.75rem; }
  button.ld-select__cancel { display: inline-flex; }
  .ld-select__cancel, .ld-select__apply { flex: none; min-height: 2.5rem; padding: 0.5rem 1rem; font-size: 0.875rem; }
}

/* Map + sidebar */
.ld-explore { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.ld-map-col { display: flex; flex-direction: column; gap: 1.5rem; }
.ld-map-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.5rem 1.5rem; }
.ld-map-head .ld-muted { margin-top: 0.25rem; }
.ld-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 1rem; font-size: 0.75rem; color: var(--ld-ink-60); }
.ld-legend li { display: flex; align-items: center; gap: 0.375rem; }
.ld-legend__swatch { width: 0.625rem; height: 0.625rem; border-radius: 2px; }
.ld-legend__swatch.is-selected { background: var(--ld-ink); }
.ld-legend__swatch.is-listed { background: var(--ld-listed); }
.ld-legend__swatch.is-none { background: var(--ld-none); }
.ld-map { display: block; width: 100%; height: auto; max-width: 47.5rem; margin: 0 auto; }
.ld-map path { stroke: #fff; stroke-width: 1.5; cursor: pointer; transition: fill 0.15s; outline: none; }
.ld-map path[data-tone="none"] { fill: var(--ld-none); }
.ld-map path[data-tone="none"]:hover { fill: #d9dbdf; }
.ld-map path[data-tone="listed"] { fill: var(--ld-listed); }
.ld-map path[data-tone="listed"]:hover { fill: #a6aab1; }
.ld-map path[data-tone="selected"] { fill: var(--ld-ink); }
.ld-map path[data-tone="selected"]:hover { fill: #3a4250; }
.ld-map path:focus-visible { stroke: var(--ld-ink); stroke-width: 2; }
.ld-map-hint { text-align: center; font-size: 0.75rem; color: var(--ld-ink-60); }
.ld-side { display: flex; flex-direction: column; gap: 1.5rem; }
.ld-card { border: 1px solid var(--ld-ink-15); border-radius: 8px; background: #fff; padding: 1.25rem; }
.ld-card__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ld-card__title { margin-top: 0.5rem; font-family: "InterExtraBold", "Inter", sans-serif; font-weight: 800; font-size: 1.625rem; line-height: 1.2; letter-spacing: -0.02em; }
.ld-card__title.is-empty { color: var(--ld-ink-60); font-family: "Inter", sans-serif; font-weight: 700; font-size: 1.25rem; }
.ld-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.ld-stats dd { margin: 0; font-family: "InterExtraBold", "Inter", sans-serif; font-weight: 800; font-size: 1.5rem; line-height: 1.2; color: var(--ld-ink); }
.ld-stats dt { font-size: 0.8125rem; color: var(--ld-ink-60); }
.ld-cities { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--ld-ink-15); }
.ld-cities__list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.ld-cities__list li, .ld-cities__more { display: inline-flex; align-items: center; padding: 0.125rem 0.5rem; border: 1px solid var(--ld-ink-15); border-radius: 6px; background: var(--ld-fill); font-size: 0.75rem; color: var(--ld-ink); }
.ld-cities__more { background: #fff; font: inherit; font-size: 0.75rem; font-weight: 500; cursor: pointer; }
.ld-cities__more:hover { background: var(--ld-ink-05); }
.ld-card__hint { margin-top: 1rem; font-size: 0.75rem; color: var(--ld-ink-60); }
.ld-top ul { display: flex; flex-direction: column; gap: 0.625rem; margin-top: 0.75rem; }
.ld-top button { display: grid; grid-template-columns: 6.875rem minmax(0, 1fr) 1.5rem; align-items: center; gap: 0.75rem; width: 100%; border: 0; padding: 0; background: none; font: inherit; font-size: 0.875rem; color: var(--ld-ink); text-align: left; cursor: pointer; }
.ld-top button:hover .ld-top__name { text-decoration: underline; text-underline-offset: 4px; }
.ld-top button[aria-pressed="true"] .ld-top__name { font-weight: 600; }
.ld-top__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-top__track { display: block; height: 0.5rem; border-radius: 999px; background: var(--ld-fill); overflow: hidden; }
.ld-top__bar { display: block; height: 100%; border-radius: 999px; background: var(--ld-listed); }
.ld-top li:first-child .ld-top__bar, .ld-top button[aria-pressed="true"] .ld-top__bar { background: var(--ld-ink); }
.ld-top__n { text-align: right; font-size: 0.875rem; font-weight: 500; font-variant-numeric: tabular-nums; }
@media (min-width: 992px) {
  .ld-explore { grid-template-columns: minmax(0, 1fr) minmax(0, 28.5rem); gap: 4rem; }
  .ld-card { padding: 1.5rem; }
  .ld-card__title { font-size: 1.875rem; }
  .ld-stats dd { font-size: 1.75rem; }
}

/* Results */
.ld-results { display: flex; flex-direction: column; gap: 1rem; scroll-margin-top: 6rem; }
.ld-results__head { display: flex; flex-direction: column; gap: 1rem; }
.ld-results__copy { max-width: 47.5rem; }
.ld-results__copy .ld-muted { margin-top: 0.5rem; }
.ld-sort { display: inline-flex; align-items: center; gap: 0.5rem; align-self: flex-start; padding: 0 0.75rem; border: 1px solid var(--ld-ink-15); border-radius: 6px; background: #fff; font-size: 0.875rem; }
.ld-sort select { min-height: 2.375rem; border: 0; background: transparent; font: inherit; font-size: 0.875rem; font-weight: 500; color: var(--ld-ink); padding-right: 0.25rem; }
.ld-sort select:focus { outline: none; }
.ld-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.875rem; }
button.ld-chips__chip { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.25rem 0.625rem 0.25rem 0.75rem; border: 0; border-radius: 6px; background: var(--ld-ink); color: #fff; font: inherit; font-size: 0.8125rem; cursor: pointer; }
button.ld-chips__chip:hover { background: #0f141b; }
.ld-chips__chip .ld-icon { font-size: 0.75rem; opacity: 0.7; }
.ld-chips__reset { margin-left: 0.25rem; background: none; border: 0; padding: 0; font: inherit; font-size: 0.875rem; font-weight: 500; color: var(--ld-ink); cursor: pointer; text-underline-offset: 4px; }
.ld-chips__reset:hover { text-decoration: underline; }
.ld-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; padding: 1.5rem; border: 1px solid var(--ld-ink-15); border-radius: 8px; background: var(--ld-fill); }
.ld-empty__title { font-size: 1.125rem; font-weight: 700; }
@media (min-width: 992px) {
  .ld-results { gap: 1.5rem; }
  .ld-results__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  .ld-sort { align-self: auto; }
  .ld-empty { padding: 2rem; }
}

/* Desktop table */
.ld-table-wrap { border: 1px solid var(--ld-ink-15); border-radius: 8px; background: #fff; overflow: hidden; }
.ld-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.ld-table thead tr { background: var(--ld-fill); }
.ld-table th { padding: 0.75rem 1.5rem; text-align: left; font-size: 0.8125rem; font-weight: 600; color: var(--ld-ink); white-space: nowrap; }
.ld-table th .ld-sort-icon { vertical-align: -0.125em; color: var(--ld-ink-60); font-size: 0.875rem; }
.ld-th-contact { text-align: right !important; }
.ld-table td { padding: 1.25rem 1.5rem; border-top: 1px solid var(--ld-ink-15); vertical-align: middle; }
.ld-table tbody tr:hover { background: rgba(33, 40, 50, 0.025); }
.ld-td-location { min-width: 18rem; }
.ld-loc-cell { display: flex; align-items: center; gap: 1rem; }
.ld-badge { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 3rem; height: 3rem; border-radius: 999px; background: var(--ld-ink); color: #fff; font-size: 0.9375rem; font-weight: 700; letter-spacing: 0.03em; transition: background-color 0.15s; }
.ld-badge--sm { width: 2.75rem; height: 2.75rem; font-size: 0.875rem; }
.ld-loc { display: flex; flex-direction: column; gap: 0.125rem; min-width: 0; }
.ld-loc__name { font-size: 1.125rem; font-weight: 600; color: var(--ld-ink); text-decoration: none; }
a.ld-loc__name:hover { text-decoration: underline; text-underline-offset: 4px; color: var(--ld-ink); }
.ld-loc__site { font-size: 0.8125rem; color: var(--ld-ink-60); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-td-owner { width: 15rem; font-size: 1rem; }
.ld-owner { display: inline-flex; align-items: center; gap: 0.5rem; }
.ld-owner__photo { width: 1.75rem; height: 1.75rem; flex: none; border-radius: 999px; object-fit: cover; }
.ld-owner .ld-icon { font-size: 0.875rem; color: var(--ld-ink-60); }
.ld-td-counties { width: 19rem; }
.ld-td-contact { width: 14rem; }
.ld-contact { display: flex; align-items: center; justify-content: flex-end; gap: 0.375rem; }
.ld-table .ld-muted { font-size: inherit; }

/* Pagination */
.ld-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ld-pagination nav { display: flex; align-items: center; gap: 0.5rem; }
.ld-pagination button { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--ld-ink-15); border-radius: 6px; background: #fff; font: inherit; font-size: 0.875rem; font-weight: 500; color: var(--ld-ink); cursor: pointer; }
.ld-pagination button:hover { background: var(--ld-ink-05); }
.ld-pagination button[aria-current="page"] { background: var(--ld-ink); border-color: var(--ld-ink); color: #fff; }
.ld-pagination button:disabled { opacity: 0.4; cursor: default; background: #fff; }

/* Mobile cards */
.ld-cards { display: flex; flex-direction: column; gap: 0.75rem; }
.ld-cardrow { display: flex; flex-direction: column; gap: 0.75rem; padding: 1rem; border: 1px solid var(--ld-ink-15); border-radius: 8px; background: #fff; }
.ld-cardrow__top { display: flex; align-items: center; gap: 0.75rem; }
.ld-cardrow__text { display: flex; flex-direction: column; gap: 0.125rem; min-width: 0; }
.ld-cardrow__name { font-size: 1.0625rem; font-weight: 600; color: var(--ld-ink); text-decoration: none; }
.ld-cardrow__owner { font-size: 0.8125rem; color: var(--ld-ink-60); }
.ld-cardrow__owner .ld-owner__photo { width: 1.25rem; height: 1.25rem; }
.ld-cardrow__counties .ld-label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ld-ink-60); }
.ld-cardrow__counties p { margin-top: 0.125rem; font-size: 0.875rem; }
.ld-cardrow__bottom { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.ld-chip { display: inline-flex; align-items: center; padding: 0.125rem 0.5rem; border: 1px solid var(--ld-ink); border-radius: 6px; background: var(--ld-ink); color: #fff; font-size: 0.75rem; font-weight: 600; }
.ld-more { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; }
.ld-more .ld-muted { font-size: 0.75rem; }

/* Franchise callout */
.ld-callout { background: var(--ld-ink); color: #fff; padding: 1.5rem; border-radius: 8px; }
.ld-callout__inner { display: flex; flex-direction: column; gap: 1.5rem; }
.ld-callout__title { font-family: "InterExtraBold", "Inter", sans-serif; font-weight: 800; font-size: 1.5rem; line-height: 1.2; letter-spacing: -0.02em; color: #fff; }
.ld-callout__copy p { margin-top: 0.75rem; font-size: 0.9375rem; line-height: 1.6; color: rgba(255, 255, 255, 0.8); max-width: 60rem; }
.ld-callout__actions { display: flex; flex-direction: column; gap: 0.75rem; }
.ld-callout__phone { display: inline-flex; align-items: center; gap: 0.5rem; color: #fff; font-weight: 500; text-decoration: none; }
.ld-callout__phone:hover { text-decoration: underline; text-underline-offset: 4px; color: #fff; }
@media (min-width: 992px) {
  .ld-callout { padding: 2rem; }
  .ld-callout__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 3rem; }
  .ld-callout__actions { flex-direction: row; align-items: center; gap: 1.5rem; flex: none; }
}

/* JS-driven visibility that must beat the responsive display rules. */
.ld-is-hidden { display: none !important; }
