/* Real geography, using the existing blue/green palette. */
.pp-coverage { padding-block: clamp(58px,6vw,112px); background: #f4f4f4; }
.pp-coverage-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px,4vw,76px); align-items: center; }
.pp-coverage h2 { font-size: clamp(34px,2.8vw,54px); color: #77ac00; margin: 0 0 28px; line-height: 1.16; }
.pp-coverage-intro { font-size: clamp(17px,1.2vw,23px); line-height: 1.6; margin: 0 0 28px!important; max-width: 29em; }
.pp-area-legend { list-style: none; padding: 0; margin: 0 0 30px; display: grid; gap: 24px; }
.pp-area-legend li { display: flex; align-items: flex-start; gap: 14px; }
.pp-area-legend h3 { color: #527700; font-size: clamp(18px,1.3vw,24px); line-height: 1.3; margin: 0 0 7px; }
.pp-area-legend p { font-size: clamp(16px,1.08vw,20px); line-height: 1.55; margin: 0; }
.pp-area-swatch { width: 24px; height: 24px; flex: 0 0 24px; margin-top: 2px; border-radius: 4px; }
.pp-area-swatch-county { border: 2px solid #77ac00; background: #e3edc9; }
.pp-area-swatch-cleanup { border: 2px dashed #0079bc; background: #dcebf3; }
.pp-area-map { margin: 0; min-width: 0; }
.pp-map-frame { position: relative; width: 100%; height: clamp(400px,32vw,550px); border: 1px solid #d6d6d6; border-radius: 28px; overflow: hidden; isolation: isolate; z-index: 0; background: #edf0e9; }
.pp-map-fallback { display: block; width: 100%; height: 100%!important; object-fit: contain; }
.pp-map-canvas { position: absolute; inset: 0; visibility: hidden; font-family: 'Privateers Roboto',Arial,sans-serif; background: #edf0e9; }
.pp-map-frame[data-map-ready="true"] .pp-map-canvas { visibility: visible; }
.pp-area-map figcaption { display: flex; flex-wrap: wrap; gap: 5px 18px; justify-content: space-between; margin-top: 13px; font-size: 14px; line-height: 1.6; }
.pp-area-map figcaption a { color: #0079bc; text-underline-offset: 3px; }
.pp-map-canvas .leaflet-control-attribution { font-size: 11px; line-height: 1.5; background: rgba(255,255,255,.95); color: #404040; }
.pp-map-canvas .leaflet-control-attribution a { color: #0079bc; }
.pp-map-canvas .leaflet-control-zoom a { width: 40px; height: 40px; line-height: 40px; color: #0079bc; }
.pp-map-canvas .leaflet-control-zoom { border: 1px solid #c7c7c7; box-shadow: none; }
.pp-map-canvas .pp-map-city { font: 700 13px/1.3 'Privateers Roboto',Arial,sans-serif; color: #213400; border: 0; box-shadow: none; padding: 4px 7px; background: rgba(255,255,255,.94); }
.pp-map-canvas .pp-map-city::before { display: none; }
.pp-map-canvas .pp-county-label { width: 110px!important; color: #527700; text-align: center; font: 700 13px/1.15 'Privateers Roboto',Arial,sans-serif; text-shadow: 0 1px 2px #fff,0 -1px 2px #fff; }
.pp-map-canvas img.leaflet-tile { max-width: none!important; max-height: none!important; }
@media(max-width:1000px) {
  .pp-coverage-layout { grid-template-columns: 1fr; gap: 30px; }
  .pp-coverage h2 { margin-bottom: 22px; }
  .pp-area-legend { grid-template-columns: 1fr 1fr; }
  .pp-map-frame { height: 430px; }
}
@media(max-width:650px) {
  .pp-area-legend { grid-template-columns: 1fr; gap: 22px; margin-bottom: 24px; }
  .pp-area-legend h3 { font-size: 19px; }
  .pp-map-frame { height: 390px; border-radius: 20px; }
  .pp-map-canvas .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; }
  .pp-map-canvas .pp-map-city { font-size: 12px; }
  .pp-map-canvas .pp-county-label { display: none; }
}
