/* The coverage map in "reach" style (scripts/coverage.mjs `areas.coverageStyle: "reach"`): a pale land,
   soft circles of reach round each town. Opt-in (`optInCss`). GH Plumbing, 6 Oct 2026. */
.ph-coverage.has-reach { background: color-mix(in srgb, var(--color-brand) 7%, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-brand) 16%, #fff); }
.has-reach .cov-near { fill: color-mix(in srgb, var(--color-brand) 9%, #fff); stroke: color-mix(in srgb, var(--color-brand) 18%, #fff); stroke-width: 1; }
.has-reach .cov-reach { fill: color-mix(in srgb, var(--color-brand) 20%, transparent); stroke: color-mix(in srgb, var(--color-brand) 55%, transparent); stroke-width: 1.5; stroke-dasharray: 6 5; }
.has-reach .cov-reach-home { fill: color-mix(in srgb, var(--color-brand) 28%, transparent); stroke-dasharray: none; stroke-width: 2; }
.has-reach .cov-dot { fill: var(--color-star); stroke: var(--color-ink); stroke-width: 2.5; }
.has-reach .cov-label { stroke-width: 5px; }

/* "soft" style (`areas.coverageStyle: "soft"`): the districts they cover in one soft tint, no dark home district,
   small dots and plain labels: the ordinary service-area map. */
.ph-coverage.has-soft { background: #f4f7fb; box-shadow: inset 0 0 0 1px #dde5f0; }
.has-soft .cov-near { fill: #e9eef5; stroke: #fff; stroke-width: 1.2; }
.has-soft .cov-covered, .has-soft .cov-home { fill: color-mix(in srgb, var(--color-brand) 26%, #fff); stroke: #fff; stroke-width: 1.4; }
.has-soft .cov-dot { fill: var(--color-brand-deep, var(--color-brand)); stroke: #fff; stroke-width: 2.5; }
.has-soft .cov-label { fill: var(--color-ink); stroke: rgb(255 255 255 / 0.9); stroke-width: 3.5px; font-weight: 700; }
