/* =====================================================================
   Site Guépard v2 (20/10/2026) — clair, léger, droit au but.
   Une seule feuille, sans dépendance. Mêmes polices et couleurs que l'appli.
   Règle de la gérante : JAMAIS de texte sur fond orange plein ;
   l'orange ne sert qu'aux boutons (libellé court, texte foncé) et aux accents.
   ===================================================================== */
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/ibm-plex-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Archivo Black";src:url(/fonts/archivo-black-400.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  /* SOMBRE par défaut (choix de la gérante, 20/10/2026) ; [data-nuance="clair"] = version claire */
  --fond:#111111; --carte:#1B1B1B; --carte-2:#262626; --ligne:#383838;
  --titre:#FFFFFF; --texte:#E8E8E8; --texte-2:#B8B8B8;
  --orange:#E87511; --orange-2:#F08A2C; --orange-texte:#F59A45; --orange-doux:#2B1D10;
  --vert:#5BD48F; --vert-doux:#173523; --rouge:#FF8A80;
  --entete-fond:rgb(17 17 17 / .94); --inverse-fond:#FFFFFF; --inverse-texte:#111111;
  --btn2-fond:#F2F2F2; --btn2-texte:#111111; --btn2-survol:#FFFFFF;
  --champ-fond:#151515; --champ-bord:#6A6A6A; --final-fond:#1B1B1B; --final-bord:#383838;
  --rayon:16px; --rayon-s:12px;
  --ombre:0 1px 2px rgb(0 0 0 / .5),0 10px 26px -14px rgb(0 0 0 / .8);
  --police:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --titres:"Archivo Black","Arial Black",system-ui,sans-serif;
  --entete:68px; --onglets:0px;
  color-scheme:dark;
  /* couleurs lues par l'assistant (enligne.css) et les anciennes pages (Tailwind) */
  --color-noir:#111111; --color-charbon:#1B1B1B; --color-graphite:#262626; --color-creme:#F2F2F2; --color-sable:#1B1B1B;
  --color-ligne:#383838; --color-encre:#E8E8E8; --color-taupe:#B8B8B8; --color-guepard:#E87511; --color-guepard-vif:#F08A2C;
  --color-guepard-fonce:#F59A45; --color-reussite:#5BD48F;
}
html[data-nuance="clair"]{
  --fond:#F5F6F8; --carte:#FFFFFF; --carte-2:#EEF0F3; --ligne:#DDE1E6;
  --titre:#111111; --texte:#1F2328; --texte-2:#4A515B;
  --orange-texte:#A84F00; --orange-doux:#FFF4EA;
  --vert:#17784A; --vert-doux:#E6F4EC; --rouge:#B42318;
  --entete-fond:rgb(255 255 255 / .96); --inverse-fond:#111111; --inverse-texte:#FFFFFF;
  --btn2-fond:#111111; --btn2-texte:#FFFFFF; --btn2-survol:#2B2B2B;
  --champ-fond:#FFFFFF; --champ-bord:#C9CED5; --final-fond:#111111; --final-bord:#111111;
  --ombre:0 1px 2px rgb(17 17 17 / .06),0 8px 24px -12px rgb(17 17 17 / .18);
  color-scheme:light;
  --color-charbon:#1A1A1A; --color-graphite:#2A2A2A; --color-creme:#F5F6F8; --color-sable:#EEF0F3;
  --color-ligne:#DDE1E6; --color-encre:#1F2328; --color-taupe:#4A515B; --color-guepard-fonce:#A84F00; --color-reussite:#17784A;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--entete) + 12px)}
body.v2{margin:0;background:var(--fond);color:var(--texte);font:400 18px/1.6 var(--police);-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (max-width:480px){body.v2{font-size:17px}}
.v2 img,.v2 svg{max-width:100%}
.v2 img{height:auto}
:where(.v2) a{color:inherit}
.v2 h1,.v2 h2,.v2 h3{color:var(--titre);margin:0;line-height:1.15;letter-spacing:-.01em}
.v2 h1{font-family:var(--titres);font-weight:400;font-size:clamp(2rem,1.3rem + 3.2vw,3.4rem);line-height:1.08}
.v2 h2{font-family:var(--titres);font-weight:400;font-size:clamp(1.55rem,1.2rem + 1.4vw,2.2rem)}
.v2 h3{font-size:1.2rem;font-weight:700}
.v2 p{margin:0}
.v2 [hidden]{display:none!important}
.v-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v-saut{position:absolute;left:12px;top:-60px;z-index:100;background:var(--titre);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.v-saut:focus{top:12px}
.v2 :focus-visible{outline:3px solid var(--titre);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 6px var(--fond)}
main:focus{outline:none}

/* ---------- conteneurs ---------- */
.v-in{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
@media (max-width:360px){.v-in{padding:0 14px}}
.v-bloc{padding:56px 0}
.v-bloc-s{padding:36px 0}
.v-blanc{background:var(--carte)}
.v-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:24px}
.v-tete p{color:var(--texte-2);margin-top:6px;max-width:60ch}
.v-sur{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-texte);margin-bottom:10px}
.v-sur::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--orange)}
.v-lien{font-weight:700;color:var(--titre);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px;display:inline-flex;align-items:center;gap:6px;min-height:48px}
.v-lien:hover{color:var(--orange-texte)}
.v-note{font-size:.92rem;color:var(--texte-2)}

