/*
Theme Name: Voyage Affaire
Theme URI: https://voyage-affaire.com
Author: Voyage Affaire
Description: Le comptoir d'enregistrement du séminaire d'entreprise : lieux, formats, team building, incentive. Média indépendant sur les déplacements professionnels.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: voyage-affaire-pro
*/

/* ============================================================
   0. POLICES — Archivo (caractère) + Newsreader (lecture), auto-hébergées.
   Fichiers attendus dans assets/fonts/ (déposés séparément, cf. résumé de livraison).
   ============================================================ */
@font-face{
  font-family:'Archivo';
  src:url('assets/fonts/archivo-variable.woff2') format('woff2-variations'),
      url('assets/fonts/archivo-variable.woff2') format('woff2');
  font-weight:400 800;
  font-stretch:62% 125%;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Newsreader';
  src:url('assets/fonts/newsreader-variable.woff2') format('woff2-variations'),
      url('assets/fonts/newsreader-variable.woff2') format('woff2');
  font-weight:400 600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Newsreader';
  src:url('assets/fonts/newsreader-italic-variable.woff2') format('woff2-variations'),
      url('assets/fonts/newsreader-italic-variable.woff2') format('woff2');
  font-weight:400 600;
  font-style:italic;
  font-display:swap;
}

/* ============================================================
   1. JETONS — mode clair uniquement (GD-030). Aucune variante sombre.
   ============================================================ */
:root{
  color-scheme:light;
  --hublot:#F4F6FA;
  --billet:#FFFFFF;
  --tarmac:#DDE3EC;
  --encre:#152236;
  --livree:#13305A;
  --jade:#00A57E;
  --jade-texte:#007A5C;
  --jade-nuit:#3DDBA8;
  --ardoise:#526079;
  --ambre:#F5B83D;
  --erreur:#B3261E;

  --car:'Archivo', Arial, Helvetica, sans-serif;
  --lec:'Newsreader', Georgia, 'Times New Roman', serif;

  --rayon:6px;
  --conteneur:1240px;
  --gouttiere:24px;
  --marge-mobile:16px;

  --ombre:0 6px 16px -6px rgba(19,48,90,.28);
  --entete-h:60px;
  --entete-h-compact:56px;
  --util-h:0px;
}
@media (min-width:900px){
  :root{ --entete-h:72px; --util-h:32px; }
}

html{color-scheme:light; -webkit-text-size-adjust:100%;}
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
@supports (overflow:clip){html,body{overflow-x:clip;}} /* clip ne crée pas de conteneur de défilement : le sticky refonctionne */
body{
  margin:0;
  background:var(--hublot);
  color:var(--encre);
  font-family:var(--car);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;height:auto;display:block;}
a{color:var(--jade-texte);text-decoration-thickness:1.5px;text-underline-offset:2px;}
a:hover{text-decoration-thickness:2px;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--livree); outline-offset:2px; border-radius:2px;
}
button{font-family:inherit;}
ul,ol{margin:0;padding:0;}
figure{margin:0;}
h1,h2,h3,h4{font-family:var(--car);font-weight:800;color:var(--encre);margin:0 0 .5em;line-height:1.08;}

