/* El filtro afecta únicamente a las teselas: etiquetas, buffer y controles
   conservan sus colores y la atribución permanece visible en el propio mapa. */
.page-ficha .armonia-clean-map{background:#eef2ec;font-family:Manrope,Arial,sans-serif}
.armonia-clean-map .leaflet-tile-pane .armonia-osm-tiles{filter:grayscale(.95) saturate(.2) brightness(1.055) contrast(.9)}
.armonia-clean-map .map-road-label{font:500 9px/1.4 Manrope,Arial,sans-serif;color:#526758;letter-spacing:.01em;text-align:center;text-shadow:0 1px 2px #fff,0 -1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff;white-space:normal;pointer-events:none}
.armonia-clean-map .map-zone-label{display:block!important;width:44px!important;height:44px!important;margin-left:-22px!important;background:none;border:0;border-radius:50%;box-shadow:none;color:#17678f;text-shadow:none;white-space:nowrap;pointer-events:auto;cursor:pointer}
.map-zone-beacon{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#267da5;border:3px solid #fff;box-shadow:0 2px 9px #1b658a40;transition:background .18s,transform .18s}
.map-zone-beacon:before{content:'';position:absolute;inset:-13px;border-radius:50%;background:#549dcf20;border:1px solid #549dcf60;z-index:-1;animation:map-zone-breathe 3.2s ease-in-out infinite;pointer-events:none}
.map-zone-beacon svg{display:block;width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.map-zone-beacon circle{fill:#fff;stroke:none}
.map-zone-caption{position:absolute;top:51px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:4px 8px;background:#fffffff2;border:1px solid #d9e4e5;border-radius:20px;box-shadow:0 2px 7px #2c566912;pointer-events:none}
.map-zone-name{font:650 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.01em;color:#285d78}
.map-zone-note{font:500 9px/1.4 Manrope,Arial,sans-serif;color:#5a707c}
.map-zone-note:before{content:'·';margin-right:6px;color:#7d929c}
.map-zone-label:hover .map-zone-beacon,.map-zone-label[aria-expanded=true] .map-zone-beacon{background:#165d83;transform:scale(1.06)}
.map-zone-label[aria-expanded=true] .map-zone-caption{opacity:0}
.map-zone-label:active .map-zone-beacon{transform:scale(.97)}
.armonia-clean-map .map-zone-label:focus-visible{outline:none}
.map-zone-label:focus-visible .map-zone-beacon{outline:3px solid #012d20;outline-offset:5px}
.map-zone-popup .leaflet-popup-content{font:500 11px/1.6 Manrope,Arial,sans-serif;margin:17px 21px 16px 17px;color:#526b5c}
.map-zone-information strong{display:block;color:#173f2b;font-size:12px;line-height:1.5;margin-bottom:7px;padding-right:9px}
.armonia-clean-map .map-zone-information p{font-size:10px;line-height:1.65;margin:4px 0 0}
.armonia-clean-map .map-zone-popup .leaflet-popup-close-button{width:44px;height:44px;line-height:40px;color:#526b5c;font-size:21px}
.map-zone-popup .leaflet-popup-close-button:focus-visible{outline:2px solid #549dcf;outline-offset:-4px}
@keyframes map-zone-breathe{0%,100%{opacity:.65;transform:scale(.95)}50%{opacity:1;transform:scale(1.07)}}
.armonia-clean-map .leaflet-control-zoom{border:1px solid #d1dbd0!important;box-shadow:0 3px 12px #163c2812;border-radius:7px;overflow:hidden}
.armonia-clean-map .leaflet-control-zoom a{width:34px;height:34px;line-height:32px;background:#fffffff5;color:#365344;font-size:21px;border-color:#dfe6dc}
.armonia-clean-map .leaflet-control-zoom a:hover{background:#edf3e8}
.armonia-clean-map .leaflet-control-zoom a:focus-visible{outline:3px solid #549dcf;outline-offset:-3px}
.page-ficha .armonia-clean-map .leaflet-control-attribution{font:500 9px/1.55 Manrope,Arial,sans-serif;color:#4b6052;background:#fffffff2;padding:3px 6px;border-radius:4px 0 0 0}
.armonia-clean-map .leaflet-control-attribution a{color:#315f76;text-decoration:none}
.armonia-clean-map .leaflet-control-attribution a:hover{text-decoration:underline}
.armonia-clean-map .leaflet-control-scale-line{border:1px solid #8ca491;border-top:0;background:#ffffffd9;color:#4f6758;font-size:9px;line-height:1.4;padding:1px 4px;text-shadow:none}
.armonia-clean-map .leaflet-popup-content-wrapper{border-radius:9px;box-shadow:0 5px 22px #1a3b2926;border:1px solid #dce5d6}
.armonia-clean-map .leaflet-popup-tip{box-shadow:none}
.armonia-clean-map .environment-map-marker>span{border-width:1.5px;box-shadow:0 2px 6px #1a392c29}
.armonia-clean-map .environment-map-marker:focus-visible{outline:none}
.armonia-clean-map .environment-map-marker:focus-visible>span{outline:3px solid #549dcf;outline-offset:3px}
@media(max-width:520px){
  .armonia-clean-map .leaflet-control-zoom a{width:32px;height:32px;line-height:30px}
  .page-ficha .armonia-clean-map .leaflet-control-attribution{font-size:8px;padding:3px 4px}
  .map-zone-popup .leaflet-popup-content{margin:12px 17px 11px}
  .map-zone-information strong{font-size:11px;margin-bottom:5px}
}
@media(prefers-reduced-motion:reduce){.map-zone-beacon:before{animation:none}.map-zone-beacon{transition:none}}
.is-exploring .map-zone-beacon{width:20px;height:20px;margin:12px;border-width:2px;box-shadow:0 1px 5px #1b658a29}
.is-exploring .map-zone-beacon:before{inset:-6px;animation:none;opacity:.45}
.is-exploring .map-zone-beacon svg{width:11px;height:11px}
.is-exploring .map-zone-caption{display:none}
