/* =========================================================
   Valeurs-Formations — feuille de style
   Principe : signalétique de sécurité. Chaque domaine garde
   sa couleur réglementaire (rouge incendie, vert secours,
   jaune/noir électrique). Indigo et orange = la marque.
   ========================================================= */

@font-face{font-family:"Barlow";src:url("../fonts/barlow-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("../fonts/barlow-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("../fonts/barlow-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --nuit:#1B1D4F;      /* indigo nuit : fonds sombres, titres */
  --indigo:#2E3192;    /* indigo marque */
  --orange:#EE7623;    /* orange marque : actions */
  --orange-texte:#A9480B; /* orange lisible sur blanc (AA) */
  --papier:#FFFFFF;
  --brume:#F1F2F7;     /* surfaces secondaires */
  --trait:#D6D8E4;
  --texte:#22243D;
  --discret:#50536E;
  --rouge:#C1272D; --rouge-clair:#FBEAEA;
  --vert:#00754C;  --vert-clair:#E3F3EC;
  --jaune:#F4B400; --jaune-clair:#FFF5D6;

  --f-texte:"Barlow","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --f-titre:"Barlow Condensed","Bahnschrift","Avenir Next Condensed","Roboto Condensed","Arial Narrow","Liberation Sans Narrow",sans-serif;

  --t-xs:.875rem; --t-s:.9375rem; --t-m:1.0625rem; --t-l:1.25rem;
  --t-xl:1.5625rem; --t-2xl:clamp(1.8rem,1.4rem + 1.6vw,2.45rem);
  --t-3xl:clamp(2.2rem,1.5rem + 3vw,3.6rem);

  --page:74rem; --texte-max:40rem;
  --gouttiere:clamp(1rem,.5rem + 2.5vw,2rem);
  --r-s:6px; --r-m:12px; --r-l:24px;
  --ombre:0 1px 2px rgba(27,29,79,.06),0 8px 24px -12px rgba(27,29,79,.18);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--f-texte);font-size:var(--t-m);line-height:1.6;color:var(--texte);background:var(--papier);text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--indigo);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--f-titre);font-weight:700;line-height:1.08;color:var(--nuit);margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:var(--t-3xl)}