.va-skip{
  position:absolute;left:-999px;top:0;background:var(--livree);color:#fff;padding:12px 20px;
  z-index:200;border-radius:0 0 6px 0;
}
.va-skip:focus{left:0;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ============================================================
   2. GRILLE ET BANDES
   ============================================================ */
.va-enveloppe{max-width:var(--conteneur);margin:0 auto;padding:0 var(--marge-mobile);}
@media (min-width:900px){ .va-enveloppe{padding:0 var(--gouttiere);} }

.va-bande{padding:48px 0;}
@media (min-width:900px){ .va-bande{padding:72px 0;} }
.va-bande--hublot{background:var(--hublot);}
.va-bande--billet{background:var(--billet);}
.va-bande--tarmac{background:var(--tarmac);}
.va-bande--livree{background:var(--livree);color:#fff;}
.va-bande--livree h2,.va-bande--livree h3{color:#fff;}
.va-bande--jade{background:var(--jade);color:var(--encre);}
.va-bande--jade h2,.va-bande--jade h3{color:var(--encre);}
.va-bande--encre{background:var(--encre);color:#fff;}

/* ============================================================
   3. TYPOGRAPHIE
   ============================================================ */
.va-h1{
  font-family:var(--car);font-weight:800;font-variation-settings:'wdth' 118;
  font-size:34px;line-height:1.02;letter-spacing:-.01em;margin:0 0 .4em;color:var(--encre);
}
@media (min-width:900px){ .va-h1{font-size:60px;} }
.va-h1 em, .va-mot-accent{color:var(--jade-texte);font-style:normal;}

.va-h1--page{font-size:30px;}
@media (min-width:900px){ .va-h1--page{font-size:46px;} }

h2.va-h2, .va-h2{
  font-family:var(--car);font-weight:800;font-variation-settings:'wdth' 110;
  font-size:24px;line-height:1.1;color:var(--encre);margin:0 0 .5em;
}
@media (min-width:900px){ .va-h2{font-size:32px;} }

h3.va-h3, .va-h3{
  font-family:var(--car);font-weight:600;font-size:19px;line-height:1.2;margin:0 0 .4em;
}
@media (min-width:900px){ .va-h3{font-size:22px;} }

.va-chiffre-geant{
  font-family:var(--car);font-weight:800;font-variation-settings:'wdth' 125;
  font-size:48px;font-variant-numeric:tabular-nums;line-height:1;color:var(--encre);
}
@media (min-width:900px){ .va-chiffre-geant{font-size:72px;} }

.va-code{
  display:inline-block;font-family:var(--car);font-weight:800;
  font-variation-settings:'wdth' 75;text-transform:uppercase;letter-spacing:.08em;
  font-size:13px;
}
@media (min-width:900px){ .va-code{font-size:15px;} }

.va-corps{font-family:var(--lec);font-optical-sizing:auto;font-size:18px;line-height:1.62;color:var(--encre);}
@media (min-width:900px){ .va-corps{font-size:19px;} }
.va-corps p{margin:0 0 1.3em;}
.va-corps>*{max-width:70ch;}

.va-chapo{
  font-family:var(--lec);font-style:italic;font-optical-sizing:auto;
  font-size:20px;line-height:1.4;color:var(--ardoise);margin:0 0 1em;
}
@media (min-width:900px){ .va-chapo{font-size:23px;} }

.va-meta{font-family:var(--car);font-size:14px;color:var(--ardoise);font-variant-numeric:tabular-nums;}

/* ============================================================
   4. BOUTONS
   ============================================================ */
.va-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--car);font-weight:600;font-size:16px;
  min-height:44px;padding:11px 22px;border-radius:var(--rayon);border:2px solid transparent;
  cursor:pointer;text-decoration:none;line-height:1.2;
}
.va-btn--jade{background:var(--jade);color:var(--encre);font-weight:800;}
.va-btn--jade:hover{background:var(--jade-texte);color:#fff;}
.va-btn--encre{background:var(--encre);color:#fff;}
.va-btn--encre:hover{background:var(--livree);}
.va-btn--filaire{background:transparent;border-color:currentColor;color:inherit;}
.va-btn--filaire:hover{background:rgba(0,0,0,.04);}
.va-btn--large{width:100%;}
.va-btn:disabled{opacity:.5;cursor:not-allowed;}

/* ============================================================
   5. HEADER (sticky) — procédés 1, 3
   ============================================================ */
.va-entete{position:sticky;top:0;z-index:100;background:var(--billet);}

.va-util{background:var(--encre);color:#fff;display:none;height:var(--util-h);overflow:hidden;}
@media (min-width:900px){ .va-util{display:flex;align-items:center;} }
.va-util-in{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;}
.va-util-depart{display:flex;align-items:center;gap:10px;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.va-util-depart a{color:#fff;text-decoration:none;}
.va-util-heure{font-family:var(--car);font-variation-settings:'wdth' 75;color:var(--jade-nuit);font-variant-numeric:tabular-nums;}
.va-util-code{color:var(--jade-nuit);font-weight:800;letter-spacing:.06em;}
.va-util-reassure{font-size:12.5px;color:var(--tarmac);white-space:nowrap;}

.va-barre{
  height:var(--entete-h);display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-bottom:1px solid var(--tarmac);transition:height .15s ease;
}
.va-entete.is-compact .va-barre{height:var(--entete-h-compact);}

.va-marque{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--encre);}
.va-marque-oiseau{width:34px;height:34px;flex:0 0 auto;}
.va-marque-mots{display:flex;flex-direction:column;line-height:1;}
.va-marque-logo{font-family:var(--car);font-size:20px;white-space:nowrap;}
.va-marque-logo b{font-weight:800;font-variation-settings:'wdth' 118;color:var(--livree);}
.va-marque-logo span{font-weight:400;color:var(--encre);}
.va-marque-sous{display:none;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ardoise);margin-top:3px;}
@media (min-width:900px){ .va-marque-sous{display:block;} }

.va-nav{display:none;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
@media (min-width:1150px){ .va-nav{display:flex;} }
.va-nav-item{position:relative;list-style:none;}
.va-nav-lien{
  display:inline-flex;align-items:center;gap:6px;padding:10px 10px;min-height:44px;
  font-family:var(--car);font-weight:600;font-size:15px;color:var(--encre);text-decoration:none;border-radius:var(--rayon);
  white-space:nowrap;border:0;background:none;box-shadow:none;cursor:pointer;
}
.va-nav-lien:hover,.va-nav-lien[aria-current="page"]{background:var(--hublot);color:var(--jade-texte);}
.va-nav-lien .va-code{margin-right:2px;color:var(--jade-texte);}
.va-nav-item--menu:hover .va-menu-deroulant,
.va-nav-item--menu:focus-within .va-menu-deroulant{display:block;}
.va-menu-deroulant{
  display:none;position:absolute;top:100%;left:0;background:var(--billet);
  border:1px solid var(--tarmac);border-radius:var(--rayon);box-shadow:var(--ombre);
  min-width:280px;padding:8px;z-index:20;
}
.va-menu-deroulant a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;
  border-radius:4px;color:var(--encre);text-decoration:none;font-size:15px;min-height:44px;
}
.va-menu-deroulant a:hover{background:var(--hublot);}
.va-menu-deroulant .va-dd-gauche{display:flex;align-items:center;gap:10px;}
.va-menu-deroulant svg{width:18px;height:18px;color:var(--jade-texte);flex:0 0 auto;}
.va-menu-deroulant .va-dd-nb{font-size:12px;color:var(--ardoise);}

.va-burger{
  display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;
  background:transparent;border:2px solid var(--tarmac);border-radius:var(--rayon);
}
@media (min-width:1150px){ .va-burger{display:none;} }
.va-burger span{display:block;width:20px;height:2px;background:var(--encre);position:relative;}
.va-burger span::before,.va-burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--encre);}
.va-burger span::before{top:-6px;} .va-burger span::after{top:6px;}

.va-cta-devis{white-space:nowrap;}
.va-cta-devis .va-txt-longue{display:none;}
.va-cta-devis .va-txt-courte{display:inline;}
@media (min-width:640px){
  .va-cta-devis .va-txt-longue{display:inline;}
  .va-cta-devis .va-txt-courte{display:none;}
}

/* Menu mobile plein écran */
.va-menu-mobile{
  display:none;position:fixed;inset:0;background:var(--livree);color:#fff;
  z-index:150;overflow-y:auto;padding:20px var(--marge-mobile) 100px;
}
.va-menu-mobile.is-ouvert{display:block;}
.va-menu-mobile-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.va-menu-mobile-fermer{
  width:44px;height:44px;border-radius:var(--rayon);border:2px solid rgba(255,255,255,.35);
  background:transparent;color:#fff;font-size:22px;line-height:1;
}
.va-menu-mobile a.va-mm-rubrique{
  display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.16);
  color:#fff;text-decoration:none;font-family:var(--car);font-weight:600;font-size:18px;min-height:44px;
}
.va-menu-mobile .va-code{color:var(--jade-nuit);width:40px;flex:0 0 auto;}
.va-menu-mobile svg{width:22px;height:22px;color:var(--jade-nuit);}
.va-menu-mobile-cta{margin-top:24px;}

/* ============================================================
   6. CARTE-BILLET (procédé 2) — unité de carte du site
   ============================================================ */
.va-billet{
  display:flex;flex-direction:column;background:var(--billet);border-radius:var(--rayon);
  overflow:hidden;border:1px solid var(--tarmac);text-decoration:none;color:inherit;
  transition:transform .15s ease;
}
.va-billet:hover .va-billet-talon{transform:translateX(4px);}
.va-billet-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--tarmac);}
.va-billet-photo img{width:100%;height:100%;object-fit:cover;}
.va-billet-pastille{
  position:absolute;top:10px;left:10px;background:var(--livree);color:#fff;
  padding:5px 9px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:6px;
}
.va-billet-pastille .va-code{color:var(--jade-nuit);}
.va-billet-perfo{
  position:relative;height:0;border-top:2px dashed var(--tarmac);
}
.va-billet-perfo::before,.va-billet-perfo::after{
  content:"";position:absolute;top:-8px;width:16px;height:16px;border-radius:50%;background:var(--hublot);
  border:1px solid var(--tarmac);
}
.va-billet-perfo::before{left:-8px;} .va-billet-perfo::after{right:-8px;}
.va-billet-talon{padding:16px;transition:transform .15s ease;flex:1;display:flex;flex-direction:column;gap:6px;}
.va-billet-talon .va-code{color:var(--jade-texte);}
.va-billet-talon h3{font-size:17px;margin:2px 0 0;}
.va-billet-talon h3 a{color:var(--encre);text-decoration:none;}
.va-billet-meta{margin-top:auto;display:flex;gap:10px;color:var(--ardoise);font-size:13px;font-family:var(--car);}

