/* Locally hosted Leaflet; only the basemap tiles use a third-party service. */
.service-map { height: 460px; width: 100%; border: 1px solid var(--line); border-radius: 18px; background: #f4f1ed; isolation: isolate; z-index: 0; font-family: Inter, Arial, sans-serif; }
.service-map-preview { height: 380px; }
.map-fallback { padding: 2rem; color: var(--muted); }
.service-map.leaflet-container .map-fallback { display: none; }
.service-map .leaflet-tooltip.region-label { background: rgba(255,253,250,.94); border: 1px solid #dfc8c0; box-shadow: 0 2px 6px #59403712; border-radius: 7px; padding: 5px 8px; color: #65463f; font-size: 11px; font-weight: 600; line-height: 1.3; text-align: center; white-space: nowrap; }
.service-map .leaflet-tooltip.region-label::before { display: none; }
.service-map .leaflet-control-attribution { font-size: 10px; background: #fffdfae8; }
.service-map .leaflet-control-attribution a { color: #5d615b; }
.service-map .leaflet-popup-content { font: 13px/1.6 Inter, Arial, sans-serif; color: #554b45; }
.service-map .leaflet-popup-content strong { color: #643d34; }
.service-map .leaflet-popup-content a { color: #9b4338; text-decoration: underline; }
.service-map path.leaflet-interactive:focus { outline: 2px solid #923e32; }
.map-explore-link { display: block; width: fit-content; margin: .8rem auto 0; font-size: .85rem; font-weight: 600; }
.map-tile-warning { background: #fff8ee; padding: .75rem 1rem; font-size: .85rem; border-radius: 8px; }
@media (max-width: 600px) {
 .service-map, .service-map-preview { height: 340px; }
 .service-map .leaflet-tooltip.region-label { font-size: 9px; padding: 4px 5px; border-radius: 6px; }
 .service-map .leaflet-control-attribution { font-size: 8px; max-width: 100%; }
}

.service-map .leaflet-tile-pane { filter: saturate(.25) contrast(.88) brightness(1.08); }