h2{font-size:var(--t-2xl)}
h3{font-size:var(--t-xl);line-height:1.15}
h4{font-size:var(--t-l);font-weight:600}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em;margin:0 0 1em}
li{margin-bottom:.35em}
strong{font-weight:600}
.visuellement-cache{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lien-evitement{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--nuit);color:#fff;padding:.75rem 1rem;border-radius:var(--r-s)}
.lien-evitement:focus{top:1rem}

.conteneur{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:var(--gouttiere)}
.bloc{padding-block:clamp(3rem,2rem + 4vw,5.5rem)}
.bloc--brume{background:var(--brume)}
.bloc--nuit{background:var(--nuit);color:#E6E7F2}
.bloc--nuit h2,.bloc--nuit h3{color:#fff}
.bloc--nuit a{color:#fff}
.chapo{font-size:var(--t-l);line-height:1.5;color:var(--discret);max-width:var(--texte-max)}
.bloc--nuit .chapo{color:#C9CBE3}
.prose{max-width:var(--texte-max)}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.3em}
.entete-bloc{max-width:46rem;margin-bottom:2.25rem}

/* ---------- Boutons ---------- */
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-texte);font-weight:600;font-size:var(--t-m);line-height:1.2;padding:.85rem 1.35rem;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;min-height:48px}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn--action{background:var(--orange);color:var(--nuit)}
.btn--action:hover{background:#F78B3F}
.btn--contour{border-color:currentColor;color:var(--nuit);background:transparent}
.btn--contour:hover{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.bloc--nuit .btn--contour,.heros .btn--contour{color:#fff}
.bloc--nuit .btn--contour:hover,.heros .btn--contour:hover{background:#fff;color:var(--nuit);border-color:#fff}
.btn--petit{padding:.55rem 1rem;min-height:40px;font-size:var(--t-s)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--trait);backdrop-filter:saturate(1.4) blur(6px)}
.entete__barre{display:flex;align-items:center;gap:1.25rem;min-height:4.5rem}
.marque{display:flex;align-items:center;gap:.6rem;flex:none;text-decoration:none}
.marque img{height:40px;width:auto}
.marque__mot{height:34px!important}
.nav{margin-left:auto}
.nav__liste{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;align-items:center}
.nav__liste>li{margin:0;position:relative}
.nav__lien,.nav__bouton{white-space:nowrap;display:inline-flex;align-items:center;gap:.3rem;padding:.6rem .75rem;border-radius:var(--r-s);font:inherit;font-weight:500;font-size:var(--t-s);color:var(--texte);text-decoration:none;background:none;border:0;cursor:pointer}
.nav__lien:hover,.nav__bouton:hover,.nav__lien[aria-current="page"]{color:var(--indigo);background:var(--brume)}
.nav__bouton svg{width:.8em;height:.8em;transition:transform .15s}
.nav__bouton[aria-expanded="true"] svg{transform:rotate(180deg)}
.entete__contact{display:flex;align-items:center;gap:.75rem}
.tel-lien{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--nuit);text-decoration:none;white-space:nowrap;font-size:var(--t-s)}
.tel-lien svg{width:1.05em;height:1.05em;color:var(--orange-texte)}
.tel-lien{min-width:44px;min-height:44px;justify-content:center}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--trait);border-radius:var(--r-s);padding:.55rem .7rem;cursor:pointer;font:inherit;font-weight:600;color:var(--nuit);align-items:center;gap:.4rem}
.burger svg{width:1.25rem;height:1.25rem}

.mega{position:absolute;left:50%;top:calc(100% + .5rem);transform:translateX(-38%);width:min(52rem,92vw);background:#fff;border:1px solid var(--trait);border-radius:var(--r-m);box-shadow:var(--ombre);padding:1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.mega[hidden]{display:none}
.mega__col h3{font-size:var(--t-l);display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.mega__col h3 a{color:var(--nuit);text-decoration:none}
.mega__col ul{list-style:none;padding:0;margin:0}
.mega__col li{margin:0}
.mega__col li a{display:block;padding:.35rem 0;text-decoration:none;color:var(--texte);font-size:var(--t-s);line-height:1.35}
.mega__col li a:hover{color:var(--indigo);text-decoration:underline}
.mega__pied{grid-column:1/-1;border-top:1px solid var(--trait);padding-top:.9rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:var(--t-s)}

@media (max-width:80rem){
  .tel-lien span{display:none}
}
@media (max-width:22rem){
  .marque__mot{height:28px!important}
  .marque img:first-child{height:34px}
}
@media (max-width:80rem) and (min-width:70.01rem){
  .nav__lien,.nav__bouton{padding:.6rem .5rem}
}
@media (max-width:70rem){
  .burger{display:inline-flex}
  /* backdrop-filter piège les éléments « fixed » dans l'en-tête : désactivé sur mobile pour que le menu s'affiche */
  .entete{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .nav{position:fixed;inset:4.5rem 0 0 0;z-index:60;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:1rem var(--gouttiere) calc(2rem + env(safe-area-inset-bottom));margin:0;display:none;border-top:1px solid var(--trait)}
  .nav.est-ouverte{display:block}
  .nav__liste{flex-direction:column;align-items:stretch;gap:0}
  .nav__lien,.nav__bouton{width:100%;justify-content:space-between;font-size:var(--t-l);padding:.9rem .25rem;border-bottom:1px solid var(--brume);border-radius:0}
  .mega{position:static;transform:none;width:100%;box-shadow:none;border:0;grid-template-columns:1fr;padding:.5rem 0 1rem}
  .entete__contact{display:none}
}

/* ---------- Plaques (pictogrammes de domaine) ---------- */
.plaque{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:var(--r-s);flex:none;color:#fff}
.plaque svg{width:62%;height:62%}
.plaque--rouge{background:var(--rouge)}
.plaque--vert{background:var(--vert)}
.plaque--jaune{background:none;color:var(--nuit);width:2.9rem}
.plaque--jaune svg{width:100%;height:100%}
.plaque--s{width:1.9rem;height:1.9rem}
.plaque--jaune.plaque--s{width:2.1rem}
.plaque--l{width:3.6rem;height:3.6rem}
.plaque--jaune.plaque--l{width:4rem}

/* ---------- Héros (accueil) ---------- */
.heros{background:var(--nuit);color:#E3E4F1;position:relative;overflow:hidden}
.heros::before{content:"";position:absolute;inset:auto -10% -40% 40%;height:80%;background:radial-gradient(closest-side,rgba(238,118,35,.22),transparent);pointer-events:none}
.heros__grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) clamp(2.5rem,2rem + 3vw,4rem)}
.heros h1{color:#fff;font-size:clamp(2.4rem,1.6rem + 3.4vw,4.1rem);line-height:1.02;margin-bottom:.45em}
.heros__texte p{font-size:var(--t-l);line-height:1.5;color:#CFD1E8;max-width:31rem}
.heros .actions{margin-top:1.75rem}
.preuves{list-style:none;padding:0;margin:2.25rem 0 0;display:flex;flex-wrap:wrap;gap:1.25rem 2rem;border-top:1px solid rgba(255,255,255,.14);padding-top:1.25rem}
.preuves li{margin:0;font-size:var(--t-s);color:#B9BCD9;line-height:1.3}
.preuves strong{display:block;font-family:var(--f-titre);font-size:1.7rem;color:#fff;font-weight:700;line-height:1.1}
@media (max-width:56rem){.heros__grille{grid-template-columns:1fr}}
@media (max-width:40rem){
  .preuves{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem}
  .preuves strong{font-size:1.3rem}
  .preuves li{font-size:var(--t-xs)}
  .heros .actions .btn{flex:1 1 auto;justify-content:center}
}
@media (max-width:40rem){.btn{white-space:normal;text-align:center}}
.duo>*,.grille-2>*,.fiche>*,.heros__grille>*{min-width:0}
/* Barre d'action mobile */
.barre-action{display:none}
@media (max-width:70rem){
  .barre-action{display:grid;grid-template-columns:1fr 1.4fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--trait);box-shadow:0 -6px 20px -12px rgba(27,29,79,.35)}
  .barre-action .btn{justify-content:center;padding:.7rem .5rem}
  .menu-ouvert .barre-action{display:none}
  body{padding-bottom:4.75rem}
  .cmp{bottom:5.25rem}
}

/* Viseur AR */
.viseur{margin:0;position:relative;border-radius:var(--r-l);overflow:hidden;background:#000;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);isolation:isolate}
.viseur picture img{width:100%;aspect-ratio:3/2;object-fit:cover}
.viseur__hud{position:absolute;inset:0;pointer-events:none;z-index:1}
.viseur__hud .coin{fill:none;stroke:#fff;stroke-width:3;opacity:.85}
.viseur__cible{transform-origin:center;transform-box:fill-box;animation:cible 2.4s ease-in-out 3}
@keyframes cible{0%,100%{opacity:.9;transform:scale(1)}50%{opacity:.45;transform:scale(1.12)}}
.viseur__etiquette{position:absolute;top:.9rem;left:1rem;z-index:2;display:flex;gap:.5rem;align-items:center;font-family:var(--f-titre);font-weight:600;font-size:var(--t-s);color:#fff;background:rgba(10,11,40,.55);padding:.3rem .7rem;border-radius:999px;backdrop-filter:blur(4px)}
.viseur__etiquette i{width:.55rem;height:.55rem;border-radius:50%;background:#FF4D3D;display:block}
.defi{position:relative;z-index:2;background:rgba(14,15,48,.92);backdrop-filter:blur(8px);padding:1rem 1.1rem 1.1rem;border-top:1px solid rgba(255,255,255,.12)}

.defi__question{font-family:var(--f-titre);font-weight:600;font-size:var(--t-l);color:#fff;margin:0 0 .15rem;line-height:1.2}
.defi__contexte{font-size:var(--t-s);color:#B9BCD9;margin:0 0 .75rem}
.defi__choix{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.defi__choix button{font:inherit;font-weight:600;font-size:var(--t-s);color:#fff;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.3);border-radius:var(--r-s);padding:.65rem .5rem;cursor:pointer;line-height:1.2;min-height:48px}
.defi__choix button:hover{border-color:#fff;background:rgba(255,255,255,.14)}
.defi__choix button[aria-pressed="true"][data-verdict="bon"]{background:#0B7A4F;border-color:#35C48A}
.defi__choix button[aria-pressed="true"][data-verdict="moyen"]{background:#8A5A00;border-color:var(--jaune)}
.defi__choix button[aria-pressed="true"][data-verdict="non"]{background:#8E1D22;border-color:#FF6B6B}
.defi__retour{font-size:var(--t-s);color:#E7E8F5;margin:.75rem 0 0;min-height:1.2em}
.defi__retour:empty{display:none}
.defi__retour a{color:#FFB47E}
@media (max-width:26rem){.defi__choix{grid-template-columns:1fr}}

/* ---------- Domaines (accueil) ---------- */
.domaines{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media (max-width:60rem){.domaines{grid-template-columns:1fr}}
.domaine{position:relative;background:#fff;border:1px solid var(--trait);border-radius:var(--r-m);padding:1.5rem 1.5rem 1.25rem;display:flex;flex-direction:column}
.domaine::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:6px;border-radius:var(--r-m) var(--r-m) 0 0}
.domaine--rouge::before{background:var(--rouge)}
.domaine--vert::before{background:var(--vert)}
.domaine--jaune::before{background:repeating-linear-gradient(-45deg,var(--jaune) 0 10px,var(--nuit) 10px 20px)}
.domaine__tete{display:flex;gap:.8rem;align-items:center;margin-bottom:.9rem}
.domaine__tete h3{margin:0}
.domaine__tete h3 a{color:inherit;text-decoration:none}
.domaine__tete h3 a::after{content:"";position:absolute;inset:0}
.domaine p{color:var(--discret);font-size:var(--t-s)}
.domaine ul{list-style:none;padding:0;margin:auto 0 0;border-top:1px solid var(--brume)}
.domaine li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--brume);margin:0;font-size:var(--t-s);position:relative;z-index:1}
.domaine li a{color:var(--texte);text-decoration:none;font-weight:500}
.domaine li a:hover{color:var(--indigo);text-decoration:underline}
.domaine li span{color:var(--discret);white-space:nowrap}

/* ---------- Déroulé (étapes) ---------- */
.etapes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:etape;border-top:2px solid var(--nuit)}
@media (max-width:56rem){.etapes{grid-template-columns:1fr}}
.etapes li{counter-increment:etape;padding:1.25rem 1.5rem 1.5rem 0;margin:0;border-bottom:1px solid var(--trait)}
.etapes li::before{content:counter(etape);font-family:var(--f-titre);font-weight:700;font-size:2.1rem;color:var(--orange-texte);line-height:1;display:block;margin-bottom:.5rem}
.etapes h3{font-size:var(--t-l);margin-bottom:.35rem}
.etapes p{font-size:var(--t-s);color:var(--discret);margin:0}

/* ---------- Deux colonnes générique ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.duo--texte-large{grid-template-columns:3fr 2fr}
@media (max-width:56rem){.duo,.duo--texte-large{grid-template-columns:1fr}}
.cadre-photo{border-radius:var(--r-l);overflow:hidden}
.cadre-photo img{width:100%}
.liste-coches{list-style:none;padding:0}
.liste-coches li{position:relative;padding-left:1.9rem;margin-bottom:.7rem}
.liste-coches li::before{content:"";position:absolute;left:0;top:.35em;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%231B1D4F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}

/* ---------- Carte des zones ---------- */
.carte{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:1rem}
.carte svg text{font-family:var(--f-titre);font-weight:600}
.carte a:hover text,.carte a:focus text{fill:var(--orange-texte);text-decoration:underline}
.villes{columns:2;column-gap:2rem;list-style:none;padding:0;margin:1.25rem 0 0}
.villes li{break-inside:avoid;margin-bottom:.4rem}

/* ---------- Durable ---------- */
.durable{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;list-style:none;padding:0;margin:0}
@media (max-width:60rem){.durable{grid-template-columns:1fr 1fr}}
@media (max-width:34rem){.durable{grid-template-columns:1fr}}
.durable li{margin:0;padding-top:1rem;border-top:3px solid var(--vert)}
.durable h3{font-size:var(--t-l);margin-bottom:.3rem}
.durable p{font-size:var(--t-s);color:var(--discret);margin:0}

.temoins{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.25rem}
.temoin{margin:0;background:#fff;border-radius:var(--r-m);padding:1.5rem;border-top:4px solid var(--orange)}
.temoin blockquote{margin:0 0 1rem;font-size:var(--t-l);line-height:1.5;color:var(--nuit)}
.temoin figcaption{font-size:var(--t-s);color:var(--discret)}

/* ---------- FAQ ---------- */
.faq{max-width:48rem}
.faq details{border-bottom:1px solid var(--trait)}
.faq summary{list-style:none;cursor:pointer;padding:1.1rem 2.5rem 1.1rem 0;position:relative;font-weight:600;font-size:var(--t-l);color:var(--nuit);line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.4rem;top:1.45rem;width:.7rem;height:.7rem;border-right:2px solid var(--indigo);border-bottom:2px solid var(--indigo);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.7rem}
.faq details>div{padding:0 0 1.25rem;color:var(--texte)}
.faq details>div p:last-child{margin:0}

/* ---------- Appel à l'action ---------- */
.appel{background:var(--nuit);color:#DADCF0;border-radius:var(--r-l);padding:clamp(1.75rem,4vw,3rem);display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center}
.appel h2{color:#fff;margin-bottom:.35em}
.appel p{margin:0;color:#C9CBE3}
.appel .actions{justify-content:flex-end}
.appel .btn--contour{color:#fff}
.appel .btn--contour:hover{background:#fff;color:var(--nuit);border-color:#fff}
@media (max-width:56rem){.appel{grid-template-columns:1fr}.appel .actions{justify-content:flex-start}}

/* ---------- Fil d'Ariane ---------- */
.ariane{font-size:var(--t-xs);color:var(--discret);padding-block:1rem 0}
.ariane ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.25rem}
.ariane li{margin:0}
.ariane li+li::before{content:"/";margin-right:.35rem;color:var(--trait)}
.ariane a{color:var(--discret)}

/* ---------- En-tête de page intérieure ---------- */
.tete-page{padding-block:1.5rem clamp(2rem,4vw,3.25rem);border-bottom:1px solid var(--trait)}
.tete-page__ligne{display:flex;gap:1rem;align-items:flex-start}
.tete-page h1{margin-bottom:.35em;max-width:52rem}
.tete-page .chapo{max-width:46rem}
.tete-page--rouge{border-bottom:6px solid var(--rouge)}
.tete-page--vert{border-bottom:6px solid var(--vert)}
.tete-page--jaune{border-bottom:6px solid var(--jaune)}
.sur-titre{font-family:var(--f-titre);font-weight:600;font-size:var(--t-l);color:var(--discret);margin:0 0 .35rem}

/* ---------- Fiche formation ---------- */
.reperes{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:0;margin:1.75rem 0 0;border:1px solid var(--trait);border-radius:var(--r-m);overflow:hidden;background:#fff}
.reperes div{padding:.85rem 1rem;border-right:1px solid var(--trait);border-bottom:1px solid var(--trait);margin:-0 -1px -1px 0}
.reperes dt{font-size:var(--t-xs);color:var(--discret);margin:0}
.reperes dd{margin:.1rem 0 0;font-weight:600;color:var(--nuit);line-height:1.3}
.reperes dd small{display:block;font-weight:400;color:var(--discret);font-size:var(--t-xs)}

.fiche{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:clamp(2rem,4vw,4rem);align-items:start}
@media (max-width:60rem){.fiche{grid-template-columns:1fr}}
.fiche__corps section{padding-block:1.75rem;border-bottom:1px solid var(--brume)}
.fiche__corps section:first-child{padding-top:0}
.fiche__corps h2{font-size:var(--t-xl);margin-bottom:.6rem}
.fiche__corps>section>p,.fiche__corps li{max-width:var(--texte-max)}
.objectif{font-size:var(--t-l);line-height:1.5;color:var(--nuit);border-left:4px solid var(--orange);padding-left:1rem;max-width:var(--texte-max)}
.programme{list-style:none;padding:0;margin:0}
.programme li{display:grid;grid-template-columns:13rem 1fr;gap:1rem;padding:.9rem 0;border-top:1px solid var(--brume);margin:0}
.programme li:first-child{border-top:0}
.programme strong{font-family:var(--f-titre);font-size:var(--t-l);color:var(--nuit);line-height:1.2}
@media (max-width:40rem){.programme li{grid-template-columns:1fr;gap:.2rem}}
.paliers{width:100%;border-collapse:collapse;margin:1rem 0;font-size:var(--t-s)}
.paliers th,.paliers td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--trait);vertical-align:top}
.paliers th{font-family:var(--f-titre);font-size:var(--t-m);color:var(--nuit);background:var(--brume)}
.paliers td:nth-child(2){white-space:nowrap;font-weight:600}
.table-defile{overflow-x:auto}
.encadre{background:var(--brume);border-radius:var(--r-m);padding:1rem 1.25rem;margin-top:1rem;max-width:var(--texte-max)}
.encadre p:last-child{margin:0}
.indicateurs{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:1rem 0 .5rem}
.indicateurs div{background:var(--brume);border-radius:var(--r-m);padding:.9rem 1rem}
.indicateurs dt{font-size:var(--t-xs);color:var(--discret)}
.indicateurs dd{margin:.15rem 0 0;font-family:var(--f-titre);font-size:1.6rem;font-weight:700;color:var(--nuit);line-height:1.1}
.indicateurs dd.en-cours{font-family:var(--f-texte);font-size:var(--t-s);font-weight:500;color:var(--discret);line-height:1.35}
.note{font-size:var(--t-xs);color:var(--discret)}
.parcours{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem;margin:0}
@media (max-width:40rem){.parcours{grid-template-columns:1fr}}
.parcours dt{font-weight:600;color:var(--nuit)}
.parcours dd{margin:.15rem 0 0;font-size:var(--t-s);color:var(--discret)}

.aside-fiche{position:sticky;top:6rem;display:flex;flex-direction:column;gap:1rem}
.aside-fiche__carte{border:1px solid var(--trait);border-radius:var(--r-m);padding:1.25rem;background:#fff}
.aside-fiche__carte h2{font-size:var(--t-xl);margin-bottom:.4rem}
.aside-fiche__carte p{font-size:var(--t-s);color:var(--discret)}
.aside-fiche__carte .btn{width:100%;justify-content:center}
.aside-fiche__carte .btn+.btn{margin-top:.6rem}
.aside-fiche nav ul{list-style:none;padding:0;margin:0;font-size:var(--t-s)}
.aside-fiche nav li{margin:0}
.aside-fiche nav a{display:block;padding:.3rem 0;color:var(--discret);text-decoration:none}
.aside-fiche nav a:hover{color:var(--indigo);text-decoration:underline}
@media (max-width:60rem){.aside-fiche{position:static}.aside-fiche nav{display:none}}
.maj{font-size:var(--t-xs);color:var(--discret);margin-top:1.5rem}

/* ---------- Liste de formations (catalogue, hubs) ---------- */
.cartes-formations{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.carte-f{position:relative;margin:0;background:#fff;border:1px solid var(--trait);border-radius:var(--r-m);padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem}
.carte-f:hover{border-color:var(--indigo)}
.carte-f__haut{display:flex;align-items:center;gap:.6rem;font-size:var(--t-xs);color:var(--discret);font-weight:500}
.carte-f h3{font-size:var(--t-xl);margin:0}
.carte-f h3 a{color:var(--nuit);text-decoration:none}
.carte-f h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r-m)}
.carte-f p{font-size:var(--t-s);color:var(--discret);margin:0}
.carte-f dl{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin:auto 0 0;padding-top:.75rem;border-top:1px solid var(--brume);font-size:var(--t-xs)}
.carte-f dl div{display:flex;gap:.3rem}
.carte-f dt{color:var(--discret)}
.carte-f dd{margin:0;font-weight:600;color:var(--nuit)}
.groupe-domaine{margin-bottom:3rem}
.groupe-domaine__tete{display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem}
.groupe-domaine__tete h2{margin:0}

/* ---------- Orientation (quiz) ---------- */
.orienteur{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:clamp(1.25rem,3vw,2rem)}
.orienteur fieldset{border:0;padding:0;margin:0 0 1.25rem}
.orienteur legend{font-family:var(--f-titre);font-weight:700;font-size:var(--t-xl);color:var(--nuit);margin-bottom:.75rem;padding:0}
.puces{display:flex;flex-wrap:wrap;gap:.5rem}
.puces label{position:relative}
.puces input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.puces span{display:inline-block;padding:.6rem 1rem;border:1.5px solid var(--trait);border-radius:999px;font-weight:500;font-size:var(--t-s);cursor:pointer;background:#fff;min-height:44px;line-height:1.5}
.puces input:checked+span{background:var(--nuit);border-color:var(--nuit);color:#fff}
.puces input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.orienteur__resultat{border-top:1px solid var(--trait);padding-top:1.25rem;margin-top:.5rem}
.orienteur__resultat:empty{display:none}
.orienteur__resultat h3{margin-bottom:.35rem}

/* ---------- Formulaire ---------- */
.formulaire{display:grid;gap:1.5rem}
.formulaire fieldset{border:1px solid var(--trait);border-radius:var(--r-m);padding:1.25rem 1.25rem 1.5rem;margin:0}
.formulaire legend{font-family:var(--f-titre);font-weight:700;font-size:var(--t-xl);color:var(--nuit);padding:0 .4rem}
.champs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:40rem){.champs{grid-template-columns:1fr}}
.champ{display:flex;flex-direction:column;gap:.35rem}
.champ--large{grid-column:1/-1}
.champ label,.champ .label{font-weight:600;font-size:var(--t-s);color:var(--nuit)}
.champ .aide{font-size:var(--t-xs);color:var(--discret);font-weight:400}
.champ input,.champ select,.champ textarea{font:inherit;font-size:var(--t-m);padding:.7rem .85rem;border:1.5px solid #7C7F99;border-radius:var(--r-s);background:#fff;color:var(--texte);min-height:48px;width:100%}
.champ textarea{min-height:8rem;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--indigo);outline:3px solid rgba(46,49,146,.25);outline-offset:0}
.champ [aria-invalid="true"]{border-color:var(--rouge)}
.erreur{color:var(--rouge);font-size:var(--t-xs);font-weight:600}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem}
@media (max-width:40rem){.cases{grid-template-columns:1fr}}
.case{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--t-s);line-height:1.4;padding:.35rem 0;cursor:pointer}
.case input{width:1.2rem;height:1.2rem;margin:.1rem 0 0;flex:none;accent-color:var(--indigo)}
.info-rgpd{font-size:var(--t-xs);color:var(--discret);line-height:1.5;max-width:48rem}
.pot-de-miel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Pied de page ---------- */
.pied{background:#12133A;color:#B7B9D6;font-size:var(--t-s);margin-top:0}
.pied a{color:#E3E4F3;text-decoration:none}
.pied a:hover{text-decoration:underline}
.pied__grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-block:3.5rem 2rem}
@media (max-width:60rem){.pied__grille{grid-template-columns:1fr 1fr}}
@media (max-width:34rem){.pied__grille{grid-template-columns:1fr}}
.pied h2{font-family:var(--f-titre);font-size:var(--t-l);color:#fff;margin-bottom:.8rem}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{margin-bottom:.45rem}
.pied__marque img{height:36px;width:auto;margin-bottom:1rem}
.pied__bas{border-top:1px solid rgba(255,255,255,.1);padding-block:1.25rem 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:var(--t-xs);color:#9295BA}
.pied__bas button{background:none;border:0;color:#E3E4F3;font:inherit;cursor:pointer;padding:0;text-decoration:underline}

/* ---------- Bandeau cookies ---------- */
.cmp{position:fixed;z-index:90;left:1rem;right:1rem;bottom:1rem;max-width:34rem;background:#fff;color:var(--texte);border:1px solid var(--trait);border-radius:var(--r-m);box-shadow:0 20px 50px -20px rgba(27,29,79,.45);padding:1.25rem}
.cmp[hidden]{display:none}
.cmp h2{font-size:var(--t-xl);margin-bottom:.4rem}
.cmp p{font-size:var(--t-s);margin-bottom:.9rem}
.cmp__boutons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.cmp__boutons .btn{justify-content:center;background:var(--nuit);color:#fff;border-color:var(--nuit)}
.cmp__boutons .btn:hover{background:var(--indigo);border-color:var(--indigo)}
.cmp__perso{grid-column:1/-1;background:none;border:0;color:var(--indigo);font:inherit;font-size:var(--t-s);text-decoration:underline;cursor:pointer;padding:.4rem}
.cmp__details{margin:.25rem 0 1rem;border-top:1px solid var(--trait)}
.cmp__ligne{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--brume);font-size:var(--t-s)}
.cmp__ligne small{display:block;color:var(--discret)}
.cmp__ligne input{width:1.3rem;height:1.3rem;accent-color:var(--indigo);flex:none;margin-top:.15rem}

/* ---------- Bloc handicap ---------- */
.handicap{border:2px solid var(--indigo);border-radius:var(--r-l);padding:clamp(1.25rem,3vw,2rem);margin:2.5rem 0;max-width:48rem}
.handicap__engagement{font-size:var(--t-l);line-height:1.5;color:var(--nuit)}
.handicap__grille{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.25rem}
.handicap h2{margin-top:0}
.handicap__contacts{display:flex;flex-wrap:wrap;gap:.25rem 2rem}
@media (max-width:26rem){.handicap__contacts a{white-space:normal;overflow-wrap:anywhere}}
.handicap__referent{background:var(--brume);border-radius:var(--r-m);padding:1.1rem 1.25rem}
.handicap h3{font-size:var(--t-l);margin:0 0 .5rem}
.handicap__contacts{list-style:none;padding:0;margin:.75rem 0}
.handicap__contacts li{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;font-weight:600;font-size:var(--t-m)}
.handicap__contacts a{white-space:nowrap}
.handicap{scroll-margin-top:6rem}
.handicap__contacts svg{width:1.2rem;height:1.2rem;color:var(--orange-texte);flex:none}

/* ---------- Pages légales ---------- */
.legal h2{font-size:var(--t-xl);margin-top:2rem}
.legal table{width:100%;border-collapse:collapse;font-size:var(--t-s);margin:1rem 0}
.legal th,.legal td{border:1px solid var(--trait);padding:.55rem .7rem;text-align:left;vertical-align:top}
.legal th{background:var(--brume);font-weight:600}
.a-completer{background:#FFF1C2;padding:0 .25rem;border-radius:3px}
.sommaire{background:var(--brume);border-radius:var(--r-m);padding:1rem 1.25rem;margin:0 0 2rem;max-width:var(--texte-max)}
.sommaire ol{margin:0;columns:2;column-gap:2rem;font-size:var(--t-s)}
@media (max-width:40rem){.sommaire ol{columns:1}}

/* ---------- Utilitaires ---------- */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.centre{text-align:center}
.grille-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media (max-width:48rem){.grille-2{grid-template-columns:1fr}}
.pastille{display:inline-block;font-size:var(--t-xs);font-weight:600;padding:.15rem .55rem;border-radius:999px;background:var(--brume);color:var(--nuit)}
.pastille--rouge{background:var(--rouge-clair);color:#8E1D22}
.pastille--vert{background:var(--vert-clair);color:#005638}
.pastille--jaune{background:var(--jaune-clair);color:#6B4F00}

/* ---------- Impression (fiches PDF) ---------- */
@media print{
  .barre-action{display:none!important}
  @page{size:A4;margin:14mm 14mm 16mm}
  body{font-size:10pt;line-height:1.45;color:#000}
  .entete,.pied,.aside-fiche,.ariane,.cmp,.appel,.no-print,.lien-evitement{display:none!important}
  .conteneur{max-width:none;padding:0}
  .fiche{display:block}
  .tete-page{padding-top:0}
  .fiche__corps section{padding-block:.6rem;break-inside:avoid-page}
  h1{font-size:22pt}h2{font-size:14pt}
  .reperes{break-inside:avoid}
  a{color:#000;text-decoration:none}
  .print-only{display:block!important}
}
.print-only{display:none}
@media (max-width:26rem){.handicap .handicap__contacts a{white-space:normal;overflow-wrap:anywhere}.handicap{padding:1rem}.handicap__referent{padding:1rem}}

/* ---------- Actualités (articles WordPress) ---------- */
.actus{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.25rem}
.actu{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);overflow:hidden;display:flex;flex-direction:column}
.actu__image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.actu__corps{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem}
.actu__corps h2,.actu__corps h3{font-size:var(--t-l);margin:0}
.actu__corps h2 a,.actu__corps h3 a{color:var(--nuit);text-decoration:none}
.actu__corps h2 a:hover,.actu__corps h3 a:hover{text-decoration:underline}
.actu__date{font-size:var(--t-s);color:var(--texte-doux,#5a5e78)}
.actu__corps p{margin:0;font-size:var(--t-s)}
.article-image{margin:0 0 1.5rem}.article-image img{display:block;width:100%;height:auto;border-radius:var(--r-l)}
.pagination{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}
.prose img{max-width:100%;height:auto}
.prose figure{margin:1.5rem 0}

/* ---------- CGV / livret affichés depuis le PDF ---------- */
.doc-pdf__aide{color:var(--texte-doux,#5a5e78);font-size:var(--t-s)}
.doc-pdf{max-width:64rem;margin-inline:auto}
.doc-pdf__aide{max-width:40rem}
.doc-pdf__cadre{display:block;width:100%;height:min(88vh,1400px);min-height:42rem;aspect-ratio:1/1.414;border:1px solid var(--trait);border-radius:var(--r-m);background:#fff}
@media (min-width:64rem){.doc-pdf__cadre{aspect-ratio:auto}}
.doc-pdf__mobile{display:none}
@media (max-width:48rem){.doc-pdf__cadre{display:none}.doc-pdf__mobile{display:block}}

/* ---------- Certification Qualiopi (ajout 30/09/2026) ---------- */
.bloc-qualite{background:var(--papier);border-bottom:1px solid var(--trait)}
.bloc-qualite__grille{display:grid;grid-template-columns:minmax(0,19rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(2rem,1.5rem + 2vw,3.25rem)}
.bloc-qualite__grille>*{min-width:0}
.qualite-logo{display:block;background:#fff;border:1px solid var(--trait);border-radius:var(--r-m);padding:1rem}
.qualite-logo img,.encart-qualite img,.pied__qualite img{display:block;width:100%;height:auto}
.bloc-qualite h2{margin-top:0;margin-bottom:.4em}
.bloc-qualite__texte p{max-width:var(--texte-max)}
.bloc-qualite__faits{list-style:none;padding:0;margin:1.1rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem 1.75rem;font-size:var(--t-s);color:var(--discret)}
.bloc-qualite__faits li{margin:0;padding-left:.7rem;border-left:3px solid var(--indigo);line-height:1.35}
.bloc-qualite__faits strong{color:var(--texte)}
.bloc-qualite__liens{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.1rem 0 0}
.encart-qualite{margin:1.25rem 0;max-width:21rem}
.encart-qualite img{background:#fff;border:1px solid var(--trait);border-radius:var(--r-m);padding:.75rem}
.encart-qualite figcaption{font-size:var(--t-xs);color:var(--discret);margin-top:.5rem;line-height:1.4}
.aside-fiche .encart-qualite{margin:.25rem 0 0}
.pied__qualite{margin-top:1.25rem;max-width:14.5rem}
.pied__marque .pied__qualite img{height:auto;margin:0;background:#fff;border-radius:var(--r-s);padding:.55rem}
.pied__qualite p,.pied__qualite-texte{font-size:var(--t-xs);color:#9295BA;margin:.5rem 0 0;line-height:1.4}
@media (max-width:48rem){.bloc-qualite__grille{grid-template-columns:1fr}.qualite-logo{max-width:17rem}}