.va-grille-billets{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:640px){ .va-grille-billets{grid-template-columns:repeat(2,1fr);} }
@media (min-width:900px){ .va-grille-billets{grid-template-columns:repeat(3,1fr);} }
.va-grille-billets--large{grid-column:1/-1;}
.va-billet{min-width:0;}
@media (min-width:640px){
  .va-liste-avec-large .va-billet:first-child{grid-column:1/-1;}
  .va-liste-avec-large .va-billet:first-child .va-billet-photo{aspect-ratio:21/9;}
  /* Grille pleine largeur qui s'adapte au nombre réel de cartes (défaut : colonne
     étroite + texte cassé lettre à lettre quand le nombre de cartes était fixe). */
  .va-liste-avec-large{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
}
@media (min-width:900px){ .va-carte-france .va-grille-billets{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));} }

/* ============================================================
   7. TABLEAU DES DÉPARTS (procédé 1)
   ============================================================ */
.va-departs{width:100%;border-collapse:collapse;}
.va-departs-ligne{
  display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff;
}
.va-departs-ligne:last-child{border-bottom:0;}
.va-departs-photo{width:56px;height:56px;border-radius:4px;overflow:hidden;background:rgba(255,255,255,.1);}
.va-departs-photo img{width:100%;height:100%;object-fit:cover;}
.va-departs-corps{min-width:0;}
.va-departs-corps .va-departs-titre{
  font-family:var(--car);font-weight:600;font-size:15px;color:#fff;display:block;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.va-departs-info{display:flex;gap:10px;align-items:center;margin-top:3px;flex-wrap:wrap;}
.va-departs-heure{font-family:var(--car);font-variation-settings:'wdth' 75;color:var(--jade-nuit);font-size:13px;font-variant-numeric:tabular-nums;}
.va-departs-code{color:var(--jade-nuit);}
.va-statut{
  font-family:var(--car);font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 7px;border-radius:3px;white-space:nowrap;
}
.va-statut--nouveau{background:var(--jade);color:var(--encre);}
.va-statut--maj{background:var(--ambre);color:var(--encre);}

@media (prefers-reduced-motion:no-preference){
  .va-departs-ligne.va-solari .va-departs-titre{animation:va-solari .6s steps(6) both;}
}
@keyframes va-solari{from{opacity:0;letter-spacing:.2em;}to{opacity:1;letter-spacing:normal;}}

.va-mini-departs{display:flex;gap:16px;overflow:hidden;height:100%;align-items:center;}
.va-mini-departs a{display:flex;gap:8px;align-items:center;white-space:nowrap;}

/* ============================================================
   8. PICTOGRAMMES ET ÉTAPES
   ============================================================ */
.va-picto{width:28px;height:28px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:square;stroke-linejoin:miter;}

/* ============================================================
   9. HERO ACCUEIL
   ============================================================ */
.va-hero{padding:32px 0 40px;background-color:var(--hublot);background-size:cover;background-position:right center;}
@media (min-width:900px){ .va-hero{padding:56px 0 64px;} }
.va-hero-grille{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;}
@media (min-width:1000px){ .va-hero-grille{grid-template-columns:7fr 5fr;gap:40px;} }
.va-hero-photo{border-radius:var(--rayon);overflow:hidden;height:200px;margin-bottom:20px;}
.va-hero-photo img{width:100%;height:100%;object-fit:cover;}
@media (min-width:1000px){ .va-hero-photo{display:none;} }
.va-hero-mascotte{width:72px;height:72px;flex:0 0 auto;}
.va-hero-preuves{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:24px 0 0;padding:0;}
@media (min-width:1000px){ .va-hero-preuves{grid-template-columns:repeat(4,auto);} }
.va-hero-preuves li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--encre);}
.va-hero-preuves svg{width:20px;height:20px;color:var(--jade-texte);flex:0 0 auto;}
.va-hero-carte{background:var(--billet);border-radius:var(--rayon);border:1px solid var(--tarmac);box-shadow:var(--ombre);padding:20px;}

/* Colonne gauche du hero : comble le vide sous le texte et aligne le haut avec le
   formulaire (R-0518/R-0522), sans mascotte qui décale le départ de la carte à droite. */
.va-hero-remplissage{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px;}
.va-hero-embarquement{flex:1 1 240px;background:var(--billet);border:1px solid var(--tarmac);border-radius:var(--rayon);padding:16px 18px;}
.va-hero-embarquement p{font-family:var(--car);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ardoise);margin:0 0 10px;}
.va-hero-embarquement ul{list-style:none;display:grid;gap:8px;margin:0;padding:0;}
.va-hero-embarquement a{display:flex;align-items:center;gap:8px;color:var(--encre);text-decoration:none;font-family:var(--car);font-weight:600;font-size:14px;}
.va-hero-embarquement a:hover{color:var(--jade-texte);}
.va-hero-embarquement .va-code{color:var(--jade-texte);width:34px;flex:0 0 auto;}