/* ---------- boutons ---------- */
.v-btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 22px;border-radius:14px;border:2px solid transparent;font:700 1.05rem/1.2 var(--police);text-decoration:none;cursor:pointer;text-align:center;transition:background-color .15s,border-color .15s,transform .1s;-webkit-tap-highlight-color:transparent}
.v-btn:active{transform:translateY(1px)}
.v-btn svg{width:22px;height:22px;flex:none}
.v-btn-go{background:var(--orange);color:#111}
.v-btn-go:hover{background:var(--orange-2)}
.v-btn-noir{background:var(--btn2-fond);color:var(--btn2-texte)}
.v-btn-noir:hover{background:var(--btn2-survol)}
.v-btn-clair{background:var(--carte);color:var(--titre);border-color:var(--ligne)}
.v-btn-clair:hover{border-color:var(--titre)}
.v-btn-large{width:100%}
.v-btn-s{min-height:48px;padding:10px 16px;font-size:1rem;border-radius:12px}
.v-btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- en-tête ---------- */
.v-entete{position:sticky;top:0;z-index:60;background:var(--entete-fond);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--ligne)}
.v-entete .v-in{display:flex;align-items:center;gap:14px;height:var(--entete)}
.v-marque{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:48px;flex:none}
.v-marque-logo{display:grid;place-items:center;width:52px;height:44px;border-radius:12px;background:#000;border:1px solid var(--ligne);flex:none}
.v-marque-logo img{width:46px;height:auto;display:block}
.v-marque-nom{display:flex;flex-direction:column;line-height:1.05}
.v-marque-nom b{font:400 1.02rem/1.05 var(--titres);color:var(--titre);letter-spacing:.01em}
.v-marque-nom b span{color:var(--orange-texte)}
.v-marque-nom small{font-size:.74rem;color:var(--texte-2);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.v-nav{display:none;gap:4px;margin-left:12px}
.v-nav a{white-space:nowrap;display:inline-flex;align-items:center;min-height:48px;padding:0 12px;border-radius:10px;text-decoration:none;font-weight:600;font-size:1rem;color:var(--texte)}
.v-nav a:hover,.v-nav a[aria-current=page]{background:var(--carte-2);color:var(--titre)}
.v-entete-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.v-tel-texte{display:none}
.v-seul-large{display:none!important}
.v-menu-btn{display:inline-flex}
@media (max-width:599px){.v-marque-nom{display:none}.v-marque-logo{width:62px;height:48px}.v-marque-logo img{width:56px}.v-entete .v-in{gap:8px}.v-entete-actions .v-btn-s{padding:10px 14px}}
@media (max-width:359px){.v-entete-actions{gap:6px}.v-entete-actions .v-btn-s{padding:10px 10px;gap:6px}}
@media (min-width:700px){.v-tel-texte{display:inline}.v-tel-court{display:none}}
@media (min-width:1200px){
  .v-nav{display:flex}
  .v-seul-large{display:inline-flex!important}
  .v-menu-btn{display:none}
}

/* ---------- menu (tiroir) ---------- */
.v-menu{position:fixed;inset:var(--entete) 0 0 0;z-index:59;background:var(--fond);overflow-y:auto;overscroll-behavior:contain;padding:20px 0 calc(110px + env(safe-area-inset-bottom))}
.v-menu[hidden]{display:none}
.v-menu-grille{display:grid;gap:22px}
@media (min-width:700px){.v-menu-grille{grid-template-columns:1fr 1fr}}
.v-menu h2{font:700 .85rem/1 var(--police);letter-spacing:.08em;text-transform:uppercase;color:var(--texte-2);margin:0 0 8px}
.v-menu ul{list-style:none;margin:0;padding:0;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden}
.v-menu li+li{border-top:1px solid var(--ligne)}
.v-menu li a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 18px;text-decoration:none;font-weight:600;color:var(--titre)}
.v-menu li a::after{content:"›";font-size:1.5rem;color:var(--texte-2);line-height:1}
.v-menu li a small{font-weight:400;color:var(--texte-2);font-size:.9rem;margin-left:auto}
.v-menu .v-btns{margin-top:20px}
.v-menu .v-btns .v-btn{flex:1 1 200px}
body.v-menu-ouvert{overflow:hidden}

/* ---------- barre d'onglets (téléphone, tablette) ---------- */
.v-onglets{position:fixed;left:0;right:0;bottom:0;z-index:58;background:var(--carte);border-top:1px solid var(--ligne);padding:0 4px env(safe-area-inset-bottom);box-shadow:0 -6px 20px -14px rgb(0 0 0 / .35)}
.v-onglets ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(5,1fr);max-width:640px}
.v-onglets a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;padding:6px 2px;text-decoration:none;color:var(--texte-2);font-size:.78rem;font-weight:600;line-height:1.1;text-align:center}
.v-onglets svg{width:26px;height:26px}
.v-onglets a[aria-current=page]{color:var(--titre)}
.v-onglets a[aria-current=page] svg{color:var(--orange-texte)}
.v-onglets a[aria-current=page] span{border-bottom:3px solid var(--orange);padding-bottom:1px}
.v-onglets .v-onglet-go svg{background:var(--orange);color:#111;border-radius:12px;padding:4px;width:34px;height:30px}
@media (max-width:340px){.v-onglets a{font-size:.72rem}}
@media (max-width:1199px){body.v2{--onglets:64px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}}
@media (min-width:1200px){.v-onglets{display:none}}

/* ---------- accueil : haut de page ---------- */
.v-hero{background:var(--carte);border-bottom:1px solid var(--ligne)}
.v-hero .v-in{display:grid;gap:28px;padding-top:36px;padding-bottom:40px;align-items:center}
.v-hero p.v-chapo{font-size:1.15rem;color:var(--texte-2);margin-top:14px;max-width:34ch}
.v-hero .v-btns{margin-top:24px}
.v-hero .v-btns .v-btn{flex:1 1 210px;max-width:320px;min-height:58px;font-size:1.12rem}
.v-hero-photo{display:none}
.v-offert{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:12px 14px;border:1px solid var(--ligne);border-left:4px solid var(--orange);border-radius:12px;background:var(--fond);font-size:.98rem;max-width:520px}
.v-offert b{color:var(--titre)}
@media (min-width:900px){
  .v-hero .v-in{grid-template-columns:1.1fr .9fr;padding-top:56px;padding-bottom:56px}
  .v-hero-photo{display:block;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--carte-2)}
  .v-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
}
.v-confiance{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding:0;list-style:none}
.v-confiance li{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--fond);border:1px solid var(--ligne);font-size:.92rem;font-weight:600;color:var(--titre)}
.v-confiance svg{width:18px;height:18px;color:var(--orange-texte);flex:none}
.v-etoiles{color:var(--orange-texte);letter-spacing:1px}

