.directory-view-controls { display: none; }
.directory-results { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; }
.directory-results > *, .directory-results .provider-info { min-width: 0; }
.directory-results .map-column { position: sticky; top: 110px; scroll-margin-top: 110px; }
.directory-results .sticky-map { position: relative; top: 0; height: min(60vh, 560px); min-height: 320px; margin: 0; }
.directory-results #results-map { width: 100%; height: 100%; background: #eef2f6; }
.directory-results .sticky-map img { width: auto; height: auto; max-width: none; object-fit: initial; }
.map-location-note { font-size: .875rem; line-height: 1.5; margin: 0 0 12px; color: var(--slate-600); }
.map-status { padding: 24px; line-height: 1.6; }
.map-list-number { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; margin-right: 10px; border-radius: 8px; background: #eaf1ff; color: #1e40af; font-size: .875rem; font-variant-numeric: tabular-nums; vertical-align: middle; }
.directory-results .provider-actions { flex-wrap: wrap; gap: 12px; }
.show-on-map, .map-selection button { background: transparent; border: 0; padding: 10px 0; font: inherit; font-size: .875rem; color: #1e40af; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.show-on-map:disabled { color: var(--slate-500); cursor: default; text-decoration: none; }
.directory-results .provider-card-h { scroll-margin-top: 110px; }
.directory-results .is-map-selected { border-color: #2563eb; box-shadow: 0 0 0 2px #dbeafe; }
.map-selection { margin-top: 16px; padding: 20px; background: white; border-radius: 12px; }
.map-selection h3 { font-size: 1rem; margin-bottom: 8px; }
.map-selection p, .map-popup p { font-size: .875rem; margin: 8px 0; }
.map-selection a { display: inline-block; margin-right: 20px; color: #1e40af; }
.map-selection[hidden] { display: none; }
.directory-view-controls button:focus-visible, .show-on-map:focus-visible, .map-selection button:focus-visible, .directory-results .provider-card-h:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.directory-view-controls button:active, .show-on-map:active { transform: translateY(1px); }
@media (max-width: 1024px) {
  .directory-view-controls { display: flex; gap: 4px; width: fit-content; margin: 0 auto 24px; padding: 5px; border-radius: 14px; background: #e8edf5; }
  .directory-view-controls button { font: inherit; font-weight: 600; border: 0; padding: 12px 30px; border-radius: 10px; color: var(--slate-600); background: transparent; cursor: pointer; min-height: 44px; }
  .directory-view-controls button[aria-pressed="true"] { color: #172554; background: white; box-shadow: 0 2px 8px #1e3a5f12; }
  .directory-results { grid-template-columns: minmax(0, 1fr); }
  .directory-results .map-column { position: static; }
  .directory-results[data-view="list"] .map-column, .directory-results[data-view="map"] > .provider-list { display: none; }
  .directory-results .sticky-map { height: min(55dvh, 480px); min-height: 300px; }
  .footer-grid > * { min-width: 0; }
  .footer-brand .logo-footer { max-width: 100%; }
}
@media (max-width: 600px) {
  .footer-contact { grid-column: 1 / -1; }
}