/* ============================================================
   10. FORMULAIRE MULTI-ÉTAPES (procédé 4)
   ============================================================ */
.va-form{background:var(--billet);border-radius:var(--rayon);}
.va-form-progression{position:relative;height:6px;background:var(--tarmac);border-radius:4px;margin-bottom:8px;overflow:hidden;}
.va-form-progression-barre{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(90deg,var(--jade) 0 8px,transparent 8px 14px);width:12.5%;transition:width .25s ease;}
.va-form-porte{font-family:var(--car);font-weight:600;font-size:13px;color:var(--ardoise);margin:0 0 16px;}
.va-form fieldset{border:0;margin:0;padding:0;}
.va-form legend{font-family:var(--car);font-weight:800;font-size:20px;color:var(--encre);margin-bottom:14px;padding:0;}
.va-etape{margin-bottom:28px;}
.js-ready .va-form--assistant .va-etape{display:none;}
.js-ready .va-form--assistant .va-etape.is-active{display:block;}

.va-tuiles{display:grid;grid-template-columns:1fr;gap:10px;}
@media (min-width:520px){ .va-tuiles{grid-template-columns:1fr 1fr;} }
.va-tuile{
  display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 14px;
  border:2px solid var(--tarmac);border-radius:var(--rayon);background:var(--billet);cursor:pointer;text-align:left;
}
.va-tuile svg{width:26px;height:26px;color:var(--jade-texte);flex:0 0 auto;}
.va-tuile span{font-family:var(--car);font-weight:600;font-size:15px;color:var(--encre);}
.va-tuile:hover{border-color:var(--jade);}
.va-tuile[aria-pressed="true"],
.va-tuile-input:checked + .va-tuile{border-color:var(--jade);background:color-mix(in srgb, var(--jade) 12%, var(--billet));}
.va-tuile[aria-pressed="true"]::after,
.va-tuile-input:checked + .va-tuile::after{content:"✓";margin-left:auto;color:var(--jade-texte);font-weight:800;}
.va-tuile-input{position:absolute;opacity:0;width:1px;height:1px;}
.va-tuile-input:focus-visible + .va-tuile{outline:3px solid var(--livree);outline-offset:2px;}

.va-champ{margin-bottom:18px;}
.va-champ label{display:block;font-family:var(--car);font-weight:600;font-size:14px;margin-bottom:6px;color:var(--encre);}
.va-champ input[type=text],
.va-champ input[type=email],
.va-champ input[type=tel],
.va-champ input[type=date],
.va-champ select,
.va-champ textarea{
  width:100%;min-height:44px;padding:10px 12px;border:2px solid var(--tarmac);border-radius:var(--rayon);
  background:var(--tarmac);font-family:var(--car);font-size:16px;color:var(--encre);
}
.va-champ select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  text-align:left;font-weight:400;padding-right:40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='%23526079' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;
}
.va-champ input:focus,.va-champ select:focus,.va-champ textarea:focus{background-color:var(--billet);border-color:var(--livree);}
.va-champ textarea{min-height:100px;resize:vertical;}
.va-champ-erreur{color:var(--erreur);font-size:13px;margin-top:6px;display:none;align-items:center;gap:6px;}
.va-champ-erreur svg{width:16px;height:16px;flex:0 0 auto;}
.va-champ.is-erreur input,.va-champ.is-erreur select,.va-champ.is-erreur textarea{border-color:var(--erreur);}
.va-champ.is-erreur .va-champ-erreur{display:flex;}

.va-consentement{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:14px;color:var(--encre);}
.va-consentement input{width:22px;height:22px;flex:0 0 auto;margin-top:2px;}
.va-rgpd{font-size:12.5px;color:var(--ardoise);margin-top:8px;}
.va-rgpd a{color:var(--ardoise);}

.va-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.va-form-actions{display:flex;gap:12px;justify-content:space-between;margin-top:8px;}
.va-form-actions .va-btn{flex:1;}

.va-embarquement{
  position:sticky;top:calc(var(--entete-h) + 16px);background:var(--livree);color:#fff;
  border-radius:var(--rayon);padding:20px;
}
.va-embarquement h2{color:#fff;font-size:16px;margin-bottom:12px;}
.va-embarquement dl{margin:0;display:grid;gap:10px;}
.va-embarquement dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--jade-nuit);}
.va-embarquement dd{margin:2px 0 0;font-family:var(--car);font-weight:600;font-size:15px;}
.va-embarquement-reassure{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:8px;}
.va-embarquement-reassure li{font-size:13px;display:flex;gap:8px;align-items:flex-start;}
.va-embarquement-reassure svg{width:16px;height:16px;color:var(--jade-nuit);flex:0 0 auto;margin-top:2px;}

.va-mobile-porte{
  display:none;position:sticky;top:var(--entete-h);z-index:30;background:var(--livree);color:#fff;
  padding:10px var(--marge-mobile);font-family:var(--car);font-weight:600;font-size:13px;
}
.js-ready .va-mobile-porte{display:block;}
@media (min-width:900px){ .va-mobile-porte{display:none !important;} }

.va-succes{text-align:center;padding:32px 16px;}
.va-succes svg{width:56px;height:56px;color:var(--jade-texte);margin:0 auto 12px;}
.va-succes h2{margin-bottom:8px;}
.va-recap{background:var(--hublot);border-radius:var(--rayon);padding:16px;margin:16px 0;text-align:left;display:grid;gap:8px;}
.va-recap div{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-bottom:1px dashed var(--tarmac);padding-bottom:6px;}

/* ============================================================
   11. ARTICLE
   ============================================================ */
.va-ticket{
  display:flex;flex-wrap:wrap;gap:0 14px;align-items:center;padding:10px 0;
  border-bottom:1px dashed var(--tarmac);margin-bottom:18px;font-family:var(--car);font-size:13px;color:var(--ardoise);
}
.va-ticket .va-code{color:var(--jade-texte);}
.va-ticket span:not(:last-child)::after{content:"⋮";margin-left:14px;color:var(--tarmac);}