/* ---------- choix rapide « Quel permis ? » ---------- */
.v-choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.v-choix li:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:760px){.v-choix{grid-template-columns:repeat(5,minmax(0,1fr))}.v-choix li:last-child:nth-child(odd){grid-column:auto}}
.v-choix a{display:flex;flex-direction:column;gap:6px;height:100%;min-height:128px;padding:16px;border-radius:var(--rayon);background:var(--carte);border:2px solid var(--ligne);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.v-choix a:hover{border-color:var(--titre);box-shadow:var(--ombre)}
.v-choix svg{width:34px;height:34px;color:var(--orange-texte)}
.v-choix b{font-size:1.08rem;color:var(--titre);line-height:1.2}
.v-choix span{font-size:.95rem;color:var(--texte-2);margin-top:auto}
.v-choix span strong{color:var(--titre)}

/* ---------- étapes ---------- */
.v-etapes{display:grid;gap:12px;list-style:none;margin:0;padding:0;counter-reset:e}
@media (min-width:760px){.v-etapes{grid-template-columns:repeat(3,1fr)}}
.v-etapes li{counter-increment:e;display:flex;gap:14px;padding:18px;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon)}
.v-etapes li::before{content:counter(e);flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--inverse-fond);color:var(--inverse-texte);font:400 1.1rem var(--titres)}
.v-etapes b{display:block;color:var(--titre);font-size:1.08rem}
.v-etapes p{color:var(--texte-2);font-size:.98rem;margin-top:2px}

