/* Map symbols and session layer controls. */
.bpe-picto-marker,.stake-map-marker{border-radius:2px!important;transform:none!important;border:1px solid #fff!important}

.bpe-picto-marker>span,.stake-map-marker>span{transform:none!important}
.map-risk-family{border-top:1px solid #dce5ed;padding-top:10px;margin-top:10px}
.map-risk-family:first-child{margin-top:0}.map-risk-family h4{font-size:.8rem;line-height:1.35;color:#173a52;margin:0 0 7px}
.map-layer-with-tools{display:flex;gap:5px;align-items:center;flex-wrap:wrap;min-width:0}
.map-layer-with-tools>label{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.map-layer-with-tools>.hazard-layer-classes{flex-basis:100%}
.map-layer-tools{display:flex;gap:3px;flex:0 0 auto}.map-layer-tools button{padding:2px;width:25px;height:25px;min-height:0;display:grid;place-items:center;border:1px solid #c6d4df;border-radius:6px;background:#fff;color:#27475f;cursor:pointer}
.map-layer-tools svg{width:19px;height:19px}.map-layer-tools .map-source-button{font-family:Georgia,serif;font-size:17px;font-weight:bold}
.map-layer-info-dialog{width:min(460px,90vw);max-height:80vh;overflow:auto;padding:20px;border:1px solid #cad8e2;border-radius:14px;color:#20364b;box-shadow:0 18px 70px #10284050}
.map-layer-info-dialog::backdrop{background:#10284055}.map-layer-info-head{display:flex;align-items:start;justify-content:space-between;gap:15px}.map-layer-info-head h3{margin:0;font-size:1.05rem}.map-layer-info-head button{border:0;background:none;font-size:23px;cursor:pointer}
.map-layer-info-dialog p{line-height:1.5;font-size:.88rem}.map-transparency-slider{display:grid;gap:12px;margin:20px 0}.map-transparency-slider output{font-weight:700}.map-transparency-slider input{width:100%}
.map-popup-last-update{display:block;margin-top:12px;padding-top:8px;border-top:1px solid #e1e8ee;color:#667085;font-size:.75rem}

.map-layer-with-tools{width:100%}.stake-symbol,.bpe-symbol{border-radius:2px!important;transform:none!important}

.map-source-tooltip{position:absolute;z-index:20000;max-width:280px;padding:8px 10px;border-radius:7px;background:#20364b;color:#fff;font-size:12px;line-height:1.4;pointer-events:none;box-shadow:0 3px 14px #0003}


/* Enjeux : carré commun et couleur de catégorie, sur toutes les cartes. */
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol):is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol){display:inline-grid;place-items:center;box-sizing:border-box;border-radius:0!important;transform:none!important;background:var(--stake-category-color,#0db5b0)!important;border:1px solid #111!important;box-shadow:none!important;color:#fff!important}
body :is(.bpe-picto-marker,.stake-map-marker)>span{transform:none!important;filter:brightness(0) invert(1) drop-shadow(0 1px 1px #0006);color:#fff!important;line-height:1!important}
body .leaflet-marker-icon .bpe-picto-marker.bpe-picto-marker{width:var(--bpe-marker-size,18px)!important;height:var(--bpe-marker-size,18px)!important}
body .leaflet-marker-icon .stake-map-marker.stake-map-marker{width:var(--stake-marker-size,28px)!important;height:var(--stake-marker-size,28px)!important}
body .leaflet-marker-icon .bpe-picto-marker>span{font-size:var(--bpe-glyph-size,10px)!important}
body .leaflet-marker-icon .stake-map-marker>span{font-size:var(--stake-marker-glyph-size,13px)!important}
/* Sensibles : liseré blanc fin devant le contour rouge plus épais. */
body .bpe-picto-marker.bpe-picto-marker:is(.bpe-sensitive,.bpe-critical,.is-sensitive,.sensitive,.is-critical),body .stake-map-marker.stake-map-marker:is(.is-sensitive,.sensitive,.is-critical){border:1px solid #fff!important;box-shadow:0 0 0 3px #e51c23!important}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).services{--stake-category-color:#619c99}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).security{--stake-category-color:#bd7777}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).education{--stake-category-color:#6796be}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).health{--stake-category-color:#bd84a0}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).commerce{--stake-category-color:#9982b6}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).transport{--stake-category-color:#79a28b}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).reseau_infrastructure{--stake-category-color:#8b939e}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).gathering{--stake-category-color:#c5966c}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).tourism{--stake-category-color:#be8979}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).agriculture{--stake-category-color:#c7b56c}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).patrimoine{--stake-category-color:#b99c80}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).humain{--stake-category-color:#b98194}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).erp{--stake-category-color:#c5966c}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).entreprise_commerce{--stake-category-color:#9982b6}
body :is(.bpe-picto-marker,.stake-map-marker,.stake-symbol,.bpe-symbol).patrimoine_naturel{--stake-category-color:#b99c80}

/* Symboles compacts, légendes lisibles, sensibilité indépendante de la couleur. */
body .bpe-picto-marker.bpe-legend-marker.bpe-legend-marker{width:22px!important;height:22px!important;min-width:22px!important;flex:0 0 22px!important;overflow:visible!important}
body .bpe-picto-marker.bpe-legend-marker.bpe-legend-marker>span{display:block!important;visibility:visible!important;opacity:1!important;font-size:14px!important;line-height:1!important;color:#172c3e!important;filter:none!important;transform:none!important}
body .bpe-picto-marker.bpe-picto-marker:is(.bpe-sensitive,.bpe-critical,.is-sensitive,.sensitive,.is-critical),body .stake-map-marker.stake-map-marker:is(.is-sensitive,.sensitive,.is-critical){position:relative;border:1px solid #fff!important;box-shadow:0 0 0 3px #b5192e,0 0 0 4px #fff!important;overflow:visible!important}
body .bpe-picto-marker:is(.bpe-sensitive,.bpe-critical,.is-sensitive,.sensitive,.is-critical)::after,body .stake-map-marker:is(.is-sensitive,.sensitive,.is-critical)::after{content:"!";position:absolute;top:-8px;right:-8px;width:12px;height:12px;display:grid;place-items:center;box-sizing:border-box;border:1px solid #fff;border-radius:50%;background:#b5192e;color:#fff;font:bold 10px/1 Arial,sans-serif;filter:none;z-index:1;pointer-events:none}

/* Légende : ne jamais filtrer le carré complet imbriqué dans son emplacement. */
body :is(.bpe-symbol,.stake-symbol)>span{filter:none!important;transform:none!important;color:#172c3e!important;font-size:14px!important;line-height:1!important}
body .bpe-symbol:has(>.bpe-legend-marker){background:transparent!important;border:0!important;box-shadow:none!important;width:22px!important;min-width:22px!important;height:22px!important;flex:0 0 22px!important}