.va-article-tete{padding-top:24px;}
/* En-tête d'article en 2 colonnes : texte à gauche, image plafonnée à droite — le corps
   de texte démarre dans le premier écran (R-0509), jamais d'image plein écran. */
.va-article-tete-grille{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;}
@media (min-width:860px){ .va-article-tete-grille{grid-template-columns:1.25fr 1fr;gap:32px;} }
.va-une--tete{margin-bottom:0;max-height:340px;}
.va-une--tete img{max-height:340px;}
@media (min-width:860px){ .va-une--tete{max-height:300px;} .va-une--tete img{max-height:300px;} }
.va-signature-mini{display:flex;align-items:center;gap:10px;margin:16px 0 20px;}
.va-signature-mini img{width:48px;height:48px;border-radius:50%;object-fit:cover;}
.va-signature-mini a{color:var(--encre);text-decoration:none;font-weight:600;font-family:var(--car);font-size:14px;}
.va-signature-mini span{display:block;font-size:12.5px;color:var(--ardoise);}

.va-une{max-height:420px;width:100%;overflow:hidden;border-radius:var(--rayon);margin-bottom:8px;}
.va-une img{width:100%;height:100%;max-height:420px;object-fit:cover;}
.va-legende{font-family:var(--car);font-size:13px;color:var(--ardoise);margin:6px 0 24px;}

.va-article-grille{display:grid;grid-template-columns:1fr;gap:32px;}
@media (min-width:960px){ .va-article-grille{grid-template-columns:1fr 340px;align-items:start;} }
.va-article-corps{min-width:0;}
.va-sidebar{position:sticky;top:calc(var(--entete-h) + 16px);display:grid;gap:20px;}

.va-lecture-restante{
  display:flex;align-items:center;gap:8px;margin:0;padding:0;
  font-family:var(--car);font-size:12.5px;color:var(--ardoise);
}
.va-lecture-restante svg{width:16px;height:16px;color:var(--jade-texte);flex:0 0 auto;}

.va-sommaire{background:var(--hublot);border-radius:var(--rayon);padding:16px;}
.va-sommaire p{font-family:var(--car);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;}
.va-sommaire ol{list-style:none;display:grid;gap:8px;}
.va-sommaire a{color:var(--encre);text-decoration:none;font-size:14px;}
.va-sommaire a:hover{color:var(--jade-texte);}

.va-corps h2{font-size:22px;margin:1.5em 0 .5em;font-variation-settings:'wdth' 110;}
@media (min-width:900px){ .va-corps h2{font-size:26px;} }
.va-corps h3{font-size:18px;margin:1.3em 0 .4em;}
.va-corps blockquote{font-family:var(--lec);font-style:italic;font-size:22px;line-height:1.4;
  border-left:4px solid var(--jade);padding-left:20px;margin:1.5em 0;color:var(--encre);}
.va-encadre{background:var(--tarmac);border-left:4px solid var(--jade);border-radius:0 var(--rayon) var(--rayon) 0;padding:16px 18px;margin:1.5em 0;font-family:var(--car);font-size:15px;}
.va-corps figure img{border-radius:var(--rayon);}
.va-corps figcaption{font-family:var(--car);font-size:13px;color:var(--ardoise);margin-top:6px;}
.va-corps ul,.va-corps ol{margin:0 0 1.3em;padding-left:1.3em;}
.va-corps li{margin-bottom:.4em;}
.va-corps img{border-radius:var(--rayon);margin:.4em 0;}
.va-corps details{background:var(--hublot);border-radius:var(--rayon);padding:14px 16px;margin-bottom:10px;}
.va-corps summary{font-family:var(--car);font-weight:600;cursor:pointer;}

.sbs_tableau{overflow-x:auto;margin:1.5em 0;border-radius:var(--rayon);border:1px solid var(--tarmac);}
.sbs_tableau table{width:100%;border-collapse:collapse;font-family:var(--car);font-size:14px;min-width:520px;}
.sbs_tableau th{background:var(--livree);color:#fff;text-align:left;padding:10px 12px;font-weight:600;}
.sbs_tableau td{padding:10px 12px;border-top:1px solid var(--tarmac);}
.sbs_tableau tbody tr:nth-child(even){background:var(--hublot);}
.sbs_tableau td:first-child,.sbs_tableau th:first-child{position:sticky;left:0;background:var(--billet);}
.sbs_tableau th:first-child{background:var(--livree);}

.va-source{background:var(--hublot);border-radius:var(--rayon);padding:18px 20px;margin:2em 0;}
.va-source h2{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;color:var(--ardoise);}
.va-source ul,.va-source ol{list-style:decimal;padding-left:1.2em;display:grid;gap:8px;}
.va-source li{font-size:14px;color:var(--encre);}
.va-source a{color:inherit;text-decoration:none;pointer-events:none;}

/* Boutons dans le contenu éditorial : gardent toujours leur contraste propre (R-0494). */
.va-corps a.va-btn{text-decoration:none;}

.va-encadre-card{
  background:var(--livree);color:#fff;border-radius:var(--rayon);padding:22px;text-align:center;margin:2em 0;
}
.va-encadre-card h2{color:#fff;font-size:19px;}
.va-encadre-card p{color:var(--tarmac);font-size:14px;margin-bottom:14px;}

.va-signature-fin{
  display:flex;gap:16px;background:var(--hublot);border-radius:var(--rayon);padding:20px;margin:2em 0 0;
}
.va-signature-fin img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.va-signature-fin h2{font-size:16px;margin-bottom:2px;}
.va-signature-fin .va-fonction{color:var(--jade-texte);font-size:13px;font-weight:600;margin-bottom:8px;}
.va-signature-fin p{font-size:14px;color:var(--ardoise);margin:0 0 8px;}
.va-signature-fin a{font-size:13px;font-weight:600;}

.va-a-lire{padding-top:24px;}

/* ============================================================
   12. RUBRIQUE / ARCHIVE
   ============================================================ */
.va-bandeau-rubrique{
  position:relative;height:240px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;
}
.va-bandeau-rubrique img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.va-bandeau-rubrique::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--livree) 30%,rgba(19,48,90,.55) 75%,rgba(19,48,90,.15));z-index:1;}
.va-bandeau-filigrane{position:absolute;right:16px;bottom:-20px;font-size:120px;font-weight:800;
  font-family:var(--car);font-variation-settings:'wdth' 75;color:var(--jade-nuit);opacity:.18;z-index:1;line-height:1;}
