/* ============================================================================
   AM — Page « SAV en direct »  ·  am-sav-live.css
   COMPLÉMENT à am-presentation.css (framework partagé .am-pres : mhero, hbtn,
   wrap, sec, c-eyebrow/c-h2/c-body/c-lead, split, steps, faq, cta-split, mfooter).
   Ce fichier n'ajoute QUE les composants « live » propres au SAV :
     · la carte LIVE (SVG géo canton + panneau state-aware, états ouvert/fermé)
     · la liste de réassurance
     · les pastilles d'état (vert = live / gris = fermé)
     · les 2 ENTRÉES autonomes (filet accueil + module dépannage) — injectées
       dans des pages Divi, donc self-contained (aucune dépendance .am-pres).
   Couleurs = site anthracite + blanc ; SEUL accent = vert=live / gris=fermé.
   Réversible : retirer am-sav-live.php = tout part.
   ============================================================================ */

/* ---------- full-bleed + masquage footer Divi (page SAV uniquement) ---------- */
body.am-sav-pg #main-content{padding:0;width:100%;max-width:none}
body.am-sav-pg #main-content > .am-pres{width:100%}
body.am-sav-pg .et-l--footer,
body.am-sav-pg #main-footer,body.am-sav-pg #footer-bottom{display:none!important}

/* ---------- variables live (portées par le conteneur) ---------- */
.am-sav{--green-live:#3faf6d;--grey-dot:#9aa0a8;--dur:.32s;--ease:cubic-bezier(.22,.61,.36,1)}

/* ===================== HERO (overrides scopés par média) =====================
   DESKTOP (>=900px) : recaler le contenu sur le conteneur 1320 (x=53, comme l'étalon
   /modeles-remplacement/ · /problemes-courants/, PAS centré à 1180). H1 54px/1.04
   (le thème pose h1{clamp(..,58px)!important} -> on reprend l'ascendant). Boutons de
   MÊME LARGEUR (étalon = 292px). Dimensions .hbtn (14×26·14.5·r10) déjà identiques.
   -> TOUT ceci est enfermé en >=900px pour NE PAS toucher le hero MOBILE. */
@media(min-width:900px){
  .am-sav .mhero__row{width:auto;max-width:var(--wide-max);padding-left:var(--gutter);padding-right:var(--gutter)}
  #main-content .am-sav .mh-title{font-size:54px!important;line-height:1.04!important}
  .am-sav .mhero__col{max-width:720px}     /* « intervenons aujourd'hui » sur 1 ligne -> 2 lignes propres */
  .am-sav .mh-btns .hbtn{min-width:292px;justify-content:center}
}
/* MOBILE (<900px) : le hero SAV se comporte comme le hero de la HOME.
   La home met son contenu à x=44 (.wrap padding 78px 44px). Le défaut .mhero (width:90%)
   donnait ~x=20 (trop serré) -> on force le MÊME gutter mobile que la home (44px).
   H1 30px = taille du H1 mobile de la home (sinon le clamp du thème force 32px).
   Boutons : PAS de min-width/justify override -> .hbtn de base = pleine largeur, flèche
   ::after adjacente, contenu centré, exactement comme la home. */
@media(max-width:899px){
  .am-sav .mhero__row{width:auto;max-width:none;padding-left:44px;padding-right:44px}
  #main-content .am-sav .mh-title{font-size:30px!important}
}

/* intro pleine largeur (demande Umberto : PAS de colonne étroite) */
.am-sav .intro-full .c-body,
.am-sav .intro-full .c-lead{max-width:none}
.am-sav .intro-full .c-body{columns:2;column-gap:64px}
@media(max-width:860px){.am-sav .intro-full .c-body{columns:1}}

/* le lead sous « En ce moment » = pleine largeur aussi */
.am-sav .live-lead{max-width:none}

/* pastilles d'état réutilisables */
.am-sav .dot-live{width:8px;height:8px;border-radius:50%;background:var(--green-live);flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(63,175,109,.6);animation:amsav_live 2.1s ease-out infinite}
@keyframes amsav_live{0%{box-shadow:0 0 0 0 rgba(63,175,109,.5)}70%{box-shadow:0 0 0 7px rgba(63,175,109,0)}100%{box-shadow:0 0 0 0 rgba(63,175,109,0)}}
.am-sav .dot-closed{width:8px;height:8px;border-radius:50%;background:transparent;border:1.6px solid var(--grey-dot);flex:0 0 auto}

/* ============================ CARTE LIVE (le cœur) ============================ */
.am-sav .live-card{position:relative;background:#0e0f11;color:#fff;border-radius:24px;overflow:hidden;
  box-shadow:0 40px 90px -50px rgba(0,0,0,.55);margin-top:36px}
.am-sav .live-card .ht{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);background-size:9px 9px;opacity:.7;pointer-events:none}
.am-sav .live-grid{position:relative;display:grid;grid-template-columns:1.38fr 1fr;gap:0}