/* ---------- cartes formule (façon boutique) ---------- */
.v-offres{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,272px),1fr))}
.v-offre{display:flex;flex-direction:column;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:20px;box-shadow:var(--ombre);position:relative}
.v-offre-cat{font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--texte-2)}
.v-offre h3{font-size:1.3rem;margin-top:4px}
.v-offre-detail{color:var(--texte-2);font-size:.98rem;margin-top:2px}
.v-prix{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:14px;color:var(--titre)}
.v-prix b{font:400 2.3rem/1 var(--titres);letter-spacing:-.02em}
.v-prix span{font-weight:600;color:var(--texte-2);white-space:nowrap}
.v-prix-2{font-size:.95rem;color:var(--texte-2);margin-top:4px}
.v-prix-2 strong{color:var(--titre)}
.v-inclus{list-style:none;margin:14px 0 18px;padding:0;display:grid;gap:8px;font-size:.98rem}
.v-inclus li{position:relative;padding-left:30px}
.v-inclus li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--vert-doux) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%235BD48F'%3E%3Cpath d='M16.7 5.3a1 1 0 0 1 0 1.4l-7.5 7.5a1 1 0 0 1-1.4 0l-3.5-3.5a1 1 0 1 1 1.4-1.4l2.8 2.8 6.8-6.8a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E") center/13px no-repeat}
html[data-nuance="clair"] .v-inclus li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2317784A'%3E%3Cpath d='M16.7 5.3a1 1 0 0 1 0 1.4l-7.5 7.5a1 1 0 0 1-1.4 0l-3.5-3.5a1 1 0 1 1 1.4-1.4l2.8 2.8 6.8-6.8a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E")}
.v-offre-pied{margin-top:auto;display:grid;gap:4px}
.v-offre-pied .v-lien{justify-content:center}
.v-badge{position:absolute;top:-12px;left:18px;background:var(--inverse-fond);color:var(--inverse-texte);font-size:.8rem;font-weight:700;padding:5px 10px;border-radius:999px}

