/* Carte des centres TP ECSR — /centres-de-formation/ (bloc généré par annuaire-formation-moniteur/carte/build_carte.py) */
.cc{--ink:#143A5A;--ink9:#0E2236;--amb:#C8881E;--amb7:#A86F14;--paper:#FBF8F2;--cream:#F4EEE2;--line:#E4DCCB;--mute:#5B6B78;--txt:#16242F;
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);gap:clamp(1.2rem,3vw,2.6rem);align-items:start;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(1rem,2.4vw,2rem);margin:2rem 0 2.6rem;
  font-family:'Schibsted Grotesk',system-ui,sans-serif;color:var(--txt)}
.cc-map{position:relative}
.cc-svg{display:block;width:100%;height:auto;overflow:visible}
.cc-reg path{fill:#ECE2CF;stroke:var(--paper);stroke-width:1.8;stroke-linejoin:round;transition:fill .18s}
.cc-reg:hover path,.cc-reg.is-on path,.cc-reg:focus-visible path{fill:#DCCBA8;stroke:var(--ink);stroke-width:1.4}
.cc-reg:focus{outline:none}.cc-reg:focus-visible path{stroke-width:2.4}
.cc-reg.cc-vide path{fill:#F2EDE3}
.cc-box{fill:none;stroke:var(--line);stroke-width:1}
.cc-box-t{font-size:10px;fill:var(--mute);text-anchor:middle;font-weight:600}
.cc-pt{fill:var(--amb);stroke:var(--paper);stroke-width:1.6;cursor:pointer;transition:r .15s,fill .15s}
.cc-pt:hover,.cc-pt.is-on{fill:var(--ink9);r:7.5}
.cc-pts.dim .cc-pt:not(.is-reg){opacity:.28}
.cc-tip{position:absolute;z-index:5;min-width:220px;max-width:280px;background:var(--ink9);color:var(--paper);border-radius:12px;padding:.8rem .95rem .85rem;
  box-shadow:0 18px 40px -16px rgba(14,34,54,.55);pointer-events:none;transform:translate(-50%,calc(-100% - 14px));font-size:.86rem;line-height:1.4}
.cc-tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:var(--ink9);transform:translateX(-50%) rotate(45deg);border-radius:2px}
.cc-tip.below{transform:translate(-50%,14px)}.cc-tip.below::after{bottom:auto;top:-6px}
.cc-tip b{display:block;font-size:.98rem;line-height:1.25;margin-bottom:.15rem}
.cc-tip .v{color:rgba(251,248,242,.7);font-size:.8rem}
.cc-tip .p{display:flex;gap:.9rem;margin-top:.55rem;font-variant-numeric:tabular-nums}
.cc-tip .p strong{color:var(--amb);font-weight:800}
.cc-tip .t{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}
.cc-tip .t span{background:rgba(251,248,242,.1);border-radius:5px;padding:.08rem .45rem;font-size:.74rem}
.cc-tip .a{margin-top:.45rem;font-size:.74rem;color:rgba(251,248,242,.6)}
.cc-tip .go{margin-top:.55rem;font-size:.76rem;color:var(--amb);font-weight:700}
.cc-kicker{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--amb7);margin:0 0 .35rem}
.cc-hint{font-size:.88rem;color:var(--mute);margin:0 0 1rem}
.cc-liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cc-liste li{margin:0;padding:0;border-bottom:1px solid var(--line)}
.cc-liste a{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:baseline;padding:.62rem .35rem;color:var(--txt);text-decoration:none!important;border-radius:6px;transition:background .15s}
.cc-liste a:hover,.cc-liste a.is-on,.cc-liste a:focus-visible{background:var(--cream)}
.cc-l-nom{font-weight:700;color:var(--ink)}
.cc-l-n{font-size:.84rem;color:var(--mute);white-space:nowrap}
.cc-l-p{font-size:.84rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:5.2em;text-align:right}
.cc-src{font-size:.75rem;color:var(--mute);margin:.9rem 0 0}
@media (max-width:860px){.cc{grid-template-columns:1fr}.cc-tip{min-width:200px}}
@media (prefers-reduced-motion:reduce){.cc *{transition:none!important}}
.cc-zoom{fill:#fff;stroke:var(--line)}
.cc-zoom-t{font-size:11px;font-weight:700;fill:var(--ink)}
.cc-zoom-l{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3;opacity:.35}
.cc-badge circle{fill:var(--ink);stroke:var(--paper);stroke-width:2;cursor:pointer}
.cc-badge text{fill:var(--paper);font-size:11px;font-weight:800;text-anchor:middle;pointer-events:none}
.cc-badge:hover circle,.cc-badge.is-on circle{fill:var(--amb7)}
.cc-tip .p strong,.cc-tip .p span{white-space:nowrap}.cc-tip .p{flex-wrap:wrap;gap:.2rem .9rem}
.cc-h-doigt{display:none}
@media (hover:none){.cc-h-souris{display:none}.cc-h-doigt{display:inline}}