/* --- scène carte --- */
.am-sav .map-stage{position:relative;padding:30px 30px 22px;border-right:1px solid rgba(255,255,255,.08)}
.am-sav .stage-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.am-sav .live-chip{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#e7e9ec;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:7px 13px;border-radius:999px}
.am-sav .live-chip .dot{width:8px;height:8px;border-radius:50%;background:#5fd08a;box-shadow:0 0 0 0 rgba(95,208,138,.6);animation:amsav_livep 2s ease-out infinite}
@keyframes amsav_livep{0%{box-shadow:0 0 0 0 rgba(95,208,138,.55)}70%{box-shadow:0 0 0 7px rgba(95,208,138,0)}100%{box-shadow:0 0 0 0 rgba(95,208,138,0)}}
.am-sav .stage-top .upd{font-size:11.5px;color:#8a9099;letter-spacing:.3px}
.am-sav svg.canton{width:100%;height:auto;display:block}
.am-sav .map-frame{position:relative}

/* secteurs (état ouvert) */
.am-sav .sector{stroke:rgba(255,255,255,.24);stroke-width:1.3;fill:rgba(255,255,255,.045);transition:fill var(--dur),stroke var(--dur),opacity var(--dur)}
.am-sav .sector.hot{stroke:rgba(255,255,255,.62);stroke-width:1.6;fill:url(#amsavHot)}
.am-sav .sector.dim{opacity:.55}
.am-sav .outline{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.6;stroke-linejoin:round}
.am-sav .lake-fill{fill:url(#amsavLake);stroke:none}
.am-sav .city{fill:rgba(255,255,255,.85)}
.am-sav .city-lbl{fill:rgba(255,255,255,.72);font:600 10px 'Inter',sans-serif;letter-spacing:.2px}
.am-sav .sec-lbl{fill:rgba(255,255,255,.5);font:700 10.5px 'Inter',sans-serif;letter-spacing:2.2px;text-transform:uppercase}
.am-sav .lake-lbl{fill:rgba(150,180,205,.55);font:500 9.5px 'Inter',sans-serif;letter-spacing:1px}
.am-sav .atelier-lbl{fill:rgba(255,255,255,.85);font:700 9px 'Inter',sans-serif;letter-spacing:.6px;text-transform:uppercase}

/* point pulsant */
.am-sav .pulse{transition:transform var(--dur) var(--ease)}
.am-sav .pring{fill:#fff;opacity:.5;transform-box:fill-box;transform-origin:center;animation:amsav_pring 2.4s cubic-bezier(.22,.61,.36,1) infinite}
.am-sav .pring.d2{animation-delay:1.2s}
.am-sav .pcore{fill:#fff;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 7px rgba(255,255,255,.9));animation:amsav_pcore 2.4s ease-in-out infinite}
@keyframes amsav_pring{0%{transform:scale(.7);opacity:.55}80%,100%{transform:scale(4.6);opacity:0}}
@keyframes amsav_pcore{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}

/* carte en veille (état fermé) */
.am-sav .map-asleep{opacity:.62;filter:saturate(.7)}
.am-sav .veille-badge{display:none;align-items:center;gap:8px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:rgba(14,15,17,.72);backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:9px 16px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#c9ccd1}
.am-sav .veille-badge svg{width:15px;height:15px;stroke:#c9ccd1;stroke-width:1.8;fill:none;flex:0 0 auto}

.am-sav .map-note{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:#8a9099;letter-spacing:.2px}
.am-sav .map-note svg{width:14px;height:14px;stroke:#8a9099;stroke-width:1.7;fill:none;flex:0 0 auto}

/* légende des 4 secteurs (survol = highlight temporaire) */
.am-sav .legend{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}
.am-sav .legend button{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:10px 13px;cursor:pointer;font-family:inherit;text-align:left;transition:background var(--dur),border-color var(--dur)}
.am-sav .legend button:hover,.am-sav .legend button.on{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.3)}
.am-sav .legend .lg-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5);flex:0 0 auto}
.am-sav .legend button.on .lg-dot{background:#fff;box-shadow:0 0 8px rgba(255,255,255,.7)}
.am-sav .legend .lg-t{font-size:13px;font-weight:700;color:#eef0f2;letter-spacing:.1px}
.am-sav .legend .lg-s{display:block;font-size:11px;font-weight:500;color:#9aa0a8;letter-spacing:.1px;margin-top:1px}

/* --- panneau statut --- */
.am-sav .live-panel{padding:34px 34px 30px;display:flex;flex-direction:column}
.am-sav .lp-tag{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#b8bcc2}
.am-sav .lp-tag .dot-live{width:9px;height:9px}
.am-sav .lp-sector{margin:16px 0 0;font-size:34px;font-weight:800;letter-spacing:-.6px;line-height:1.06;color:#fff}
.am-sav .lp-places{margin:8px 0 0;font-size:14.5px;color:#b8bcc2;letter-spacing:.2px}
.am-sav .lp-ask{margin:22px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:16px;color:#dfe1e4;line-height:1.55}
.am-sav .lp-cta{margin-top:16px;display:flex;flex-direction:column;gap:11px;align-items:stretch}
.am-sav .lp-cta .am-btn{width:100%}
.am-sav .lp-cta .am-btn--primary{background:#fff;color:#1a1a1a;border-color:#fff}
.am-sav .lp-cta .am-btn--primary:hover{background:#eceded;transform:translateY(-1px)}
.am-sav .lp-cta .am-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.am-sav .lp-cta .am-btn--ghost:hover{background:#fff;color:#1a1a1a}
.am-sav .lp-tel{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:600;color:#cfd2d6}
.am-sav .lp-tel svg{width:16px;height:16px;stroke:#cfd2d6;stroke-width:1.8;fill:none}

/* bloc horaires (état fermé) */
.am-sav .lp-title{margin:16px 0 0;font-size:30px;font-weight:800;letter-spacing:-.6px;line-height:1.08;color:#fff;max-width:15ch}
.am-sav .lp-lead{margin:12px 0 0;font-size:15px;color:#b8bcc2;line-height:1.55;max-width:40ch}
.am-sav .hours{margin:22px 0 0;border:1px solid rgba(255,255,255,.11);border-radius:13px;overflow:hidden}
.am-sav .hours .h-row{display:flex;align-items:center;gap:12px;padding:13px 15px}
.am-sav .hours .h-row+.h-row{border-top:1px solid rgba(255,255,255,.09)}
.am-sav .hours .h-ic{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;flex:0 0 auto}
.am-sav .hours .h-ic svg{width:16px;height:16px;stroke:#cfd2d6;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.am-sav .hours .h-lbl{display:block;font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#8a9099}
.am-sav .hours .h-val{display:block;font-size:14.5px;font-weight:600;color:#eef0f2;letter-spacing:.1px;margin-top:3px}
.am-sav .hours .reopen{background:rgba(255,255,255,.05)}
.am-sav .hours .reopen .h-ic{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18)}
.am-sav .hours .reopen .h-ic svg{stroke:#fff}
.am-sav .hours .reopen .h-val{font-size:16px;font-weight:800;color:#fff}

/* états informatifs (autres états possibles) — état ouvert */
.am-sav .states{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
.am-sav .states .st-h{font-size:10.5px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#8a9099;margin-bottom:12px}
.am-sav .states .st-grid{display:grid;gap:9px}
.am-sav .state-vig{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:11px 13px;transition:background var(--dur),border-color var(--dur)}
.am-sav .state-vig.on{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28)}
.am-sav .state-vig .sv-ic{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.am-sav .state-vig .sv-ic svg{width:17px;height:17px;stroke:#e7e9ec;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.am-sav .state-vig .sv-t{font-size:13.5px;font-weight:700;color:#eef0f2;letter-spacing:.1px}
.am-sav .state-vig .sv-s{display:block;font-size:11.5px;font-weight:500;color:#9aa0a8;margin-top:1px}

/* --- bascule OUVERT / FERMÉ (piloté par la classe .is-closed sur .live-card) --- */
.am-sav .lp-closed{display:none}
.am-sav .live-card.is-closed .lp-open{display:none}
.am-sav .live-card.is-closed .lp-closed{display:flex;flex-direction:column}
.am-sav .live-card.is-closed .veille-badge{display:inline-flex}
.am-sav .live-card.is-closed .live-chip{color:#b8bcc2}
.am-sav .live-card.is-closed .live-chip .dot{display:none}

/* ============================ RÉASSURANCE (liste) ============================ */
.am-sav .reassure-list{list-style:none;margin:0;padding:0;border:1px solid var(--hairline);border-radius:14px;overflow:hidden;background:#fff}
.am-sav .reassure-list li{display:flex;gap:14px;align-items:center;padding:16px 22px;border-top:1px solid var(--hairline)}
.am-sav .reassure-list li:first-child{border-top:none}
.am-sav .reassure-list .r-ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:var(--surface-alt);border:1px solid var(--hairline);display:grid;place-items:center}
.am-sav .reassure-list .r-ic svg{width:18px;height:18px;stroke:var(--ink);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.am-sav .reassure-list .r-t{font-size:15.5px;color:var(--ink);font-weight:600}
.am-sav .reassure-list .r-s{display:block;font-size:13.5px;color:var(--muted);font-weight:500;margin-top:1px}

/* steps 3 colonnes (ce n'est pas le 4-col d'am-pres) */
.am-sav .steps--3{grid-template-columns:repeat(3,1fr)}

/* réassurance : la colonne titre garde son lead */
.am-sav .split .c-lead{max-width:48ch}

/* ============================ RESPONSIVE (page) ============================ */
@media(max-width:980px){
  .am-sav .live-grid{grid-template-columns:1fr}
  .am-sav .map-stage{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .am-sav .steps--3{grid-template-columns:1fr}
}
@media(max-width:720px){
  .am-sav .map-stage{padding:22px 18px 18px}
  .am-sav .live-panel{padding:26px 22px}
  .am-sav .legend{grid-template-columns:1fr}
  .am-sav .lp-sector{font-size:29px}
  .am-sav .lp-title{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  .am-sav *{animation:none!important}
}

/* ============================================================================
   ENTRÉES AUTONOMES (injectées dans les pages Divi accueil + dépannage).
   Self-contained : aucune dépendance à .am-pres. Police héritée (Inter du site).
   ============================================================================ */

/* --- ENTRÉE 1 · filet de statut accueil --- */
.am-sav-ribbon{display:block;border-top:1px solid #ececec;border-bottom:1px solid #ececec;background:#fff;
  font-family:'Inter',system-ui,-apple-system,sans-serif;text-decoration:none;color:#16181c}
/* filet SLIM : hairline dessus/dessous + UNE ligne compacte (retour Umberto : le filet
   « variante A » doit être fin/discret, pas un gros bloc aéré). padding vertical réduit,
   plus de min-height qui gonflait la barre. */
.am-sav-ribbon .sr-in{max-width:1320px;margin:0 auto;padding:12px 30px;display:flex;align-items:center;gap:18px;min-height:0}
/* sr-left ne doit PAS se faire écraser par le flex (quirk min-size -> .sec passait sur
   ~9 lignes -> barre de 239px). flex:0 0 auto + nowrap = une seule ligne, barre ~45px. */
.am-sav-ribbon .sr-left{display:flex;align-items:center;gap:11px;color:#3a3d42;font-size:14px;flex:0 0 auto;white-space:nowrap}
.am-sav-ribbon .sr-lbl,.am-sav-ribbon .sr-sec{white-space:nowrap}
.am-sav-ribbon .sr-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.am-sav-ribbon .sr-dot.live{background:#3faf6d;box-shadow:0 0 0 0 rgba(63,175,109,.6);animation:amsav_live 2.1s ease-out infinite}
.am-sav-ribbon .sr-dot.closed{background:transparent;border:1.6px solid #9aa0a8}
.am-sav-ribbon .sr-lbl{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#6b7075}
.am-sav-ribbon .sr-sep{width:1px;height:16px;background:#ececec}
.am-sav-ribbon .sr-sec{font-weight:600;color:#1a1a1a}
.am-sav-ribbon .sr-link{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1a1a1a}
.am-sav-ribbon .sr-link .arw{transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.am-sav-ribbon:hover .sr-link .arw{transform:translateX(4px)}
.am-sav-ribbon .sr-link svg{width:16px;height:16px;stroke:#1a1a1a;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){
  .am-sav-ribbon .sr-in{flex-wrap:wrap;gap:10px;min-height:0;padding:13px 20px}
  .am-sav-ribbon .sr-sep{display:none}
  .am-sav-ribbon .sr-link{margin-left:0;flex:1 1 100%;justify-content:space-between;padding-top:10px;border-top:1px solid #ececec}
}
@media(prefers-reduced-motion:reduce){.am-sav-ribbon .sr-dot.live{animation:none}}

/* --- ENTRÉE 2 · module « secteur du jour » dépannage --- */
.am-sav-depmod-wrap{max-width:1320px;margin:0 auto;padding:44px 30px 20px;
  font-family:'Inter',system-ui,-apple-system,sans-serif}
.am-sav-depmod{position:relative;background:#0e0f11;color:#fff;border-radius:22px;overflow:hidden;
  box-shadow:0 40px 90px -52px rgba(0,0,0,.55)}
.am-sav-depmod .ht{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);background-size:9px 9px;opacity:.7;pointer-events:none}
.am-sav-depmod .dep-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;align-items:stretch}
.am-sav-depmod .dep-copy,.am-sav-depmod .dep-map{min-width:0}
.am-sav-depmod .dep-copy{padding:40px 42px}
.am-sav-depmod .dep-eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:11.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:#b8bcc2;margin:0 0 18px}
.am-sav-depmod .dot-live,.am-sav-depmod .dot-closed{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.am-sav-depmod .dot-live{background:#3faf6d;box-shadow:0 0 0 0 rgba(63,175,109,.6);animation:amsav_live 2.1s ease-out infinite}
.am-sav-depmod .dot-closed{background:transparent;border:1.6px solid #9aa0a8}
.am-sav-depmod h3{margin:0;font-size:29px;font-weight:800;letter-spacing:-.6px;line-height:1.12;color:#fff;max-width:16ch}
.am-sav-depmod .dep-status{margin:20px 0 0;display:flex;flex-direction:column;gap:3px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:13px 16px}
.am-sav-depmod .dep-status .ds-row{display:flex;align-items:center;gap:10px}
.am-sav-depmod .dep-status .ds-lbl{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#e7e9ec}
.am-sav-depmod .dep-status .ds-sec{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.2px;padding-left:19px}
.am-sav-depmod.is-closed .dep-status .ds-lbl{color:#e7e9ec}
.am-sav-depmod.is-closed .dep-status .ds-sec{font-size:13px;font-weight:600;color:#b8bcc2}
.am-sav-depmod .dep-status .ds-hours{font-size:13px;font-weight:600;color:#b8bcc2;letter-spacing:.1px}
.am-sav-depmod .dp-sub{margin:18px 0 0;font-size:15px;color:#c4c8cd;line-height:1.6;max-width:44ch}
.am-sav-depmod .dep-cta{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.am-sav-depmod .dep-cta .db{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#1a1a1a;font-weight:600;font-size:15px;padding:14px 26px;border-radius:10px;text-decoration:none;transition:transform .15s,background .15s}
.am-sav-depmod .dep-cta .db:hover{transform:translateY(-1px);background:#eceded}
.am-sav-depmod .dep-cta .db .arw{transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.am-sav-depmod .dep-cta .db:hover .arw{transform:translateX(4px)}
.am-sav-depmod .dep-note{display:flex;align-items:center;gap:8px;font-size:12px;color:#8a9099}
.am-sav-depmod .dep-note svg{width:14px;height:14px;stroke:#8a9099;stroke-width:1.7;fill:none;flex:0 0 auto}
.am-sav-depmod .dep-map{position:relative;border-left:1px solid rgba(255,255,255,.08);padding:26px 30px;display:flex;flex-direction:column;justify-content:center}
.am-sav-depmod .dep-map .dm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.am-sav-depmod .dep-map .dm-chip{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#e7e9ec;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:6px 11px;border-radius:999px}
.am-sav-depmod .dep-map .dm-chip .dot-live{width:7px;height:7px}
.am-sav-depmod .dep-map .dm-upd{font-size:10.5px;color:#8a9099}
.am-sav-depmod .dep-map .map-frame{position:relative}
.am-sav-depmod svg.canton{width:100%;height:auto;display:block}
.am-sav-depmod .sector{stroke:rgba(255,255,255,.22);stroke-width:1.2;fill:rgba(255,255,255,.04);transition:fill .32s,opacity .32s}
.am-sav-depmod .sector.hot{stroke:rgba(255,255,255,.6);stroke-width:1.5;fill:url(#amsavHotD)}
.am-sav-depmod .sector.dim{opacity:.5}
.am-sav-depmod .outline{fill:none;stroke:rgba(255,255,255,.5);stroke-width:1.5;stroke-linejoin:round}
.am-sav-depmod .lake-fill{fill:url(#amsavLakeD);stroke:none}
.am-sav-depmod .city{fill:rgba(255,255,255,.8)}
.am-sav-depmod .city-lbl{fill:rgba(255,255,255,.66);font:600 10px 'Inter',sans-serif}
.am-sav-depmod .sec-lbl{fill:rgba(255,255,255,.46);font:700 10px 'Inter',sans-serif;letter-spacing:2px;text-transform:uppercase}
.am-sav-depmod .map-asleep{opacity:.62;filter:saturate(.7)}
.am-sav-depmod .veille-badge{display:none;align-items:center;gap:7px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:rgba(14,15,17,.72);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 14px;
  font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:#c9ccd1}
.am-sav-depmod .veille-badge svg{width:14px;height:14px;stroke:#c9ccd1;stroke-width:1.8;fill:none}
.am-sav-depmod .pring{fill:#fff;opacity:.5;transform-box:fill-box;transform-origin:center;animation:amsav_pring 2.4s cubic-bezier(.22,.61,.36,1) infinite}
.am-sav-depmod .pring.d2{animation-delay:1.2s}
.am-sav-depmod .pcore{fill:#fff;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 7px rgba(255,255,255,.9));animation:amsav_pcore 2.4s ease-in-out infinite}
/* bascule fermé (dep module) */
.am-sav-depmod.is-closed .dot-live{display:none}
.am-sav-depmod.is-closed .dep-map .dm-chip{color:#b8bcc2}
.am-sav-depmod.is-closed .veille-badge{display:inline-flex}
.am-sav-depmod.is-closed .pulse{display:none}
@media(max-width:980px){
  .am-sav-depmod .dep-grid{grid-template-columns:minmax(0,1fr)}
  .am-sav-depmod .dep-map{border-left:none;border-top:1px solid rgba(255,255,255,.08)}
}
@media(max-width:600px){
  .am-sav-depmod-wrap{padding:34px 20px 12px}
  .am-sav-depmod .dep-copy{padding:30px 22px}
  .am-sav-depmod h3{font-size:24px}
  .am-sav-depmod .dep-cta .db{width:100%;justify-content:center}
  .am-sav-depmod .dep-map{padding:22px 20px}
  .am-sav-depmod .dep-map .dm-upd{display:none}
}
@media(prefers-reduced-motion:reduce){.am-sav-depmod *{animation:none!important}}
