:root{--header-height:90px}html{scroll-padding-top:calc(var(--header-height) + 24px)}.header{position:sticky;top:0;z-index:100}.results-map{top:calc(var(--header-height) + 16px)}.results-map .leaflet-map{height:clamp(280px,38vh,400px)}
.emergency-ticker{background:var(--green-dark);color:white;font-size:11px}.emergency-track{display:flex;align-items:center;justify-content:center;gap:24px;min-height:34px;overflow-x:auto;white-space:nowrap}.emergency-track a{padding-block:6px;color:white}.emergency-track bdi{font-weight:800;padding-inline-start:6px}.emergency-track>a:first-child{font-weight:800;letter-spacing:.08em}
.map-nearby-cta{margin-top:16px;padding:20px;border-radius:12px;background:var(--green-dark);color:white;text-align:start}.map-nearby-cta .eyebrow{color:var(--lime);margin-bottom:8px}.map-nearby-cta p{color:white;font-size:13px;line-height:1.7}.map-nearby-cta .button{margin-block:16px 8px;background:var(--lime);color:var(--ink);width:100%;font-size:14px;min-height:48px}.map-nearby-cta small{display:block;font-size:11px;color:#dfebe3}.results-map>.notice{margin-block:12px}.map-panel h2{font-size:16px}
.autocomplete{position:relative;display:block;min-width:0;width:100%}.autocomplete-list{position:absolute;top:calc(100% + 6px);inset-inline:0;z-index:150;max-height:300px;overflow-y:auto;list-style:none;background:white;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 24px #183e3520;margin:0;padding:8px}.autocomplete-list a{display:block;padding:12px;font-size:14px}.autocomplete-list [aria-selected=true],.autocomplete-list li:hover{background:var(--mint);border-radius:6px}.filter-form{overflow:visible}
.emergency-intro{margin-block:24px 32px;max-width:760px}.emergency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.emergency-grid h2{font-size:22px}.emergency-grid .button{font-size:24px;margin-block:24px}.hours-week{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;max-width:600px;padding-block:16px}.hours-week dd{margin:0;display:flex;gap:12px;flex-wrap:wrap}.opening-hours h2{font-size:24px;margin-bottom:16px}.opening-hours p+p{margin-top:16px}.hours-status{font-weight:750;color:var(--green)}.related-links{margin-block:24px}.page-loader{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:#fbfcf8e8;pointer-events:none}.page-loader img{object-fit:contain}.seo-check-list{display:grid;gap:12px}.seo-check-list a{overflow-wrap:anywhere}
@media(max-width:800px){.results-map{position:static}.emergency-track{justify-content:flex-start;gap:16px;font-size:10px}.emergency-grid{grid-template-columns:1fr}.map-nearby-cta{padding:16px}.header .nav-links{top:100%;max-height:calc(100dvh - var(--header-height));overflow:auto}.results-map .leaflet-map{height:320px}.emergency-grid .content-panel{margin-bottom:0}.emergency-grid{margin-bottom:24px}}
@media(max-width:430px){.hours-week{font-size:13px;gap:12px}.map-nearby-cta .button{min-height:50px}.header .brand-logo{max-width:112px;width:112px;height:64px}}
@media(prefers-reduced-motion:reduce){.emergency-track{scroll-behavior:auto}.page-loader{transition:none}}

/* UP5: one fixed emergency bar; the navigation sits above it on phones. */
:root{--emergency-height:38px;--mobile-nav-height:0px}body:not(.admin-body):not(.install-body){padding-bottom:calc(var(--emergency-height) + var(--mobile-nav-height))}html{scroll-padding-bottom:calc(var(--emergency-height) + var(--mobile-nav-height) + 20px)}
.emergency-ticker{position:fixed;inset-inline:0;bottom:0;z-index:300;padding-bottom:env(safe-area-inset-bottom,0px)}.emergency-track{min-height:38px;scrollbar-width:thin}.emergency-track a{min-height:38px;display:inline-flex;align-items:center}.mobile-bottom{bottom:var(--emergency-height);padding-bottom:9px}.consent-panel{bottom:calc(var(--emergency-height) + var(--mobile-nav-height) + 16px);max-height:calc(100dvh - var(--emergency-height) - var(--mobile-nav-height) - 32px);overflow:auto}
.brand-logo,.header .brand-logo,.admin-brand .brand-logo{background:transparent;border:0;border-radius:0;box-shadow:none;object-fit:contain}.header .brand-logo{width:76px;height:76px;max-width:76px}.header .brand-title{display:block;font-size:28px;line-height:1.15;max-width:none;letter-spacing:-1px}.header .brand{gap:12px}.header .nav{gap:24px}.page-loader{background:transparent}.page-loader img{background:transparent;box-shadow:none;object-fit:contain}
@media(min-width:801px) and (max-width:1100px){.header .nav{flex-wrap:wrap;padding-block:10px;gap:12px}.header .nav-links{order:3;width:100%;justify-content:center;flex:1 0 100%}.header .nav-end{margin-inline-start:auto}.header .brand-title{font-size:28px}}
@media(max-width:800px){.header .brand-title{font-size:22px;white-space:normal;max-width:165px}.header .brand-logo{width:60px;height:60px;max-width:60px}.header .brand{gap:8px;min-width:0}.header .nav{gap:8px}.header .nav-end{margin-inline-start:auto}.header .nav-links{z-index:110}.header .nav{min-height:80px}}
@media(max-width:550px){.header .brand-title{font-size:18px;max-width:118px;letter-spacing:-.5px}.header .brand-logo{width:48px;height:56px;max-width:48px}.header .nav{min-height:76px}.emergency-track{gap:18px;font-size:11px}.footer{padding-bottom:30px}}
@media(max-width:350px){.header .brand-title{font-size:16px;max-width:100px}.header .brand-logo{width:36px;max-width:36px}.header .brand{gap:5px}.header .nav-end{gap:3px}}

/* Final production consent and delayed navigation feedback. */
.page-loader{background:#eaf3ed;z-index:10000;position:fixed;inset:0;display:grid;place-items:center;pointer-events:auto}
.page-loader[hidden]{display:none}
.page-loader img{width:240px;height:auto;max-width:70vw;object-fit:contain;background:transparent;animation:pdm-loader-pulse 1.8s ease-in-out infinite}
@keyframes pdm-loader-pulse{50%{opacity:.75;transform:scale(.98)}}
.consent-panel{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - var(--emergency-height) - var(--mobile-nav-height) - 32px);overflow:auto}
.consent-options{display:grid;gap:10px;margin-block:16px}.consent-options[hidden]{display:none}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap}.consent-actions .button{flex:1;min-width:120px}
.consent-actions [hidden]{display:none}.consent-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:13px}.consent-links a{text-decoration:underline}
@media(max-width:600px){.page-loader img{width:160px}.consent-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.page-loader img{animation:none;transform:none}}
