/* BYSUP — thème cartographique partagé (Spots + Radar).
   Chargé partout où Leaflet est utilisé. Aucune règle propre à une page. */

/* La carte est confinée dans son propre contexte d'empilement : sans ça, les
   panes et contrôles Leaflet (z-index 400 à 1000) passent devant le header fixe.
   On corrige le contexte, jamais avec un z-index arbitraire sur le header. */
.bm-map-wrap,.sn-map-wrap{position:relative;z-index:0;isolation:isolate;border-radius:20px;overflow:hidden;border:1px solid rgba(150,90,214,.26);background:#0d0517;box-shadow:0 40px 76px -50px rgba(0,0,0,.95)}
.bm-map-wrap .leaflet-container,.sn-map-wrap .leaflet-container{position:relative;z-index:0}
.bm-map-wrap .leaflet-pane,.sn-map-wrap .leaflet-pane{z-index:auto}

/* fond nocturne aubergine — la lisibilité géographique reste intacte */
.leaflet-tile-pane{filter:invert(1) grayscale(.78) brightness(.8) contrast(1.12) sepia(.32) hue-rotate(212deg) saturate(2.1)}
.leaflet-container{background:#0d0517;font-family:'Manrope',sans-serif}
.leaflet-control-attribution{background:rgba(11,4,19,.82)!important;color:rgba(247,244,248,.5)!important;font-size:10.5px!important}
.leaflet-control-attribution a{color:rgba(164,92,246,.9)!important}
.leaflet-bar{border:1px solid rgba(150,90,214,.3)!important;box-shadow:none!important}
.leaflet-bar a{background:#1b0929!important;color:#f7f4f8!important;border-bottom-color:rgba(150,90,214,.24)!important}
.leaflet-bar a:hover{background:#2a0c3d!important}

/* pin BYSUP Spots */
.sn-pin{width:34px;height:42px;display:block;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s ease;transform-origin:50% 100%}
.sn-pin svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.sn-marker.is-on .sn-pin,.sn-marker:hover .sn-pin{transform:scale(1.12);filter:drop-shadow(0 0 12px rgba(164,92,246,.75))}

/* pin catégorisé (Radar) */
.bm-pin{width:34px;height:42px;display:block;transform-origin:50% 100%;transition:transform .22s cubic-bezier(.2,.8,.2,1),filter .22s ease}
.bm-pin svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.62))}
.bm-marker:hover .bm-pin{transform:scale(1.1)}
.bm-marker.is-on .bm-pin{transform:scale(1.18);filter:drop-shadow(0 0 14px rgba(164,92,246,.85))}
.bm-marker:focus-visible{outline:2px solid #a45cf6;outline-offset:3px}
.bm-cluster{background:none}
.bm-cluster-in{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(109,40,173,.86);border:1.5px solid rgba(247,244,248,.72);box-shadow:0 8px 18px -8px rgba(0,0,0,.8),0 0 0 8px rgba(150,90,214,.14);transition:transform .2s ease}
.bm-cluster-in b{font-family:'Anton',sans-serif;font-weight:400;font-size:16px;color:#fff;letter-spacing:.02em}
.bm-cluster:hover .bm-cluster-in{transform:scale(1.08)}

/* bulle carte */
.leaflet-popup-content-wrapper{background:#1b0929;color:#f7f4f8;border:1px solid rgba(150,90,214,.34);border-radius:16px;box-shadow:0 26px 52px -26px rgba(0,0,0,.9)}
.leaflet-popup-content{margin:0;width:238px!important}
.leaflet-popup-tip{background:#1b0929;border:1px solid rgba(150,90,214,.34)}
.leaflet-popup-close-button{color:rgba(247,244,248,.6)!important;padding:8px 9px 0 0!important}

@media(prefers-reduced-motion:reduce){
  .bm-pin,.sn-pin,.bm-cluster-in{transition:none}
}
