.coverage-section{margin:20px 0;background:#fff;border:1px solid #ddd;border-top:4px solid var(--blue);border-radius:12px;overflow:hidden;box-shadow:0 1px 5px #0001}
.coverage-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px 8px;flex-wrap:wrap}
.coverage-heading h2{font-size:1.15rem;margin:0 0 4px}.coverage-heading p{font-size:.82rem;color:#555;margin:0;line-height:1.5}
.coverage-tools{display:flex;gap:7px;flex-wrap:wrap}.coverage-section .coverage-tools button{width:auto;min-height:44px;background:#fff;color:#17677c;border:1px solid #1884a0;font-size:.8rem;padding:8px 12px}
.coverage-tools button:hover,.coverage-tools button:focus-visible{background:#e7f7fb}.coverage-tools button:disabled{opacity:.5;cursor:default}
.coverage-legend{display:flex;gap:8px 18px;flex-wrap:wrap;padding:4px 16px 10px;font-size:.75rem;color:#444}.coverage-legend span{display:inline-flex;align-items:center;gap:6px}.coverage-swatch{display:inline-block;width:22px;height:4px;background:#1688a5;border-radius:3px}.coverage-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ffb703;border:1px solid #6a5600}.coverage-pin-key{color:#c92134;font-weight:900;font-size:1rem}
.coverage-selection{padding:10px 16px;background:#eff8fa;border-top:1px solid #dbecef;font-size:.82rem;line-height:1.5;min-height:42px}.coverage-selection strong{color:#111}
#coverageMap{height:440px;width:100%;background:#deedf2;isolation:isolate;z-index:0;outline-offset:-3px}
.coverage-section.is-expanded #coverageMap{height: min(76vh,760px);min-height:340px}
.coverage-note{padding:10px 16px;font-size:.73rem;color:#555;line-height:1.5;margin:0}.coverage-note a{color:#17677c}.coverage-retry{width:auto;min-height:44px;margin:10px 16px;background:#17677c}
.coverage-flag{background:transparent;border:0}.coverage-flag span{display:block;width:28px;height:34px;filter:drop-shadow(0 2px 2px #0005)}.coverage-flag svg{width:100%;height:100%}
.coverage-city-label{font-size:11px;font-weight:700;color:#465c63;white-space:nowrap;pointer-events:none}.coverage-city-label span{background:#f8f8edcf;padding:1px 3px;border-radius:3px}
.coverage-section .leaflet-container{font:inherit}.coverage-section .leaflet-control-attribution{font-size:10px;max-width:80%;line-height:1.35}.coverage-section .leaflet-control-zoom a{color:#222}.coverage-section .leaflet-popup-content{line-height:1.5;font-size:.8rem}.coverage-section .leaflet-tooltip{font-size:.76rem}.coverage-section .leaflet-popup-content button{margin-top:7px;min-height:44px;background:#17677c;border-color:#17677c;font-size:.8rem}.coverage-section .leaflet-control{z-index:5}
@media(max-width:600px){.coverage-heading{padding:12px 12px 8px;gap:10px}.coverage-heading h2{font-size:1.05rem}.coverage-tools{width:100%}.coverage-section .coverage-tools button{flex:1;padding:8px;font-size:.75rem}.coverage-legend{padding:4px 12px 10px;gap:7px 12px;font-size:.7rem}#coverageMap{height:320px}.coverage-selection,.coverage-note{padding:9px 12px}.coverage-section.is-expanded #coverageMap{height:70vh;min-height:360px}.coverage-city-label{font-size:9px}}
