/* JDF - Carte institutionnelle V4 */
.regions-intro{max-width:790px;margin:0 0 38px}.regions-intro h2{font-size:clamp(2.3rem,5vw,4.2rem);letter-spacing:-.055em;line-height:1.08;margin:12px 0 16px;color:#102746}.regions-intro h2 span{color:#ce2442}.regions-intro p{font-size:1.07rem;line-height:1.75;color:#64748b}.regions-layout{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr);gap:22px;align-items:stretch}.regions-map-panel,.regions-detail{background:#fff;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 20px 50px rgba(18,39,70,.065);overflow:hidden}.regions-map-panel{position:relative}.regions-map-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 26px 14px}.regions-map-top strong{color:#122b4c;font-size:1.04rem}.regions-map-top span{font-size:.78rem;color:#7b8798}.regions-map-top:after{content:'';position:absolute;top:64px;left:26px;width:74px;height:4px;background:linear-gradient(90deg,#153c6b 0 49%,transparent 49% 57%,#d32949 57%)}.regions-map{height:560px;background:#fff;position:relative}.regions-map .leaflet-container{background:#fff!important}.regions-map .leaflet-control-attribution{background:rgba(255,255,255,.9)!important;font-size:9px!important}.regions-map .leaflet-control-zoom{border:1px solid #dce4ee!important;box-shadow:0 6px 18px rgba(20,42,70,.07)!important;border-radius:10px!important;overflow:hidden}.regions-map .leaflet-control-zoom a{color:#1a416b!important}.regions-map-hint{font-size:.83rem;color:#52657b;margin:0;padding:10px 26px 2px}.regions-attribution{font-size:.73rem;color:#8996a7;margin:0;padding:8px 26px 23px}.regions-attribution a{color:#285582}.regions-detail{padding:35px 31px;display:flex;flex-direction:column;min-height:560px;background:linear-gradient(150deg,#fff 65%,#f8fafd)}.regions-detail-kicker{color:#ca2947;letter-spacing:.18em;font-size:.71rem;font-weight:850}.regions-detail h3{color:#102a4c;font-size:clamp(1.8rem,2.6vw,2.55rem);letter-spacing:-.045em;line-height:1.13;margin:21px 0 22px}.regions-detail p{color:#5c6e84;line-height:1.72}.regions-detail .regions-published{border-left:3px solid #d12a49;padding-left:17px}.regions-detail .regions-published strong{display:block;color:#163351;font-size:1.05rem}.regions-detail .jdf-association{border-top:1px solid #e9edf4;padding:14px 0}.regions-detail a{overflow-wrap:anywhere}.regions-detail-link{margin-top:auto;padding-top:25px;color:#bc2542;font-weight:750;text-decoration:none}.regions-list-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:56px 0 20px}.regions-list-heading h2{font-size:clamp(1.8rem,3vw,2.3rem);color:#102a4c;letter-spacing:-.04em}.regions-list-heading p{color:#728095;max-width:330px}.regions-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.regions-region-btn{border:1px solid #e2e8f0;background:#fff;color:#173451;border-radius:12px;min-height:65px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;font:inherit;font-weight:680;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.regions-region-btn:hover,.regions-region-btn:focus-visible{border-color:#bd2944;background:#fff7f9;box-shadow:0 7px 20px rgba(40,55,85,.06);transform:translateY(-1px)}.regions-region-btn[aria-pressed=true]{border-color:#c52d48;background:#fff0f3;color:#ad2441}.regions-region-arrow{color:#c42b49}.jdf-region-tooltip{font-weight:750!important;color:#15385e!important;border:1px solid #dfe6ee!important;border-radius:8px!important;padding:7px 11px!important;box-shadow:0 7px 20px rgba(12,31,53,.09)!important}.regions-map-fallback{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;color:#38516a;line-height:1.6}.regions-map:before{content:'';position:absolute;inset:25px;pointer-events:none;border:1px solid #f4f6f9;border-radius:15px;z-index:400}@media(max-width:980px){.regions-layout{grid-template-columns:1fr}.regions-detail{min-height:280px}.regions-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.regions-map{height:410px}.regions-map-top{align-items:flex-start;flex-direction:column;padding:21px 20px 14px}.regions-map-top:after{top:83px;left:20px}.regions-map-hint,.regions-attribution{padding-left:20px;padding-right:20px}.regions-detail{padding:25px}.regions-list{grid-template-columns:1fr}.regions-list-heading{display:block}}

/* Urgent V6: SVG local, aucun service externe */
.regions-map{height:auto;min-height:400px;display:flex;align-items:center;justify-content:center;padding:15px 18px;background:#fff}
.jdf-map-svg{width:100%;height:auto;max-height:570px;display:block;overflow:visible}
.jdf-map-region{cursor:pointer;outline:none}
.jdf-map-region polygon{fill:#cbd3df;stroke:#fff;stroke-width:3;stroke-linejoin:round;transition:fill .16s,filter .16s}
.jdf-map-region:hover polygon,.jdf-map-region:focus-visible polygon{fill:#173d67;filter:drop-shadow(0 3px 4px #9da9bb)}
.jdf-map-region[aria-pressed=true] polygon{fill:#ce2949;stroke:#fff;stroke-width:4}
.jdf-map-region:focus-visible{outline:none}
@media(max-width:600px){.regions-map{height:auto;min-height:300px;padding:8px}.jdf-map-svg{max-height:430px}}

/* V9: frontières géographiques réelles, chemins SVG */
.jdf-map-region path{fill:#cbd3df;stroke:#fff;stroke-width:2.1;stroke-linejoin:round;transition:fill .18s}
.jdf-map-region:hover path,.jdf-map-region:focus-visible path{fill:#173d67}
.jdf-map-region[aria-pressed=true] path{fill:#ce2949;stroke-width:2.6}
.jdf-map-svg{max-width:680px;max-height:610px}