.va-bandeau-in{position:relative;z-index:2;padding-bottom:20px;}
.va-bandeau-in .va-code{font-size:34px;color:var(--jade-nuit);display:block;margin-bottom:4px;}
.va-bandeau-in h1{color:#fff;font-size:28px;margin-bottom:4px;}
.va-bandeau-in p{color:var(--tarmac);font-family:var(--lec);font-style:italic;font-size:16px;max-width:60ch;}

.va-liste-rubrique{padding-top:32px;padding-bottom:32px;}
.va-pagination{display:flex;gap:8px;justify-content:center;margin-top:32px;flex-wrap:wrap;}
.va-pagination a,.va-pagination span{
  min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--rayon);border:2px solid var(--tarmac);text-decoration:none;color:var(--encre);font-family:var(--car);
}
.va-pagination .current{background:var(--jade);border-color:var(--jade);color:var(--encre);font-weight:800;}

.va-bientot{text-align:center;padding:48px 16px;background:var(--hublot);border-radius:var(--rayon);}
.va-bientot svg{width:80px;height:80px;margin:0 auto 12px;}
.va-intro-basse{padding:32px 0;font-family:var(--lec);font-size:17px;line-height:1.6;color:var(--encre);}

/* ============================================================
   13. AUTEUR
   ============================================================ */
.va-auteur-tete{display:flex;gap:20px;align-items:center;padding-top:36px;padding-bottom:36px;flex-wrap:wrap;}
.va-auteur-tete img{width:120px;height:120px;border-radius:50%;object-fit:cover;}
.va-auteur-specs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}

/* ============================================================
   14. ACCUEIL — sections
   ============================================================ */
.va-section-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap;}
.va-voir-tout{font-family:var(--car);font-weight:600;font-size:14px;text-decoration:none;color:var(--jade-texte);white-space:nowrap;}