/* ---------- rangées à faire défiler (vidéos, avis) ---------- */
.v-rangee{position:relative}
.v-defile{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 16px;margin:0 -20px;list-style:none;scrollbar-width:thin;overscroll-behavior-x:contain}
@media (max-width:360px){.v-defile,.v-filtres{padding-left:14px;padding-right:14px;margin-left:-14px;margin-right:-14px}}
.v-defile>li{scroll-snap-align:start;flex:none}
.v-fleches{display:none;gap:8px}
@media (min-width:1200px) and (hover:hover){.v-fleches{display:flex}}
.v-fleche{width:48px;height:48px;border-radius:50%;border:2px solid var(--ligne);background:var(--carte);cursor:pointer;display:grid;place-items:center;color:var(--titre)}
.v-fleche:hover{border-color:var(--titre)}
.v-fleche svg{width:22px;height:22px}
.v-video{display:block;text-decoration:none;width:200px}
.v-video-large{width:100%}
.v-video figure{margin:0}
.v-video-img{position:relative;border-radius:var(--rayon);overflow:hidden;background:#151515;aspect-ratio:9/16}
.v-video-large .v-video-img{aspect-ratio:16/9}
.v-video img{width:100%;height:100%;object-fit:cover;display:block}
.v-video-img::after{content:"";position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgb(17 17 17 / .78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") 55% 50%/28px no-repeat;box-shadow:0 0 0 3px rgb(255 255 255 / .85)}
.v-video-duree{position:absolute;right:8px;bottom:8px;z-index:1;background:rgb(17 17 17 / .85);color:#fff;font-size:.8rem;font-weight:700;padding:3px 7px;border-radius:6px}
.v-video figcaption{margin-top:8px;font-weight:700;color:var(--titre);line-height:1.3;font-size:1rem}
.v-video figcaption small{display:block;font-weight:400;color:var(--texte-2);font-size:.88rem;margin-top:2px}
.v-avis{width:min(82vw,340px);height:100%;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:18px;display:flex;flex-direction:column;gap:10px;margin:0}
.v-avis blockquote{margin:0;color:var(--texte);font-size:1rem}
.v-avis figcaption{margin-top:auto;font-size:.9rem;color:var(--texte-2)}
.v-avis figcaption b{color:var(--titre)}
.v-note-google{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.v-note-google strong{font:400 2.4rem/1 var(--titres);color:var(--titre)}

/* ---------- cartes simples, élèves, financement ---------- */
.v-grille-2{display:grid;gap:14px}
@media (min-width:760px){.v-grille-2{grid-template-columns:1fr 1fr}}
.v-grille-3{display:grid;gap:14px}
@media (min-width:760px){.v-grille-3{grid-template-columns:repeat(3,1fr)}}
.v-carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:20px}
.v-carte h3{margin-bottom:6px}
.v-carte p{color:var(--texte-2)}
.v-carte .v-btn{margin-top:14px}
.v-carte-lien{display:flex;gap:14px;align-items:center;text-decoration:none;background:var(--carte);border:2px solid var(--ligne);border-radius:var(--rayon);padding:16px 18px;min-height:84px}
.v-carte-lien:hover{border-color:var(--titre)}
.v-carte-lien svg{width:34px;height:34px;flex:none;color:var(--orange-texte)}
.v-carte-lien b{display:block;color:var(--titre);font-size:1.08rem}
.v-carte-lien span{display:block;color:var(--texte-2);font-size:.95rem}
.v-carte-lien::after{content:"›";margin-left:auto;font-size:1.8rem;color:var(--texte-2);line-height:1}
.v-puces{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.v-puces li{padding:8px 14px;border-radius:999px;background:var(--carte);border:1px solid var(--ligne);font-weight:600;font-size:.95rem}
.v-accent{border-left:4px solid var(--orange)}

/* ---------- questions (FAQ) ---------- */
.v-faq{display:grid;gap:10px}
.v-faq details{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon-s)}
.v-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:60px;padding:12px 18px;font-weight:700;color:var(--titre)}
.v-faq summary::-webkit-details-marker{display:none}
.v-faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;background:var(--carte-2);color:var(--titre);display:grid;place-items:center;font:700 1.3rem/1 var(--police)}
.v-faq details[open] summary::after{content:"−"}
.v-faq details>div{padding:0 18px 16px;color:var(--texte-2)}
.v-faq details>div p+p,.v-faq details>div ul{margin-top:8px}

/* ---------- horaires, contact ---------- */
.v-horaires{list-style:none;margin:0;padding:0}
.v-horaires li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--ligne)}
.v-horaires li:last-child{border-bottom:0}
.v-horaires li.v-auj{font-weight:700;color:var(--titre)}
.v-horaires li.v-auj span:first-child::after{content:" · aujourd'hui";font-weight:400;color:var(--orange-texte)}
.v-etat{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--titre);margin-bottom:6px}
.v-etat::before{content:"";width:10px;height:10px;border-radius:50%;background:#9AA1AA}
.v-etat.v-ouvert::before{background:#1E9E5A}

/* ---------- fil d'Ariane, haut de page intérieure ---------- */
.v-ariane{font-size:.92rem;color:var(--texte-2);padding-top:18px}
.v-ariane ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.v-ariane li+li::before{content:"›";margin-right:6px}
.v-ariane a{color:var(--texte-2)}
.v-page-tete{background:var(--carte);border-bottom:1px solid var(--ligne)}
.v-page-tete .v-in{padding-bottom:32px}
.v-page-tete h1{margin-top:14px;font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem)}
.v-page-tete .v-chapo{font-size:1.1rem;color:var(--texte-2);margin-top:12px;max-width:62ch}
.v-page-tete .v-btns{margin-top:20px}
.v-des{display:inline-flex;align-items:baseline;gap:8px;margin-top:16px;padding:8px 14px;border-radius:12px;background:var(--fond);border:1px solid var(--ligne)}
.v-des b{font:400 1.6rem/1 var(--titres);color:var(--titre)}
.v-liste{margin:0;padding-left:1.2em;display:grid;gap:6px}
.v-liste li::marker{color:var(--orange-texte)}
.v-texte{max-width:72ch}
.v-texte p+p{margin-top:10px}

/* ---------- filtres (page formules) ---------- */
.v-filtres{display:flex;gap:8px;overflow-x:auto;padding:4px 20px 12px;margin:0 -20px;scrollbar-width:none}
.v-filtres::-webkit-scrollbar{display:none}
@media (max-width:360px){.v-filtres{padding-left:14px;padding-right:14px;margin-left:-14px;margin-right:-14px}}
.v-filtres button{flex:none;min-height:48px;padding:0 18px;border-radius:999px;border:2px solid var(--ligne);background:var(--carte);font:600 1rem var(--police);color:var(--titre);cursor:pointer}
.v-filtres button[aria-pressed=true]{background:var(--inverse-fond);border-color:var(--inverse-fond);color:var(--inverse-texte)}
.v-cat[hidden]{display:none}
.v-cat+.v-cat{margin-top:40px}
.v-cat>h2{font-size:1.5rem;margin-bottom:6px}
.v-cat>p{color:var(--texte-2);margin-bottom:16px}
.v-tarifs{width:100%;border-collapse:collapse;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon-s);overflow:hidden;font-size:1rem}
.v-tarifs caption{text-align:left;font-weight:700;color:var(--titre);padding:0 0 8px;font-size:1.1rem}
.v-tarifs th,.v-tarifs td{padding:12px 16px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top}
.v-tarifs td:last-child{text-align:right;font-weight:700;color:var(--titre);white-space:nowrap}
.v-tarifs tr:last-child td{border-bottom:0}

