.carte-wrap{align-items:start;font-family:system-ui,sans-serif}
#carte-svg{position:relative;background:#f8fafc;border-radius:12px;overflow:hidden}
#carte-svg svg{width:100%;max-height:82vh;display:block;touch-action:none;cursor:grab}
.zone{stroke:#fff;stroke-width:.8;vector-effect:non-scaling-stroke;cursor:pointer;transition:filter .15s}
.zone:hover{filter:brightness(.92)}
.zone.sel{stroke:#f59e0b;stroke-width:2.5}
.zone.departement:not(.show),.lab.departement:not(.show){display:none}
.zone.region.dim,.lab.region.dim{opacity:.4}
.zone.region.cur{fill:#fff!important}
.lab.region.cur{display:none} 
/* chiffres : taille constante à l'écran (--u fixé par le JS), contour blanc pour la lisibilité */
.lab{text-anchor:middle;dominant-baseline:central;font-family:system-ui,sans-serif;font-weight:700;pointer-events:none;fill:#0f172a;
     font-size:calc(16px*var(--u,1));stroke:#fff;stroke-width:calc(4px*var(--u,1));paint-order:stroke;stroke-linejoin:round}
.lab.region{font-size:calc(22px*var(--u,1));stroke-width:calc(5px*var(--u,1))}
.carte-bar{position:absolute;top:8px;left:8px;right:56px;display:flex;align-items:center;gap:10px;font-size:14px;color:#334155;pointer-events:none}
.carte-bar button{pointer-events:auto;padding:6px 12px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;cursor:pointer;white-space:nowrap}
.carte-bar button:hover{background:#f1f5f9}
.carte-zoom{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px}
.carte-zoom button{width:34px;height:34px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;font-size:18px;line-height:1;cursor:pointer}
.carte-zoom button:hover{background:#f1f5f9}
.carte-panel{border:1px solid #e2e8f0;border-radius:12px;padding:16px;max-height:82vh;overflow:auto;background:#fff}
.carte-panel h3{margin:0 0 10px;font-size:1.05rem}
.carte-panel ul{list-style:none;margin:0;padding:0}
.carte-panel li{padding:8px 0;border-top:1px solid #f1f5f9;display:flex;flex-direction:column}
.carte-panel small,.muted{color:#64748b}
@media(max-width:800px){.carte-wrap{grid-template-columns:1fr}}
