/* Coverage map section (#coverage-map): dark map, pulsing pins, area list and a coverage check. */
#coverage-map.cm{margin:0;padding:44px 24px 52px;background:#eaf1ff;color:#0c1f4f}
#coverage-map .cm-head{max-width:1240px;margin:0 auto 26px}
#coverage-map .cm-eyebrow{margin:0 0 10px;font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
#coverage-map h2{margin:0;font-size:var(--fs-h2);line-height:1.1;font-weight:800;letter-spacing:-.035em;color:#0c1f4f}
#coverage-map .cm-sub{margin:12px 0 0;max-width:620px;font-size:var(--fs-body);line-height:1.55;color:#4b5a7c;font-weight:400}
#coverage-map .cm-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px}
#coverage-map .cm-map{position:relative;height:560px;border-radius:26px;overflow:hidden;background:#0a1a44;box-shadow:0 20px 60px rgba(20,60,160,.22);isolation:isolate}
#coverage-map .cm-map .leaflet-container{width:100%;height:100%;background:#0a1a44;font-family:inherit}
#coverage-map .cm-loading{position:absolute;inset:0;display:grid;place-items:center;color:#c9d6f2;font-weight:600;z-index:400;pointer-events:none}
#coverage-map .cm-fallback{position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:30px;color:#c9d6f2;font-size:var(--fs-body);z-index:400}
#coverage-map .cm-map.is-failed .cm-fallback{display:grid}
#coverage-map .cm-pin{position:relative;width:18px;height:18px;border-radius:50%;background:#20d4ff;box-shadow:0 0 0 3px rgba(32,212,255,.35)}
#coverage-map .cm-pin::before,#coverage-map .cm-pin::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(32,212,255,.55);animation:cm-pulse 2.4s ease-out infinite}
#coverage-map .cm-pin::after{animation-delay:1.2s}
#coverage-map .cm-pin.is-soon{background:#ffb23a;box-shadow:0 0 0 3px rgba(255,178,58,.35)}
#coverage-map .cm-pin.is-soon::before,#coverage-map .cm-pin.is-soon::after{border-color:rgba(255,178,58,.6)}
#coverage-map .cm-pin.is-you{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.4)}
#coverage-map .cm-pin.is-you::before,#coverage-map .cm-pin.is-you::after{border-color:rgba(255,255,255,.6)}
@keyframes cm-pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(3);opacity:0}}
#coverage-map .leaflet-popup-content-wrapper{border-radius:18px;padding:0;box-shadow:0 14px 40px rgba(0,0,0,.35)}
#coverage-map .leaflet-popup-content{margin:16px 18px;font-size:var(--fs-small);line-height:1.5;color:#4b5a7c}
#coverage-map .leaflet-popup-content b{display:block;font-size:18px;color:#0c1f4f}
#coverage-map .leaflet-popup-content a.cm-ask{display:flex;margin-top:10px;height:42px;border-radius:12px;background:#1b5be6;color:#fff;font-weight:700;align-items:center;justify-content:center;text-decoration:none}
#coverage-map .cm-side{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:26px;background:#fff;box-shadow:0 8px 30px rgba(30,70,150,.08)}
#coverage-map .cm-side h3{margin:0;font-size:var(--fs-title);font-weight:700}
#coverage-map .cm-search{height:50px;padding:0 16px;border:1.5px solid #dbe5f7;border-radius:14px;background:#f6f9ff;color:#0c1f4f;font-size:var(--fs-body)}
#coverage-map .cm-search::placeholder{color:#8792ab}
#coverage-map .cm-key{display:flex;gap:16px;font-size:13px;color:#4b5a7c;font-weight:600}
#coverage-map .cm-key span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#20d4ff;margin-right:6px}
#coverage-map .cm-key span.is-soon::before{background:#ffb23a}
#coverage-map .cm-list{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow:auto}
#coverage-map .cm-row{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:16px;border:1.5px solid #e3eaf6;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}
#coverage-map .cm-row:hover,#coverage-map .cm-row:focus-visible{border-color:#1b5be6}
#coverage-map .cm-row i{flex:none;width:12px;height:12px;border-radius:50%;background:#20d4ff}
#coverage-map .cm-row.is-soon i{background:#ffb23a}
#coverage-map .cm-row b{display:block;font-size:15px}
#coverage-map .cm-row small{color:#6a7590;font-size:13px}
#coverage-map .cm-actions{display:grid;gap:10px}
#coverage-map .cm-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:12px;border:1.5px solid #1b5be6;background:#fff;color:#1b5be6;font-size:var(--fs-small);font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none}
#coverage-map .cm-btn.is-primary{background:#1b5be6;color:#fff}
#coverage-map .cm-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#coverage-map .cm-result{padding:14px 16px;border-radius:16px;background:#f1f6ff;font-size:var(--fs-small);line-height:1.5;color:#2b3a63}
#coverage-map .cm-result.is-yes{background:#e3f7ec;color:#0f5f34}
#coverage-map .cm-result[hidden]{display:none}
#coverage-map .cm-result a{color:#1b5be6;font-weight:700}
#coverage-map .cm-note{margin:0;font-size:12px;color:#6a7590}
html[data-scheme=dark] #coverage-map.cm{background:#0a1326;color:#eef3ff}
html[data-scheme=dark] #coverage-map h2{color:#eef3ff}
html[data-scheme=dark] #coverage-map .cm-sub,html[data-scheme=dark] #coverage-map .cm-note,html[data-scheme=dark] #coverage-map .cm-key{color:#a3b2d4}
html[data-scheme=dark] #coverage-map .cm-side{background:#101b36;box-shadow:none}
html[data-scheme=dark] #coverage-map .cm-row{background:#0d1834;border-color:#22335f}
html[data-scheme=dark] #coverage-map .cm-search{background:#0d1834;border-color:#22335f;color:#eef3ff}
html[data-scheme=dark] #coverage-map .cm-btn{background:#0d1834;color:#8db4ff;border-color:#3b5bb0}
html[data-scheme=dark] #coverage-map .cm-btn.is-primary{background:#1b5be6;color:#fff}
html[data-scheme=dark] #coverage-map .cm-result{background:#0d1834;color:#c6d2ee}
@media (max-width:1000px){#coverage-map .cm-grid{grid-template-columns:minmax(0,1fr)}#coverage-map .cm-map{height:420px}}
@media (max-width:620px){#coverage-map.cm{padding:32px 16px 40px}#coverage-map .cm-map{height:340px;border-radius:20px}#coverage-map .cm-side{padding:20px;border-radius:20px}}
@media (prefers-reduced-motion:reduce){#coverage-map .cm-pin::before,#coverage-map .cm-pin::after{animation:none}}
