.municipality-map { position: absolute; z-index: 1; inset: 0; overflow: hidden; border-radius: inherit; background: #161e42; }
.municipality-map .leaflet-container { width: 100%; height: 100%; background: #161e42; font-family: var(--sans); }
.municipality-map .leaflet-tile-pane { filter: saturate(.42) brightness(.56) contrast(1.18) hue-rotate(112deg); opacity: .64; }
.municipality-map .leaflet-control-attribution, .municipality-map .leaflet-control-zoom { display: none; }
.municipality-map .leaflet-interactive { transition: fill .2s, fill-opacity .2s, stroke .2s, stroke-width .2s; }
.municipality-map .leaflet-overlay-pane path { filter: drop-shadow(0 8px 9px rgba(0, 3, 18, .2)); }
.municipality-map .leaflet-tooltip.city-label { margin: 0 0 0 8px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #fff7e8; font: 700 10px var(--sans); letter-spacing: -.1px; text-shadow: 0 1px 3px #0e1430, 0 0 5px #0e1430; white-space: nowrap; }
.municipality-map .leaflet-tooltip.city-label::before { display: none; }
.map-loading { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%, -50%); color: #e9dac0; font: 10px var(--mono); letter-spacing: .7px; text-transform: uppercase; opacity: .8; transition: opacity .25s; white-space: nowrap; }
.sp-map.map-ready .map-loading { opacity: 0; pointer-events: none; }
.sp-map .map-glass-title, .sp-map .map-glass-card, .sp-map .map-legend, .sp-map .map-credit { z-index: 900; pointer-events: none; }
.sp-map::before { z-index: 400; }
.map-glow { z-index: 450; pointer-events: none; }

/* Marcadores das cidades de referência (Leaflet divIcon) */
.municipality-map .leaflet-div-icon { background: transparent; border: 0; }
.municipality-map .leaflet-marker-icon { pointer-events: none; }
.city-marker { position: relative; display: block; width: 10px; height: 10px; }
.city-dot { position: absolute; inset: 0; margin: auto; width: 7px; height: 7px; border-radius: 50%; background: #f3bc6d; border: 1.2px solid #fff4df; box-shadow: 0 0 0 5px rgba(243, 188, 109, .15); }
.city-pulse { position: absolute; inset: 0; margin: auto; width: 7px; height: 7px; border-radius: 50%; background: rgba(231, 183, 106, .2); border: 1px solid rgba(246, 217, 171, .6); animation: city-pulse 2.9s ease-out infinite; }
.city-marker-capital .city-dot { width: 9px; height: 9px; box-shadow: 0 0 0 6px rgba(243, 188, 109, .18); }
.city-marker-capital .city-pulse { width: 9px; height: 9px; }
@keyframes city-pulse { 0% { opacity: .75; transform: scale(.65); } 70%, 100% { opacity: 0; transform: scale(2.6); } }

/* Crédito discreto da fonte da malha municipal (dados IBGE, boa prática de atribuição) */
.map-credit { position: absolute; top: 14px; right: 16px; padding: 3px 8px; border-radius: 20px; background: rgba(10, 13, 29, .4); color: rgba(228, 231, 236, .55); font: 8px var(--mono); letter-spacing: .3px; }
.map-credit a { color: inherit; }

@media (max-width: 480px) { .municipality-map .leaflet-tooltip.city-label { font-size: 8px; } .map-loading { font-size: 8px; } .map-credit { top: 10px; right: 10px; font-size: 7px; padding: 2px 7px; } }