/* ---------- pied de page ---------- */
.v-pied{background:var(--carte);border-top:1px solid var(--ligne);padding:44px 0 28px;font-size:.98rem}
.v-pied-grille{display:grid;gap:28px}
@media (min-width:700px){.v-pied-grille{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.v-pied-grille{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.v-pied h2{font:700 .85rem/1 var(--police);letter-spacing:.08em;text-transform:uppercase;color:var(--texte-2);margin:0 0 12px}
.v-pied ul{list-style:none;margin:0;padding:0}
.v-pied li a{display:inline-flex;align-items:center;min-height:40px;text-decoration:none;color:var(--texte)}
.v-pied li a:hover{text-decoration:underline}
.v-pied address{font-style:normal;color:var(--texte)}
.v-pied-bas{margin-top:28px;padding-top:18px;border-top:1px solid var(--ligne);display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--texte-2);font-size:.9rem}
.v-pied-bas a{color:var(--texte-2)}

/* ---------- bandeau final ---------- */
.v-final{background:var(--final-fond);border:1px solid var(--final-bord);color:#fff;border-radius:24px;padding:32px 24px;display:grid;gap:18px;align-items:center}
.v-final h2{color:#fff}
.v-final p{color:#D6D8DB}
@media (min-width:900px){.v-final{grid-template-columns:1.4fr 1fr;padding:44px}}
.v-final .v-btns .v-btn{flex:1 1 200px}
.v-final .v-btn-clair{background:transparent;color:#fff;border-color:#5A5F66}
.v-final .v-btn-clair:hover{border-color:#fff}

/* ---------- tunnel d'inscription ---------- */
.v-tunnel{max-width:760px;margin:0 auto}
.v-progres{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;counter-reset:p}
.v-progres li{counter-increment:p;font-size:.88rem;font-weight:600;color:var(--texte-2);padding-top:12px;border-top:6px solid var(--ligne);border-radius:2px}
.v-progres li::before{content:"Étape " counter(p);display:block;font-size:.78rem;font-weight:400}
.v-progres li.v-fait{border-top-color:var(--titre);color:var(--titre)}
.v-progres li.v-actif{border-top-color:var(--orange);color:var(--titre)}
.v-etape[hidden]{display:none}
.v-etape h2{font-size:1.6rem;margin-bottom:6px}
.v-etape>p{color:var(--texte-2);margin-bottom:18px}
.v-tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0;margin:0 0 6px;padding:0}
@media (min-width:640px){.v-tuiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v-tuiles legend,.v-champ-titre{font-weight:700;color:var(--titre);margin-bottom:10px;padding:0;font-size:1.05rem}
.v-tuile{position:relative}
.v-tuile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.v-tuile span{overflow-wrap:anywhere;hyphens:auto;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:72px;height:100%;padding:12px 14px;border:2px solid var(--ligne);border-radius:14px;background:var(--carte);font-weight:700;color:var(--titre);line-height:1.25}
.v-tuile small{font-weight:400;color:var(--texte-2);font-size:.9rem}
.v-tuile input:checked+span{border-color:var(--titre);box-shadow:inset 0 0 0 1px var(--titre);background:var(--carte-2)}
.v-tuile input:checked+span::after{content:"✓";position:absolute;top:8px;right:10px;width:24px;height:24px;border-radius:50%;background:var(--inverse-fond);color:var(--inverse-texte);display:grid;place-items:center;font-size:.8rem}
.v-tuile input:focus-visible+span{outline:3px solid var(--titre);outline-offset:3px}
.v-formules{display:grid;gap:10px;border:0;margin:18px 0 0;padding:0}
.v-formules .v-tuile span{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding-right:44px}
.v-formules .v-tuile b{font:400 1.25rem var(--titres);white-space:nowrap}
.v-champs{display:grid;gap:14px}
@media (min-width:640px){.v-champs-2{grid-template-columns:1fr 1fr}}
.v-champ label,.v-champ .v-champ-titre{display:block;font-weight:700;color:var(--titre);margin-bottom:6px;font-size:1rem}
.v-champ label em,.v-champ-titre em{font-style:normal;color:var(--orange-texte)}
.v-champ input,.v-champ select,.v-champ textarea{width:100%;min-height:54px;padding:12px 14px;border:2px solid var(--champ-bord);border-radius:12px;background:var(--champ-fond);font:400 1.05rem var(--police);color:var(--titre)}
.v-champ textarea{min-height:110px}
.v-champ input:focus,.v-champ select:focus,.v-champ textarea:focus{border-color:var(--titre);outline:none;box-shadow:0 0 0 3px rgb(232 117 17 / .45)}
.v-aide-champ{font-size:.9rem;color:var(--texte-2);margin-top:4px}
.v-champ [aria-invalid=true]{border-color:var(--rouge)}
.v-erreur{color:var(--rouge);font-weight:600;font-size:.95rem;margin-top:10px}
.v-encadre{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:18px}
.v-encadre+.v-encadre{margin-top:14px}
.v-recap{list-style:none;margin:0;padding:0}
.v-recap li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--ligne)}
.v-recap li:last-child{border-bottom:0}
.v-recap li span{color:var(--texte-2)}
.v-recap li b{color:var(--titre);text-align:right}
.v-cal{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.v-cal .v-tuile span{min-height:64px}
.v-cases{display:flex;flex-wrap:wrap;gap:8px}
.v-case{position:relative}
.v-case input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}
.v-case span{display:inline-flex;align-items:center;min-height:48px;padding:8px 14px;border-radius:999px;border:2px solid var(--ligne);background:var(--carte);font-weight:600}
.v-case input:checked+span{border-color:var(--inverse-fond);background:var(--inverse-fond);color:var(--inverse-texte)}
.v-case input:focus-visible+span{outline:3px solid var(--titre);outline-offset:3px}
.v-tunnel-nav{display:flex;gap:10px;margin-top:22px;align-items:center}
.v-tunnel-nav .v-btn-go{flex:1}
.v-tunnel-nav .v-btn-clair{flex:none}
.v-mini-prix{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--fond);border:1px solid var(--ligne);font-size:1rem}
.v-mini-prix b{color:var(--titre)}
.v-ok{text-align:left}
.v-ok h2{font-size:1.7rem}
.v-ok .v-encadre{margin-top:16px}
.v-iban{font-family:ui-monospace,Menlo,monospace;font-size:.98rem;word-break:break-word}
details.v-plus{margin-top:14px}
details.v-plus summary{cursor:pointer;font-weight:700;color:var(--titre);min-height:48px;display:flex;align-items:center}

/* ---------- assistant existant (enligne.js) dans la v2 ---------- */
.v-aide{position:fixed;right:14px;bottom:calc(var(--onglets) + 14px + env(safe-area-inset-bottom));z-index:57;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border-radius:999px;border:2px solid var(--titre);background:var(--carte);color:var(--titre);font:700 .95rem var(--police);box-shadow:var(--ombre);cursor:pointer}
.v-aide svg{width:20px;height:20px}
.g-bot-btn{bottom:calc(var(--onglets,0px) + 14px + env(safe-area-inset-bottom))!important}
.g-msg-me{background:var(--inverse-fond)!important;color:var(--inverse-texte)!important}
.g-cat[aria-pressed=true]{background:var(--inverse-fond)!important;border-color:var(--inverse-fond)!important;color:var(--inverse-texte)!important}
.v-aide[hidden]{display:none}
@media (max-width:1199px){.v-aide.v-loin{opacity:0;pointer-events:none;transform:translateY(8px)}.v-aide{transition:opacity .2s,transform .2s}}
.v-masque-tel{display:none}

/* ---------- divers ---------- */
.v-concours{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;background:var(--carte);border:1px solid var(--ligne);border-left:4px solid var(--orange);border-radius:var(--rayon);padding:16px 18px}
.v-concours[hidden]{display:none}
.v-concours b{color:var(--titre);font-size:1.08rem}
.v-concours p{color:var(--texte-2)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .v2 *,.v2 *::before,.v2 *::after{transition:none!important;animation:none!important}
}
@media print{.v-entete,.v-onglets,.v-aide,.g-bot-btn,.v-pied{display:none!important}}

/* ---------- bouton Couleur (sombre / clair) ---------- */
.v-nuance{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}
.v-nuance button{min-height:48px;padding:0 16px;border-radius:999px;border:2px solid var(--ligne);background:var(--carte);color:var(--titre);font:600 1rem var(--police);cursor:pointer}
.v-nuance button[aria-pressed=true]{background:var(--inverse-fond);border-color:var(--inverse-fond);color:var(--inverse-texte)}
/* ---------- anciennes pages et assistant en sombre : fonds blancs codés en dur ---------- */
:root:not([data-nuance="clair"]) :is(.g-card,.g-step,.g-search input,.g-msg-bot,.g-bot-sugg button,.g-bot-form,.g-cal-day,.d-pied,.g-input,.g-select,.g-textarea,.g-choice span){background-color:var(--carte)!important;color:var(--texte)}
:root:not([data-nuance="clair"]) :is(.g-input,.g-select,.g-textarea,.g-search input){background-color:var(--champ-fond)!important;border-color:var(--champ-bord)}
:root:not([data-nuance="clair"]) .v-ancien :is(.bg-white,.bg-creme,.bg-sable){background-color:var(--carte)}

/* impression (devis, documents) : toujours en clair, lisible sur papier */
@media print{:root:root{
  --fond:#F5F6F8; --carte:#FFFFFF; --carte-2:#EEF0F3; --ligne:#DDE1E6;
  --titre:#111111; --texte:#1F2328; --texte-2:#4A515B;
  --orange-texte:#A84F00; --orange-doux:#FFF4EA;
  --vert:#17784A; --vert-doux:#E6F4EC; --rouge:#B42318;
  --entete-fond:rgb(255 255 255 / .96); --inverse-fond:#111111; --inverse-texte:#FFFFFF;
  --btn2-fond:#111111; --btn2-texte:#FFFFFF; --btn2-survol:#2B2B2B;
  --champ-fond:#FFFFFF; --champ-bord:#C9CED5; --final-fond:#111111; --final-bord:#111111;
  --ombre:0 1px 2px rgb(17 17 17 / .06),0 8px 24px -12px rgb(17 17 17 / .18);
  color-scheme:light;
  --color-charbon:#1A1A1A; --color-graphite:#2A2A2A; --color-creme:#F5F6F8; --color-sable:#EEF0F3;
  --color-ligne:#DDE1E6; --color-encre:#1F2328; --color-taupe:#4A515B; --color-guepard-fonce:#A84F00; --color-reussite:#17784A;
}
:root:root :is(.g-card,.g-step,.g-input,.g-select,.g-textarea,.d-pied){background-color:#fff!important;color:#1F2328}
body.v2{background:#fff}}
.v-plan{min-height:220px;display:grid;place-content:center;gap:14px;text-align:center;padding:28px 18px;background:var(--carte)}
.v-plan p{font-weight:600;color:var(--titre)}
.v-plan .v-btns{justify-content:center}
.v-plan iframe{width:100%;height:420px;border:0;display:block}
.v-plan.v-plan-ouvert{display:block;padding:0}
@media (min-width:1200px) and (max-width:1359px){.v-tel-texte{display:none}.v-tel-court{display:inline}}

/* ---------- échéancier sur les cartes ---------- */
.v-mois{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--carte-2);font-size:.95rem;color:var(--texte)}
.v-mois strong{color:var(--titre)}
.v-mois-2{margin-top:6px;font-size:.9rem;color:var(--texte-2)}
.v-mois-2 a{color:var(--titre)}
/* ---------- « On vous rappelle » ---------- */
.v-rappel-bandeau{border-top:1px solid var(--ligne);background:var(--fond)}
.v-rappel-bandeau .v-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding-top:20px;padding-bottom:20px}
.v-rappel-bandeau p{color:var(--texte);margin:0}
.v-rappel-bandeau b{color:var(--titre)}
.v-rappel{width:min(94vw,440px);max-height:92vh;padding:0;border:1px solid var(--ligne);border-radius:20px;background:var(--carte);color:var(--texte);box-shadow:0 30px 80px -20px rgb(0 0 0 / .7)}
.v-rappel::backdrop{background:rgb(0 0 0 / .6)}
.v-rappel-in{padding:20px}
.v-rappel-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.v-rappel-tete h2{font-size:1.5rem}
.v-rgpd{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.92rem;color:var(--texte-2);cursor:pointer}
.v-rgpd input{width:24px;height:24px;flex:none;margin:1px 0 0;accent-color:var(--orange)}
.v-rgpd a{color:var(--titre)}
.v-pied-bouton{background:none;border:0;padding:0;min-height:40px;font:inherit;color:var(--texte);cursor:pointer;text-align:left}
.v-pied-bouton:hover{text-decoration:underline}
@media print{.v-rappel-bandeau,.v-rappel{display:none!important}}

/* ---------- bulle « Une question ? » : jamais par-dessus un bouton ou un titre ---------- */
@media (max-width:1199px){.g-bot-v2:not(.g-bot-ouvert),.v-aide{display:none!important}}
.v-cache-bulle{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.v-question-btn{background:none;border:0;padding:0;min-height:40px;font:inherit;color:var(--texte);cursor:pointer;text-align:left}
.v-question-btn:hover{text-decoration:underline}

/* ===== contrôle 20/10 : JAMAIS de texte sur fond orange plein — fond sombre, contour orange (comme l'appli) ===== */
.v-btn-go{background:var(--carte-2);color:var(--titre);border:2px solid var(--orange)}
.v-btn-go:hover{background:var(--orange-doux);border-color:var(--orange-2)}
.v-ancien .btn-primary,.g-mb-go,.g-bot-form button,.jp-btn{background:var(--carte-2)!important;color:var(--titre)!important;border:2px solid var(--orange)!important;box-shadow:none!important}
.v-ancien .btn-primary:hover,.jp-btn:hover{background:var(--orange-doux)!important}
.v-onglets .v-onglet-go svg{background:transparent;color:var(--orange-texte);border:2px solid var(--orange)}
/* fenêtre « On vous rappelle » toujours centrée */
.v-rappel[open]{position:fixed;inset:0;margin:auto;height:fit-content;max-height:92vh;overflow:auto}
.g-trust span:before{background:transparent!important;color:var(--orange-texte)!important;border:2px solid var(--orange);box-sizing:border-box}
