/* Service coverage directory. Shared municipal design follows local-pages.css. */
.coverage-page .site-header .shell { max-width: 1440px; }
.coverage-page .site-nav { gap: 1rem; }
.coverage-breadcrumb { display:flex; flex-wrap:wrap; gap:.55rem; font-size:.83rem; margin-bottom:2rem; color:var(--c-muted); }
.coverage-breadcrumb a { color:inherit; }
.coverage-copy { max-width:76ch; line-height:1.8; color:var(--c-muted); }
.coverage-facts { display:grid; grid-template-columns:1fr 1fr; gap:1rem; border-top:1px solid var(--c-border-soft); padding-top:1rem; margin-bottom:0; }
.coverage-facts div:last-child { grid-column:1/-1; }
.coverage-facts dt { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:var(--c-muted); }
.coverage-facts dd { margin:.2rem 0 0; font-weight:600; }
.coverage-map-sources { margin-top:1rem; padding-top:.7rem; border-top:1px solid var(--c-border-soft); font-size:.75rem; line-height:1.5; color:var(--c-muted); }
.coverage-map-sources summary { cursor:pointer; }
.coverage-map-sources a { color:inherit; }
.coverage-page .region-map__figure svg { height:auto; max-height:300px; width:100%; }
.coverage-checklist { display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; padding-left:1.3rem; line-height:1.7; }
.coverage-cta { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.coverage-cta p { max-width:65ch; }
.coverage-cta .btn { flex-shrink:0; }
.coverage-related { display:flex; flex-wrap:wrap; gap:.65rem; }
.coverage-related a { border:1px solid var(--c-border-soft); border-radius:30px; padding:.5rem 1rem; color:var(--c-text); text-decoration:none; }
.coverage-related a:hover { background:var(--c-accent-soft); }
.coverage-map-grid { display:grid; grid-template-columns:minmax(250px,1fr) minmax(260px,1fr); gap:4rem; align-items:start; margin-top:2rem; }
.coverage-country-map { width:100%; height:640px; display:block; }
.coverage-conc { fill:#eee9dc; stroke:#fff; stroke-width:1; cursor:pointer; transition:fill .12s; }
.coverage-conc.is-region { fill:#d8c7a2; }
.coverage-conc:hover,.coverage-conc.is-hot { fill:#a88442; }
.coverage-map-status { text-align:center; min-height:1.7em; font-size:.9rem; }
.coverage-source { color:var(--c-muted); font-size:.78rem; max-width:55ch; margin-inline:auto; }
.coverage-region-list { display:grid; gap:.65rem; }
.coverage-region { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; padding:1.1rem 1.3rem; border:1px solid var(--c-border-soft); background:var(--c-surface); border-radius:12px; text-align:left; color:var(--c-text); cursor:pointer; font:inherit; }
.coverage-region span { font-size:.8rem; white-space:nowrap; color:var(--c-muted); }
.coverage-region.is-selected,.coverage-region:hover { border-color:var(--c-accent); background:var(--c-accent-soft); }
.coverage-search { max-width:650px; margin-bottom:2.2rem; }
.coverage-search label { display:block; font-weight:600; margin-bottom:.6rem; }
.coverage-search input { display:block; box-sizing:border-box; width:100%; font:inherit; color:var(--c-text); background:var(--c-surface); padding:1rem; border:1px solid var(--c-border-soft); border-radius:10px; }
.coverage-search p { font-size:.85rem; color:var(--c-muted); }
.coverage-group { margin:2.5rem 0; scroll-margin-top:100px; }
.coverage-group h3 { display:flex; align-items:center; gap:.75rem; }
.coverage-group h3 span { font-size:.8rem; color:var(--c-muted); font-weight:400; }
.coverage-directory { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
.coverage-directory a { display:flex; flex-direction:column; gap:.3rem; height:100%; box-sizing:border-box; padding:.85rem 1rem; border:1px solid var(--c-border-soft); border-radius:8px; background:var(--c-surface); color:var(--c-text); text-decoration:none; }
.coverage-directory a:hover { border-color:var(--c-accent); background:var(--c-accent-soft); }
.coverage-directory small { color:var(--c-muted); font-size:.74rem; }
.coverage-page [hidden] { display:none!important; }
.coverage-page :is(a,button,input):focus-visible { outline:3px solid #a88442; outline-offset:4px; }
@media(max-width:1100px) and (min-width:901px) { .coverage-page .site-header .shell { flex-wrap:wrap; } .coverage-page .site-nav { order:3; width:100%; justify-content:center; } .coverage-page .lang-switch { margin-left:auto; } }
@media(max-width:900px) {
 .coverage-page .site-nav { display:flex; }
 .coverage-js .coverage-page .site-nav:not(.is-open) { display:none; }
 .coverage-page .nav-toggle { display:none; }
 .coverage-js .coverage-page .nav-toggle { display:inline-flex; }
 .coverage-map-grid { gap:1.5rem; grid-template-columns:minmax(180px,.8fr) 1fr; }
 .coverage-country-map { height:540px; }
 .coverage-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .coverage-cta { flex-direction:column; align-items:flex-start; }
}
@media(max-width:600px) {
 .coverage-map-grid { grid-template-columns:1fr; }
 .coverage-country-map { height:460px; }
 .coverage-region-list { grid-template-columns:1fr 1fr; gap:.45rem; }
 .coverage-region { flex-direction:column; align-items:flex-start; gap:.3rem; padding:.8rem; font-size:.88rem; }
 .coverage-checklist,.coverage-directory { grid-template-columns:1fr; }
 .coverage-page .region-hero__grid { gap:1.5rem; }
 .coverage-page .region-hero h1 { overflow-wrap:break-word; }
 .coverage-page .index-hero__grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .coverage-conc { transition:none; } }
