/* Moved out of an inline <style> block (CSP style-src 'self', ZAP 10055, 2026-11-03). Used by: site/service-area.html */
/* Leaflet popup theming to match CNF brand */
.leaflet-popup-content-wrapper {
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  border: 1px solid #E2E8F0;
  padding: 4px;
}
.leaflet-popup-content { margin: 12px 16px; font-family: 'IBM Plex Sans', system-ui, sans-serif; }
.leaflet-popup-tip { box-shadow: 0 3px 8px rgba(0,0,0,0.1); }
.leaflet-container { font-family: 'IBM Plex Sans', system-ui, sans-serif; }
.leaflet-control-attribution { font-size: 10px; background: rgba(255,255,255,0.85); }
.city-popup-name { font-weight: 700; color: #0B2545; font-size: 15px; margin: 0 0 2px 0; }
.city-popup-tier { color: #475569; font-size: 11px; margin: 0 0 8px 0; text-transform: uppercase; letter-spacing: 0.1em; }
.city-popup-link { color: #B5480A; font-weight: 600; font-size: 12px; text-decoration: none; }
.city-popup-link:hover { text-decoration: underline; }
/* Custom orange marker */
.cnf-marker {
  background: #B5480A;
  border: 3px solid #FFFFFF;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transition: transform 0.15s, box-shadow 0.15s;
}
.cnf-marker.primary { width: 18px; height: 18px; }
.cnf-marker.secondary { width: 12px; height: 12px; opacity: 0.85; }
.cnf-marker-hit { display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.cnf-marker-hit:focus-visible { outline: 2px solid #0B2545; outline-offset: 2px; }
.cnf-marker-hit:hover .cnf-marker, .cnf-marker-hit:focus-visible .cnf-marker { transform: scale(1.25); box-shadow: 0 4px 10px rgba(0,0,0,0.4); }
/* City list active state */
.city-link.active { background: #FFF7ED; color: #B5480A !important; font-weight: 700; }
