/* Interactive service areas. Shared layout and navigation remain unchanged. */
#coverage .coverage-layout { grid-template-columns: .95fr 1.05fr; grid-template-areas:"intro visual" "list visual"; align-items:start; gap:0 clamp(32px,5vw,76px); }
#coverage .coverage-intro { grid-area:intro; }
#coverage .coverage-list { grid-area:list; align-self:start; margin-top:20px; }
#coverage .coverage-visual { grid-area:visual; align-self:center; min-width:0; }
#coverage .coverage-county-map { display:block; width:100%; height:auto; overflow:visible; }
#coverage .coverage-area { fill:#bdbdb9; stroke:var(--surface,#f6f6f6); stroke-width:1.7; stroke-linejoin:round; }
#coverage .coverage-map-caption { margin:14px 0 0; text-align:center; min-height:20px; font-size:.75rem; line-height:1.65; }
#coverage .coverage-map-caption span { width:auto; height:auto; background:none; }
#coverage [hidden] { display:none !important; }
#coverage.coverage-enhanced .coverage-area { cursor:pointer; transition:fill 180ms ease,stroke 180ms ease; }
#coverage .coverage-area.is-selected { fill:#ebd1bb; stroke:#ad5300; stroke-width:1.8; }
#coverage .coverage-selection-outline { fill:none; stroke:#ad5300; stroke-width:1.6; stroke-linejoin:round; pointer-events:none; }
#coverage .coverage-county-map:has(.coverage-area:focus-visible) .coverage-selection-outline { stroke:#353535; stroke-width:2.6; }
#coverage .coverage-area:focus { outline:none; }
#coverage .coverage-area:focus-visible { stroke:#353535; stroke-width:3; }
#coverage .coverage-mobile-picker { display:none; grid-area:picker; }
#coverage .coverage-mobile-picker label { display:block; font-size:.8125rem; font-weight:700; margin-bottom:8px; }
#coverage .coverage-mobile-picker select { width:100%; min-height:48px; font:inherit; font-size:1rem; color:var(--ink); background:white; border:1px solid #aaa; border-radius:4px; padding:10px 14px; }
#coverage .coverage-mobile-picker select:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
#coverage .coverage-list li { padding:0; }
#coverage .coverage-list a, #coverage .coverage-list button { padding:14px 0; width:100%; min-height:48px; }
#coverage .coverage-list button { border:0; border-radius:0; display:flex; align-items:center; justify-content:space-between; gap:8px; font:inherit; line-height:1.5; text-align:left; color:var(--muted); background:none; cursor:pointer; transition:color 180ms ease; }
#coverage .coverage-list button::after { content:""; flex:0 0 6px; height:6px; background:var(--repair-accent); opacity:0; }
#coverage .coverage-list button:hover, #coverage .coverage-list button[aria-pressed="true"] { color:var(--ink); }
#coverage .coverage-list button[aria-pressed="true"] { font-weight:700; box-shadow:inset 0 -2px var(--repair-accent); }
#coverage .coverage-list button[aria-pressed="true"]::after { opacity:1; }
#coverage .coverage-list button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
#coverage .coverage-detail { display:grid; grid-template-columns: minmax(150px,1fr) minmax(0,1.05fr); align-items:center; gap:18px; border-top:1px solid #d5d5d1; margin-top:22px; padding-top:24px; min-height:180px; }
#coverage .coverage-landmark-art { min-width:0; aspect-ratio:12 / 7; }
#coverage .coverage-landmark { display:block; width:100%; height:auto; overflow:visible; }
#coverage .coverage-detail-kicker { margin:0 0 8px; color:var(--muted); font-size:.625rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; line-height:1.7; }
#coverage .coverage-detail-copy h3 { margin:0 0 4px; font-size:clamp(1.15rem,1.75vw,1.5rem); line-height:1.3; overflow-wrap:anywhere; }
#coverage .coverage-landmark-name { margin:0; color:var(--muted); font-size:.8125rem; line-height:1.6; }
#coverage .coverage-service-link { font-size:.8125rem; line-height:1.5; margin-top:12px; min-height:44px; align-items:center; gap:10px; text-decoration:underline; text-underline-offset:4px; }
#coverage .coverage-landmark.is-drawing [pathLength] { stroke-dasharray:1; stroke-dashoffset:1; animation:coverage-line-draw 700ms cubic-bezier(.22,.68,.25,1) forwards; }
@keyframes coverage-line-draw { to { stroke-dashoffset:0; } }
@media(hover:hover) and (pointer:fine) { #coverage .coverage-pointer-hint:not([hidden]) { display:inline; } #coverage .coverage-touch-hint:not([hidden]) { display:none; } }
@media(hover:none), (pointer:coarse) { #coverage .coverage-pointer-hint:not([hidden]) { display:none; } #coverage .coverage-touch-hint:not([hidden]) { display:inline; } }
@media(max-width:1050px) and (min-width:801px) { #coverage .coverage-detail { grid-template-columns:1fr 1fr; gap:12px; } #coverage .coverage-detail-kicker { font-size:.6rem; } }
@media(max-width:800px) {
 #coverage .coverage-layout { grid-template-columns:1fr; grid-template-areas:"intro" "visual" "list"; gap:28px; }
 #coverage.coverage-enhanced .coverage-layout { grid-template-areas:"intro" "picker" "visual"; gap:24px; }
 #coverage.coverage-enhanced .coverage-list { display:none; }
 #coverage .coverage-mobile-picker:not([hidden]) { display:block; }
 #coverage .coverage-pointer-hint:not([hidden]) { display:none; }
 #coverage .coverage-touch-hint:not([hidden]) { display:inline; }
 #coverage .coverage-visual { max-width:580px; width:100%; margin-inline:auto; }
 #coverage .coverage-list { margin-top:0; }
 #coverage .coverage-detail { min-height:160px; padding-top:20px; margin-top:16px; }
 #coverage .coverage-detail-copy h3 { font-size:1.25rem; }
}
@media(max-width:480px) {
 #coverage .coverage-detail { grid-template-columns: .95fr 1.05fr; gap:14px; min-height:168px; }
 #coverage .coverage-detail-kicker { display:none; }
 #coverage .coverage-detail-copy h3 { font-size:1.125rem; }
 #coverage .coverage-list button { font-size:.875rem; }
 #coverage .coverage-map-caption { font-size:.6875rem; }
}
@media(max-width:360px) { #coverage .coverage-detail-copy h3 { font-size:1rem; } }
@media(prefers-reduced-motion:reduce) {
 #coverage.coverage-enhanced .coverage-area, #coverage .coverage-list button { transition:none; }
 #coverage .coverage-landmark.is-drawing [pathLength] { animation:none; stroke-dasharray:none; stroke-dashoffset:0; }
}