.va-departs-accueil{display:grid;grid-template-columns:1fr;gap:32px;}
@media (min-width:960px){ .va-departs-accueil{grid-template-columns:8fr 4fr;} }
.va-alaune-carte{border-radius:var(--rayon);overflow:hidden;position:relative;display:block;min-height:280px;text-decoration:none;}
.va-alaune-carte img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.va-alaune-carte::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,34,54,1) 0%,rgba(19,34,54,.88) 32%,rgba(19,34,54,.15) 72%,rgba(19,34,54,0) 100%);}
.va-alaune-carte-in{position:relative;color:#fff;padding:20px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px;}
.va-alaune-carte-in .va-code{color:var(--jade-nuit);}
.va-alaune-carte-in h3{color:#fff;font-size:19px;margin-top:6px;}

.va-tarifs-grille{display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:640px){ .va-tarifs-grille{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1000px){ .va-tarifs-grille{grid-template-columns:repeat(3,1fr);} }
.va-tarif{background:rgba(255,255,255,.16);border-radius:var(--rayon);padding:22px;}
.va-tarif .va-chiffre-geant{font-size:32px;}
@media (min-width:900px){ .va-tarif .va-chiffre-geant{font-size:40px;} }
.va-tarif p{margin:8px 0 0;font-size:14px;}
.va-tarif .va-source-ligne{margin-top:10px;font-size:12px;color:#152236;}

.va-carte-france{display:grid;grid-template-columns:1fr;gap:28px;}
@media (min-width:900px){ .va-carte-france{grid-template-columns:5fr 7fr;align-items:center;} }
.va-carte-france svg{width:100%;height:auto;color:var(--livree);}
.va-carte-france .va-vol{stroke:var(--jade-texte);stroke-width:1.6;stroke-dasharray:3 4;fill:none;}
.va-carte-france .va-point{fill:var(--livree);}

.va-etapes{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:900px){ .va-etapes{grid-template-columns:repeat(3,1fr);} }
.va-etape-carte{background:var(--billet);border-radius:var(--rayon);overflow:hidden;border:1px solid var(--tarmac);}
.va-etape-carte-img{display:flex;align-items:center;justify-content:center;background:var(--hublot);padding:26px 0;}
.va-etape-carte-img img{width:96px;height:96px;object-fit:contain;}
.va-etape-carte-in{padding:18px;}
.va-etape-num{font-family:var(--car);font-weight:800;font-size:13px;color:var(--jade-texte);}

/* Bande CTA de fin d'accueil — remplace le formulaire dupliqué du hero (jamais de vide). */
.va-cta-finale{
  display:grid;grid-template-columns:1fr;gap:20px;align-items:center;margin-top:32px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--rayon);padding:28px;
}
@media (min-width:760px){ .va-cta-finale{grid-template-columns:1fr auto;gap:32px;padding:32px 36px;} }
.va-cta-finale-preuves{list-style:none;display:flex;gap:20px;flex-wrap:wrap;margin:14px 0 0;padding:0;}
.va-cta-finale-preuves li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--tarmac);}
.va-cta-finale-preuves svg{width:18px;height:18px;color:var(--jade-nuit);flex:0 0 auto;}
.va-cta-finale .va-btn{white-space:nowrap;}

.va-redaction{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:640px){ .va-redaction{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1000px){ .va-redaction{grid-template-columns:repeat(4,1fr);} }
.va-auteur-carte{text-align:left;}
.va-auteur-carte img{width:72px;height:72px;border-radius:50%;object-fit:cover;margin-bottom:10px;}
.va-auteur-carte h3{font-size:16px;}
.va-auteur-carte .va-fonction{color:var(--jade-nuit);font-size:12.5px;font-weight:600;margin-bottom:6px;}
.va-auteur-carte p{font-size:13.5px;color:var(--tarmac);margin:0 0 8px;}
.va-auteur-carte a{color:#fff;font-size:13px;font-weight:600;}

/* ============================================================
   15. FOOTER
   ============================================================ */
.va-pied{background:var(--encre);color:var(--tarmac);padding:48px 0 0;}
.va-pied a{color:var(--tarmac);text-decoration:none;}
.va-pied a:hover{color:#fff;text-decoration:underline;}
.va-pied-grille{display:grid;grid-template-columns:1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12);}
@media (min-width:720px){ .va-pied-grille{grid-template-columns:1.4fr 1fr 1fr 1fr;} }
.va-pied-marque{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.va-pied-marque svg{width:30px;height:30px;}
.va-pied-marque-mots b{color:#fff;font-family:var(--car);font-weight:800;font-variation-settings:'wdth' 118;}
.va-pied-marque-mots span{color:var(--jade-nuit);}
.va-pied p.va-pied-mission{font-size:14px;line-height:1.6;max-width:36ch;}
.va-pied h2{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;}
.va-pied ul{list-style:none;display:grid;gap:10px;}
.va-pied li{font-size:14.5px;display:flex;justify-content:space-between;gap:8px;}
.va-pied-heure{color:var(--jade-nuit);font-family:var(--car);font-size:12px;flex:0 0 auto;}
.va-pied-bas{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;flex-wrap:wrap;}
.va-pied-bas p{font-size:13px;color:#A9B6CA;}
.va-pied-martin{width:72px;height:56px;}

/* ============================================================
   16. POP-UP DE SORTIE
   ============================================================ */
.va-popup-fond{
  position:fixed;inset:0;background:rgba(19,34,54,.6);display:none;
  align-items:center;justify-content:center;z-index:200;padding:16px;
}
.va-popup-fond.is-ouvert{display:flex;}
.va-popup{background:var(--billet);border-radius:var(--rayon);max-width:460px;width:100%;padding:28px;position:relative;text-align:center;}
.va-popup-fermer{
  position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;
  background:var(--hublot);border:2px solid var(--tarmac);color:var(--encre);font-size:20px;line-height:1;
}
.va-popup img.va-popup-martin{width:96px;height:96px;margin:0 auto 8px;}

/* ============================================================
   17. 404
   ============================================================ */
.va-404-ligne{background:var(--livree);}

/* ============================================================
   18. UTILITAIRES DIVERS
   ============================================================ */
.va-mascotte-inline{width:56px;height:56px;display:inline-block;vertical-align:middle;}

/* Repli sans photo (rubrique pas encore illustrée) — jamais un pictogramme posé à plat
   sur un aplat gris (GD-011) : une illustration signalétique (cercle livrée + picto). */
.va-vignette-repli{
  display:grid;place-items:center;width:100%;height:100%;aspect-ratio:4/3;
  background:linear-gradient(135deg,var(--hublot) 0%,var(--tarmac) 100%);color:var(--livree);
}
.va-vignette-repli-badge{
  display:grid;place-items:center;width:56%;aspect-ratio:1;border-radius:50%;
  background:var(--livree);box-shadow:0 0 0 6px rgba(255,255,255,.55);
}
.va-vignette-repli-badge svg{width:46%;height:46%;stroke:var(--jade-nuit);}

.va-avatar-img{border-radius:50%;object-fit:cover;flex:0 0 auto;}
.va-avatar-repli{
  display:grid;place-items:center;border-radius:50%;background:var(--billet);
  border:2px solid var(--tarmac);flex:0 0 auto;
}
.va-avatar-repli svg{width:56%;height:56%;}
@media (prefers-reduced-motion:reduce){ *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;} }

/* Rubrique : grille fixe de 3 (plus d'auto-fill à 4 colonnes qui laissait des orphelines) */
@media (min-width:900px){ .va-grille-rubrique.va-liste-avec-large,.va-grille-rubrique{grid-template-columns:repeat(3,1fr);} }
.va-intro-rubrique{max-width:760px;margin:0 0 28px;font-family:var(--lec);font-size:18px;line-height:1.6;color:var(--encre);}
.va-cta-rubrique{margin-top:32px;}
.va-carte-devis{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;}
/* Un bouton marqué hidden reste caché, quelle que soit sa classe (bouton Retour de l'étape 1) */
[hidden]{display:none!important;}
/* Sommaire en tête de corps : doublon du sommaire latéral */
.va-corps > ul.va-toc-doublon{display:none;}
/* Bandeau de rubrique : couleur de fond propre sous la photo (lisible même image absente) */
.va-bandeau-rubrique{background-color:var(--livree);}
/* FAQ en accordéon (CM-0119) */
.va-faq{display:grid;gap:10px;margin:8px 0 28px;}
.va-faq-item{background:#fff;border:1px solid #D8DEE8;border-radius:10px;padding:0 18px;}
.va-faq-item summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font-family:var(--titre,inherit);font-weight:700;color:#152236;position:relative;}
.va-faq-item summary::-webkit-details-marker{display:none;}
.va-faq-item summary::after{content:"+";position:absolute;right:0;top:12px;font-size:22px;color:#00785C;}
.va-faq-item[open] summary::after{content:"–";}
.va-faq-item p{margin:0 0 16px;}
/* R-0581 — relance mi-article à valeur ajoutée */
.va-relance{margin:36px 0;padding:24px 24px 20px;background:#fff;border:1px solid #D8DEE8;border-left:4px solid #00A57E;border-radius:10px;box-shadow:0 8px 24px rgba(19,48,90,.08);}
.va-relance-sur{font-family:var(--titre,inherit);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#00785C;font-weight:700;margin:0 0 12px;}
.va-relance-etapes{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px;}
@media (min-width:760px){ .va-relance-etapes{grid-template-columns:repeat(3,1fr);} }
.va-relance-etapes li{font-size:15px;line-height:1.5;color:#152236;margin:0;}
.va-relance-etapes strong{display:block;margin:6px 0 2px;}
.va-relance-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#13305A;color:#fff;font-weight:700;font-size:14px;}
.va-relance-note{margin:10px 0 0;font-size:13px;color:#4A5A72;}
/* R-0580 — image d'en-tête : profondeur et respiration avant le texte */
.va-une--tete{box-shadow:0 14px 34px rgba(19,48,90,.18);}
.va-article-tete{padding-bottom:36px;}
.va-contact-grille{display:grid;grid-template-columns:1fr;gap:28px;align-items:stretch;}
@media (min-width:860px){ .va-contact-grille{grid-template-columns:1.1fr .9fr;} }

/* ============================================================
   COMPOSANTS D'ARTICLE (R-0652 / R-0657 / R-0667) — insérés dans le corps
   ============================================================ */
.va-corps .va-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:28px 0;padding:20px;background:#13305A;border-radius:12px;list-style:none;}
.va-corps .va-chiffres li{margin:0;padding:6px 4px;color:#DDE3EC;font-size:14px;line-height:1.4;}
.va-corps .va-chiffres strong{display:block;font-family:'Archivo',Arial,sans-serif;font-size:28px;line-height:1.1;color:#fff;margin-bottom:4px;}
.va-corps .va-chiffres-titre{margin:28px 0 -16px;font-family:'Archivo',Arial,sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#00785C;font-weight:700;}
.va-corps ol.va-etapes{list-style:none;counter-reset:etape;margin:28px 0;padding:0;display:grid;gap:14px;}
.va-corps ol.va-etapes > li{counter-increment:etape;position:relative;margin:0;padding:14px 16px 14px 64px;background:#fff;border:1px solid #D8DEE8;border-radius:10px;}
.va-corps ol.va-etapes > li::before{content:counter(etape);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;background:#00A57E;color:#0B1B2E;font:700 15px/32px 'Archivo',Arial,sans-serif;text-align:center;}
.va-corps ol.va-etapes strong{display:block;color:#152236;}
.va-corps .va-saviez{display:grid;grid-template-columns:1fr;gap:16px;align-items:center;margin:36px 0 40px;padding:22px;background:#E8F6F1;border-radius:12px;border:1px solid #BFE6D8;}
@media (min-width:700px){ .va-corps .va-saviez.va-saviez--img{grid-template-columns:160px 1fr;} }
.va-corps .va-saviez img{width:100%;height:140px;object-fit:cover;border-radius:8px;margin:0;}
.va-corps .va-saviez p{margin:0;}
.va-corps .va-saviez .va-saviez-titre{font-family:'Archivo',Arial,sans-serif;font-weight:800;color:#00785C;margin-bottom:6px;}
.va-corps .va-duo{display:grid;grid-template-columns:1fr;gap:14px;margin:28px 0;}
@media (min-width:700px){ .va-corps .va-duo{grid-template-columns:1fr 1fr;} }
.va-corps .va-duo > div{padding:18px 18px 8px;border-radius:10px;background:#fff;border:1px solid #D8DEE8;border-top:4px solid #00A57E;}
.va-corps .va-duo > div.va-duo-non{border-top-color:#C0392B;}
.va-corps .va-duo h3{margin:0 0 10px;font-size:17px;}
.va-corps .va-duo ul{margin:0 0 10px;padding-left:18px;}
.va-corps .va-jauge{margin:28px 0;display:grid;gap:10px;}
.va-corps .va-jauge div{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:10px;align-items:center;font-size:14px;color:#152236;}
.va-corps .va-jauge span{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,#00A57E,#13305A);}
.va-corps figure.va-img-corps{margin:32px 0;}
.va-corps figure.va-img-corps img{width:100%;height:auto;border-radius:10px;box-shadow:0 10px 26px rgba(19,48,90,.14);}
.va-corps figure.va-img-corps figcaption{font-size:13px;color:#4A5A72;margin-top:8px;}
.va-corps a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:#00A57E;transition:text-decoration-color .2s,background-size .2s;}
.va-corps a:hover{text-decoration-color:#13305A;background:rgba(0,165,126,.12);}
/* Listes du corps : coches, jamais de puces nues (AR-002) */
.va-corps ul:not([class]){list-style:none;padding-left:0;margin:20px 0;display:grid;gap:8px;}
.va-corps ul:not([class]) > li{position:relative;padding:10px 14px 10px 42px;background:#fff;border:1px solid #E1E6EE;border-radius:8px;margin:0;}
.va-corps ul:not([class]) > li::before{content:"";position:absolute;left:14px;top:14px;width:16px;height:16px;border-radius:50%;background:#00A57E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%230B1B2E' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/12px no-repeat;}
.va-source ul:not([class]) > li,.va-faq ul > li{background:none;border:0;padding:0;}
.va-source ul:not([class]) > li::before{display:none;}
.va-source ul:not([class]){list-style:decimal;padding-left:1.2em;}
/* À retenir */
.va-corps .va-a-retenir{margin:32px 0 36px;padding:20px 22px;border-left:5px solid #13305A;background:#EEF2F8;border-radius:0 10px 10px 0;}
.va-corps .va-a-retenir p{margin:0;font-family:'Newsreader',Georgia,serif;font-size:20px;line-height:1.45;color:#152236;}
.va-corps .va-a-retenir .va-a-retenir-titre{font-family:'Archivo',Arial,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#00785C;font-weight:700;margin-bottom:8px;}

/* Barre latérale des actualités (retour Mathias 22/09 : plus jamais d'article sans sidebar) */
.va-sidebar-bloc{background:#fff;border:1px solid rgba(21,34,54,.1);border-radius:12px;padding:18px 18px 8px;}
.va-sidebar-titre{font-family:'Archivo',sans-serif;font-weight:700;font-size:15px;color:#152236;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--jade);}
.va-sidebar-liste{list-style:none;margin:0;padding:0;}
.va-sidebar-liste li{margin:0;padding:0;border-bottom:1px solid rgba(21,34,54,.08);}
.va-sidebar-liste li:last-child{border-bottom:0;}
.va-sidebar-liste li::before{content:none!important;display:none!important;}
.va-sidebar-liste a{display:flex;gap:10px;padding:10px 0;text-decoration:none;color:#152236;font-size:14px;line-height:1.4;}
.va-sidebar-liste a:hover span{text-decoration:underline;}
.va-sidebar-liste time{flex:0 0 44px;font-size:12px;font-weight:700;color:var(--jade-texte);text-transform:uppercase;padding-top:2px;}
/* La colonne défile avec la page ; seul le dernier encart (devis) reste accroché : une sidebar plus haute que l'écran ne doit jamais être sticky en bloc. */
@media (min-width:960px){
  .va-sidebar{position:static;align-self:stretch;align-content:start;}
  .va-sidebar>:last-child{position:sticky;top:calc(var(--entete-h) + 16px);}
}
