/* Coverage extends the existing palette and type roles, not a separate theme. */
.coverage-section{text-align:center;padding-bottom:var(--space-12)}
.coverage-copy{margin-bottom:var(--space-12)}
.coverage-copy h2{margin-bottom:var(--space-6)}
.coverage-copy>p{font-size:var(--type-copy);line-height:var(--type-copy-leading);text-wrap:pretty}
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));justify-items:center;gap:var(--space-12) var(--space-8);list-style:none;margin:0;padding:0}
.coverage-canton{width:100%;max-width:300px;min-width:0}
.coverage-visual{width:100%;min-width:0}
.coverage-visual img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.coverage-canton h3{margin-top:var(--space-4);font-size:var(--text-24);font-weight:700;text-transform:uppercase}
.coverage-canton>p{margin-top:var(--space-2);font-size:var(--type-copy)}
.coverage-availability{margin:var(--space-8) auto 0;max-width:65ch;font-size:var(--type-copy);line-height:var(--type-copy-leading);text-wrap:pretty}
.coverage-upcoming{width:100%;max-width:300px;min-width:0}
.coverage-upcoming-mark{display:grid;place-items:center;width:116px;aspect-ratio:1;margin-inline:auto;border:1px dashed var(--color-muted);border-radius:50%}
.coverage-upcoming-mark .icon{width:38px;height:38px;color:var(--color-fg)}
.coverage-upcoming h3{margin-top:var(--space-6);font-size:var(--text-20);color:var(--color-muted)}
@media(max-width:1100px){
 .coverage-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
}
.coverage-grid--with-upcoming{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
@media(max-width:650px){
 .coverage-section{padding-bottom:var(--space-8)}
 .coverage-copy{margin-bottom:var(--space-8)}
 .coverage-copy h2{font-size:clamp(32px,8vw,44px)}
 .coverage-grid{gap:var(--space-8)}
 .coverage-grid--with-upcoming{grid-template-columns:repeat(2,minmax(0,1fr))}
 .coverage-grid--with-upcoming .coverage-canton{grid-column:1/-1;grid-row:1}
 .coverage-upcoming-mark{width:80px}
 .coverage-upcoming-mark .icon{width:28px;height:28px}
 .coverage-upcoming h3{font-size:var(--type-copy);margin-top:var(--space-4)}
}
