/* Shared guide design tokens and fundamental interaction states. */
:root {
    --ah-guide-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ah-guide-width: 1140px;
    --ah-guide-orange: #f36629;
    --ah-guide-ink: #0f172a;
    --ah-guide-border: #e2e8f0;
    --ah-guide-surface: #fff;
}
.ah-local [hidden], .ah-train-shell [hidden] { display: none !important; }
.ah-local { max-width: var(--ah-guide-width); font-family: var(--ah-guide-font); }
.ah-local h1, .ah-local h2, .ah-local h3, .ah-local strong,
.ah-local button, .ah-local input, .ah-local select { font-family: var(--ah-guide-font); }
.ah-local :focus-visible, .ah-train-shell :focus-visible { outline: 2px solid var(--ah-guide-orange); outline-offset: 2px; }
.ah-local .ah-route-faq, .ah-local .ah-route-contact { background: var(--ah-guide-surface); }
@media (prefers-reduced-motion: reduce) {
    .ah-local *, .ah-train-shell * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.ah-local .ah-icon-btn { overflow: hidden; }

/* Only guide form controls: neutralize theme borders/shadows without changing layout. */
:is(.ah-local, .ah-train-shell) :is(
    input:not([type]), input[type="text"], input[type="search"], input[type="email"],
    input[type="password"], input[type="tel"], input[type="url"], input[type="number"],
    input[type="date"], input[type="time"], select, textarea
) {
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--ah-guide-border) !important;
    box-shadow: none !important;
    outline: none !important;
}
:is(.ah-local, .ah-train-shell) :is(input, select, textarea):focus-visible {
    outline: 1px solid var(--ah-guide-orange) !important;
    outline-offset: 2px;
}
/* Search/filter controls already have a border on their enclosing box. */
.ah-local :is(.ah-city-search, .ah-search, .ah-place-search, .ah-place-select) :is(input, select) {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}
.ah-local :is(.ah-city-search label, .ah-search, .ah-place-search, .ah-place-select):has(:focus-visible) {
    outline: 1px solid var(--ah-guide-orange);
    outline-offset: 2px;
}
/* Hash navigation focuses a whole tab panel; avoid a heavy frame around its cards. */
.ah-local [role="tabpanel"]:focus {
    outline: 1px solid var(--ah-guide-border) !important;
    outline-offset: 0;
    box-shadow: none !important;
}

/* Address and optional client-side proximity sorting in service lists. */
.ah-local [data-nearby-pool][hidden],.ah-local [data-nearby-card][hidden],.ah-local [data-nearby-distance][hidden],.ah-local .ah-place-pagination[hidden]{display:none!important}
.ah-list-address{display:flex;align-items:flex-start;gap:7px;font:400 13px/1.6 var(--ah-guide-font,system-ui);color:#475569;margin:10px 0;overflow-wrap:anywhere}
.ah-list-address .material-symbols-outlined{color:#f36629;font-size:18px;flex:none}
.ah-nearby-distance{display:block;font:600 12px/1.5 var(--ah-guide-font,system-ui);color:#c2410c;margin:10px 0}
[data-nearby-controls]{margin:16px 0}[data-nearby-status]{font:400 13px/1.6 var(--ah-guide-font,system-ui);color:#64748b}

.ah-list-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.ah-list-contacts .ah-list-address{flex:1 1 220px}.ah-list-contacts .ah-pharmacy-info-row{flex:1 1 200px}

.ah-destination .ah-dest-actions{flex-wrap:wrap;gap:8px}.ah-destination a.ah-dest-call{background:#f36629;color:#fff;padding:10px 15px;text-decoration:none}.ah-destination a.ah-dest-call:hover{background:#e6571d;color:#fff}.ah-destination a.ah-dest-call:focus-visible{outline:2px solid #f36629;outline-offset:3px}
@media(max-width:820px){.ah-destination .ah-dest-actions{align-self:flex-start;margin-top:0}}
