/* ==========================================================================
   SECUNDIS — CHARTE V2 (28/09/2026) · brief design d'Étienne du 27/09
   Palette chaude (vert, terracotta, marine, fond ivoire/sable), boutons « pilule »,
   Cormorant Garamond (titres) + Montserrat (texte, menus, boutons) + Allura (notes manuscrites).
   Chargée EN DERNIER (priorité 20) : elle gagne la cascade sur style.css, pages.css,
   simulateur.css et guide-lmnp.css sans les modifier. Toute la V1 (responsive,
   formulaires, carte, filtres) reste en place : cette feuille ne fait que l'habiller.
   ========================================================================== */
:root{
  /* couleurs */
  --marine:#1F3148; --marine-2:#243B57; --marine-70:#4B5B70;
  --vert:#2F5C45; --vert-fonce:#234634; --vert-clair:#4E7A5C;
  --sauge:#7C9A84; --sauge-15:#E8EFE7; --menthe:#EEF3EC;
  --terracotta:#B8653F; --terracotta-15:#F6E8DE; --ambre:#B07A3B;
  --bleu-doux:#5B87A8; --bleu-15:#E6EEF4;
  --ivoire:#FBF7F0; --sable:#F2EADD; --papier:#F7F2EA; --blanc:#FFFFFF;
  --trait:#E6DDCF; --texte:#2C3848; --texte-2:#5B6472; --brique:#A2472F;
  --degrade-vert:#2F5C45; --degrade-marine:#1F3148;
  --ombre-1:0 6px 20px rgba(31,49,72,.06); --ombre-2:0 18px 44px rgba(31,49,72,.11);
  /* typographies */
  --titres:"Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --corps:"Montserrat", "Avenir Next", Avenir, -apple-system, "Segoe UI", Arial, sans-serif;
  --data:"Montserrat", "Avenir Next", Avenir, -apple-system, Arial, sans-serif;
  --manuscrit:"Allura", "Brittany Signature", "Segoe Script", cursive;
  --r:16px; --r-sm:12px;
  --t-sm:.8125rem; --t-md:1.0625rem; --t-lg:1.45rem; --t-xl:1.95rem; --t-2xl:2.55rem; --t-3xl:3.6rem;
}

/* ---------------------------------------------------------------- base */
body{background:var(--ivoire); color:var(--texte); font-family:var(--corps); font-size:.975rem; line-height:1.68; font-feature-settings:"lnum" 1}
h1,h2,h3,h4{font-family:var(--titres); font-weight:600; letter-spacing:-.005em; line-height:1.08; color:var(--marine)}
h3{line-height:1.18}
h1 .vert,h2 .vert,.vert{color:var(--vert-clair)}
em{font-style:italic}
::selection{background:#E4D2BF}
:focus-visible{outline:2px solid var(--terracotta); outline-offset:3px}
.etiquette{font-family:var(--data); font-weight:600; font-size:.7rem; letter-spacing:.16em; color:var(--terracotta)}
.etiquette--clair{color:#E9C9B3}
.texte-2,.chapeau,.sous{color:var(--texte-2)}
.enveloppe{padding:0 1.75rem}
@media (max-width:760px){ .enveloppe{padding:0 1.15rem} body{font-size:.95rem} }

/* ---------------------------------------------------------------- boutons pilule */
.bouton{font-family:var(--corps); font-weight:600; font-size:.9rem; letter-spacing:.01em; border-radius:999px; padding:.85rem 1.55rem; box-shadow:none; gap:.6rem}
.bouton--plein{background:var(--vert); color:#fff; border-color:var(--vert); box-shadow:0 8px 22px rgba(47,92,69,.22)}
.bouton--plein:hover{background:var(--vert-fonce); border-color:var(--vert-fonce); transform:translateY(-1px); box-shadow:0 12px 26px rgba(47,92,69,.28)}
.bouton--fil{background:transparent; color:var(--marine); border:1.5px solid var(--marine)}
.bouton--fil:hover{background:var(--marine); color:#fff; transform:translateY(-1px)}
.bouton--blanc{border-color:rgba(255,255,255,.85); color:#fff}
.bouton--blanc:hover{background:#fff; color:var(--marine)}
.bouton--marine{background:var(--marine); box-shadow:none}
.bouton--doux{background:#5E7F68; color:#fff; border:0; box-shadow:0 8px 20px rgba(94,127,104,.25)}
.bouton--doux:hover{background:var(--vert); transform:translateY(-1px)}
.bouton--large{padding:1rem 1.8rem; font-size:.95rem}
.bouton .fleche{font-family:var(--corps)}

/* ---------------------------------------------------------------- en-tête */
.entete{background:rgba(251,247,240,.94); backdrop-filter:saturate(1.2) blur(10px); border-bottom:1px solid rgba(230,221,207,.9)}
.entete .enveloppe{min-height:80px; gap:1.5rem}
.marque img{height:auto; width:190px; max-width:44vw}
.marque .promesse{font-family:var(--corps); font-style:normal; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--texte-2); margin-top:.35rem}
.nav{gap:1.9rem}
.nav a.lien{font-family:var(--corps); font-size:.86rem; font-weight:500; color:var(--marine); letter-spacing:.01em}
.nav a.lien:hover,.nav a.lien--actif{color:var(--vert); border-bottom-color:var(--terracotta)}
.nav .bouton--rdv::after{content:none !important}
.nav .bouton{padding:.72rem 1.35rem; font-size:.85rem}
.nav .nav-contact{margin-left:.6rem}
.nav-bascule{display:none; align-items:center; gap:.55rem; background:transparent; border:1.5px solid var(--marine); color:var(--marine); border-radius:999px; padding:.5rem .95rem; font:600 .82rem/1 var(--corps); cursor:pointer; margin-left:auto}
.nav-bascule-ico{display:inline-flex; flex-direction:column; gap:3px}
.nav-bascule-ico i{display:block; width:16px; height:1.6px; background:currentColor; border-radius:2px; transition:transform .2s,opacity .2s}
.nav-bascule[aria-expanded="true"] .nav-bascule-ico i:nth-child(1){transform:translateY(4.6px) rotate(45deg)}
.nav-bascule[aria-expanded="true"] .nav-bascule-ico i:nth-child(2){opacity:0}
.nav-bascule[aria-expanded="true"] .nav-bascule-ico i:nth-child(3){transform:translateY(-4.6px) rotate(-45deg)}
@media (min-width:1024px){
  .nav{display:flex !important; position:static; flex-direction:row; background:none; box-shadow:none; padding:0}
  .nav-bascule{display:none !important}
}
@media (max-width:1023px){
  .nav{display:none}
  .nav-bascule{display:inline-flex !important}
  .nav.ouvert{display:flex !important; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--ivoire); padding:.6rem 1.25rem 1.2rem; border-bottom:1px solid var(--trait); box-shadow:0 22px 40px rgba(31,49,72,.14); max-height:calc(100dvh - 70px); overflow:auto}
  .nav.ouvert a.lien{padding:.85rem 0; border-bottom:1px solid var(--trait); font-size:1rem}
  .nav.ouvert .nav-tous-lots{display:block; font-weight:700}
  .nav.ouvert .bouton{margin:1rem 0 0; width:100%; justify-content:center}
  .entete .enveloppe{min-height:66px}
  .marque img{width:150px}
}
@media (max-width:420px){ .marque .promesse{display:none} }

/* ---------------------------------------------------------------- 3 messages clés (composant commun) */
.preuves3{list-style:none; margin:0; padding:0}
.preuve3{display:flex; gap:.8rem; align-items:flex-start}
.preuve3-ico{flex-shrink:0; width:44px; height:44px; border-radius:50%; background:var(--sauge-15); color:var(--vert); display:flex; align-items:center; justify-content:center}
.preuve3-ico svg{width:24px; height:24px}
.preuve3-txt{display:flex; flex-direction:column; line-height:1.4}
.preuve3-txt b{font-family:var(--corps); font-weight:600; font-size:.9rem; color:var(--marine)}
.preuve3-txt span{font-size:.8rem; color:var(--texte-2)}
.preuve3:nth-child(2) .preuve3-ico{background:var(--bleu-15); color:var(--bleu-doux)}
.preuve3:nth-child(3) .preuve3-ico{background:var(--terracotta-15); color:var(--terracotta)}
/* bandeau au-dessus du pied, sur toutes les pages hors accueil */
.preuves3--pied{background:var(--sable); border-top:1px solid var(--trait); padding:2.2rem 0}
.preuves3--pied .enveloppe{display:grid; grid-template-columns:auto 1fr auto; gap:2rem; align-items:center}
.preuves3-slogan{font-family:var(--titres); font-size:1.55rem; font-weight:600; font-style:italic; color:var(--marine); line-height:1.15; margin:0; max-width:12em}
.preuves3-liste{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem}
@media (max-width:1080px){ .preuves3--pied .enveloppe{grid-template-columns:1fr} .preuves3-cta{justify-self:start} }
@media (max-width:760px){ .preuves3-liste{grid-template-columns:1fr; gap:1rem} .preuves3--pied{padding:1.8rem 0} .preuves3-cta{width:100%} }

/* ---------------------------------------------------------------- sections et titres communs */
.section{padding:4.5rem 0}
.section--papier{background:var(--papier)}
.section-tete h2{font-size:clamp(2rem,3.2vw,2.7rem)}
.section-tete p{font-size:1rem}

/* ---------------------------------------------------------------- cartes de lots */
.lot{background:#fff; border:1px solid var(--trait); border-radius:18px; box-shadow:var(--ombre-1)}
.lot:hover{box-shadow:var(--ombre-2); border-color:transparent}
.lot h3{font-family:var(--corps); font-size:.95rem; font-weight:600; color:var(--marine)}
.lot-haut .prix{font-family:var(--corps); font-weight:700; font-size:1.2rem; color:var(--marine)}
.lot-haut .renta{font-family:var(--corps); font-weight:700; background:var(--sauge-15); color:var(--vert)}
.lot-pied{background:var(--papier); color:var(--vert); border-top-color:var(--trait)}
.jeton{font-family:var(--corps); font-weight:600; letter-spacing:.06em}
.jeton--securite{background:var(--sauge-15); color:var(--vert)}
.jeton--equilibre{background:var(--bleu-15); color:#3C6585}
.jeton--dynamique{background:var(--terracotta-15); color:#94502F}
.lot-photo{background:linear-gradient(135deg,#C9B79D 0%,#A7B8A4 100%)}
.spec dd{font-family:var(--corps); font-weight:600}

/* ---------------------------------------------------------------- moteur, filtres, champs */
.champ label,.filtre label{font-family:var(--corps); font-weight:600; font-size:.66rem; letter-spacing:.13em; color:var(--texte-2)}
.champ select,.multi-bouton,.filtres select{font-family:var(--corps); border-radius:12px; border-color:var(--trait); background-color:#fff}
.multi-mot--pris .multi-libelle{color:var(--vert)}

/* ---------------------------------------------------------------- carte de France */
.carte,.carte--svg{background:#fff; border:1px solid var(--trait); border-radius:20px; box-shadow:var(--ombre-1)}
.carte h2{font-family:var(--titres); font-size:1.35rem; color:var(--marine)}
.carte h2 span{font-family:var(--corps); color:var(--terracotta); font-weight:600}
.cf-region path{fill:hsl(38, calc(22% + 20% * var(--i, 0)), calc(88% - 30% * var(--i, 0))); stroke:#fff}
.cf-region:hover path,.cf-region.actif path{fill:var(--vert-clair)}
.cf-region--vide path{fill:#F1ECE3}
.cf-pastille circle{fill:var(--vert)}
.cf-pastille.actif circle{fill:var(--terracotta)}
.cf-pastille text{font-family:var(--corps); font-weight:700}
.cf-legende{background:var(--marine)}
.cf-liste a{border-radius:999px; font-family:var(--corps)}
.cf-liste a:hover,.cf-liste a.actif{background:var(--vert); border-color:var(--vert)}

/* ---------------------------------------------------------------- éditorial, guides, exploitants */
.guide{background:#fff; border:1px solid var(--trait); border-radius:18px; box-shadow:none}
.guide h3{font-size:1.4rem}
.guide--pilier{background:var(--marine); border-color:var(--marine)}
.guide--pilier h3{color:#fff; font-size:1.75rem}
.guide--pilier p{color:#C9D2DD}
.guide--pilier .etiquette{color:#E9C9B3}
.guide .lien-gamme,.guide--pilier .lien-gamme{color:var(--vert); font-family:var(--corps)}
.guide--pilier .lien-gamme{color:#E9C9B3 !important}
.exploitants{background:var(--ivoire); border-color:var(--trait)}
.exploitant{background:#fff; border-color:var(--trait); color:var(--marine); font-family:var(--corps); font-weight:600; font-size:.85rem}
.exploitant span{font-family:var(--corps); background:var(--sauge-15); color:var(--vert)}

/* ---------------------------------------------------------------- pages intérieures (héros des segments, guides, contact, simulateur) */
.pilier-heros,.liste-tete{background:linear-gradient(180deg,var(--sable) 0%,var(--ivoire) 100%)}
.pilier-heros h1,.liste-tete h1{font-size:clamp(2.1rem,4vw,3.3rem); line-height:1.06}
.pilier-heros .chapeau{font-size:1.02rem}
.chiffre span,.tuile-cle b{font-family:var(--titres); font-weight:700; color:var(--marine)}
.chiffre--phare span{color:var(--vert)}
.pilier-faq summary{font-family:var(--corps); font-weight:600}
.gl-heros{background:var(--marine)}
.gl-heros h1{color:#fff}
.gl h2{font-size:clamp(1.9rem,3vw,2.5rem)}
.prose h2,.page-contenu h2{font-size:1.9rem}
.prose h3,.page-contenu h3{font-size:1.35rem}
.ariane{font-family:var(--corps); font-size:.78rem}
.fiche h1{font-size:clamp(1.9rem,3.2vw,2.6rem)}
.fiche .bloc h2{font-size:1.75rem}

/* ---------------------------------------------------------------- simulateur (fiche lot et page) : charte uniquement */
.sim2{border-radius:22px}
.sim2 h2{font-size:clamp(1.8rem,3vw,2.4rem)}
.sim2-hero-val b{font-family:var(--titres); font-weight:700}
.sim2-pilules button{font-family:var(--corps); border-radius:999px}
.sim2-pilules button[aria-checked="true"]{background:var(--vert); border-color:var(--vert)}

/* ---------------------------------------------------------------- pied de page */
.pied{background:var(--marine); color:#C9D2DD}
.pied h4{font-family:var(--corps); font-weight:600; letter-spacing:.14em; color:#E9C9B3}
.pied-slogan{font-family:var(--titres); font-style:italic; font-size:1.45rem; color:#fff !important; line-height:1.2; margin:0 0 .6rem}
.pied p{color:#C9D2DD}
.pied a{color:#E3E8EE}
.pied a:hover{color:#fff}
.pied-bas{font-family:var(--corps); color:#9AA8B8}

/* ---------------------------------------------------------------- popins, chatbot */
.sortie-boite{border-radius:22px; background:var(--ivoire)}
.sortie-boite h2{font-size:1.75rem}
.chat-bulle{background:var(--vert); font-family:var(--corps); box-shadow:0 10px 26px rgba(47,92,69,.35)}
.chat-bulle:hover{background:var(--vert-fonce)}

/* ---------------------------------------------------------------- note manuscrite (réutilisable) */
.h2-manuscrit{font-family:var(--manuscrit); font-weight:400; font-style:normal; letter-spacing:0; line-height:1.05}

/* ---------------------------------------------------------------- mouvement */
@media (prefers-reduced-motion:reduce){ .bouton,.lot,.guide{transition:none !important; transform:none !important} }
.preuves3--pied .preuve3-ico{background:#fff}

/* ==========================================================================
   V2.0.2 — LISIBILITÉ (passe globale, mesurée : contraste WCAG ≥ 4,5:1 texte, ≥ 3:1 grands titres)
   ========================================================================== */
:root{ --terracotta-texte:#985030; }
.etiquette,.carte h2 span,.h2-tete .etiquette{color:var(--terracotta-texte)}
.etiquette--clair,.guide--pilier .etiquette{color:#E9C9B3}
.bouton--doux{background:#557560}
/* le vert « clair » des titres devient vert tendre sur fond sombre */
.gl-heros .vert,.guide--pilier .vert,.h2-fin .vert,.pied .vert,[class*="heros"][style*="background:#1"] .vert{color:#A9D1B6}

/* ---------------- carte de France (concue en V1 sur fond nuit : entierement reprise sur fond clair) */
.carte.carte--svg{background:#fff; color:var(--texte)}
.carte h2{display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin:0 0 .5rem}
.carte h2 span{font-family:var(--corps); font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase}
.carte-france{position:relative}
.cf-region path{fill:hsl(36, calc(24% + 18% * var(--i, 0)), calc(90% - 26% * var(--i, 0))); stroke:#fff; stroke-width:1.3}
.cf-region:hover path,.cf-region.actif path{fill:#A9C7B2; stroke:#fff; transform:scale(1.015)}
.cf-region--vide path{fill:#F3EEE6; stroke:#fff}
.cf-pastille circle{fill:#fff; stroke:var(--vert); stroke-width:1.6; filter:drop-shadow(0 2px 4px rgba(31,49,72,.18))}
.cf-pastille text{font-family:var(--corps); font-weight:700; font-size:12.5px; fill:var(--vert-fonce)}
.cf-pastille.actif circle{fill:var(--vert); stroke:#fff; stroke-width:2}
.cf-pastille.actif text{fill:#fff}
.cf-legende{position:absolute; left:.6rem; top:.6rem; bottom:auto; right:auto; max-width:min(260px,60%); background:#fff; border:1px solid var(--trait); border-radius:14px; padding:.6rem .9rem; box-shadow:0 10px 26px rgba(31,49,72,.12)}
.cf-legende b{display:block; font-family:var(--titres); font-size:1.08rem; font-weight:700; color:var(--marine); line-height:1.2}
.cf-legende span{display:block; font-family:var(--corps); font-size:.76rem; color:var(--vert-fonce); font-weight:600; margin-top:.15rem}
.cf-liste{gap:.4rem}
.cf-liste a{background:#fff; border:1px solid var(--trait); color:var(--marine); font-size:.78rem; font-weight:500; padding:.3rem .7rem}
.cf-liste a span{font-family:var(--corps); font-weight:700; color:var(--vert)}
.cf-liste a:hover,.cf-liste a.actif{background:var(--vert); border-color:var(--vert); color:#fff}
.cf-liste a:hover span,.cf-liste a.actif span{color:#fff}
/* accueil : carte compacte, la liste des regions reste dans la page (liens + noms pour la bulle) mais n'est affichee que sur mobile */
.carte--compacte .carte-france svg{max-height:330px}
@media (min-width:761px){
  .carte--compacte .cf-liste{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
}
@media (max-width:760px){
  .cf-legende{display:none !important}
  .carte--compacte .carte-france svg{max-height:260px}
}

/* ---------------- tuiles chiffres (fiche lot) : texte blanc sur vert */
.tuile-cle--vert{background:var(--vert) !important}
.tuile-cle--vert b,.tuile-cle--vert .tuile-cle-l,.tuile-cle--vert > small{color:#fff !important; opacity:1}
.tuile-cle--vert .tuile-cle-l{color:#D6E7DC !important}
.tuile-cle b{font-family:var(--titres); font-weight:700; font-size:1.75rem}

/* ---------------- jauge apport / banque (simulateur) */
.sim2-jauge{background:#EFE8DC}
.sim2-jauge i{background:linear-gradient(90deg,#B9D6C3,#A2C7AE)}
.sim2-jauge b{color:var(--marine); font-weight:700}

/* ---------------- guide « marché secondaire » : numeros des avantages */
.gl-av span{color:#C9A88F}
.gl-av--large span{color:#B9A08A}

/* ---------------- cartes de lots : texte sur photo toujours lisible */
.lot-photo .segment,.lot-photo .jeton{text-shadow:0 1px 3px rgba(0,0,0,.45)}
/* bandeau des 3 messages : slogan sur 2 lignes exactes */
.preuves3-slogan{max-width:none}
.preuves3-slogan em{white-space:nowrap; font-style:italic}

/* ---------------- pages segment : illustration a gauche du titre (V2.0.2) */
.pilier-heros--illustre .enveloppe{max-width:1180px}
.pilier-heros-grille{display:grid; grid-template-columns:minmax(220px,340px) 1fr; gap:2.6rem; align-items:center}
.pilier-heros:not(.pilier-heros--illustre) .pilier-heros-grille{display:block}
.pilier-illus{margin:0}
.pilier-illus img{width:100%; height:auto; display:block}
@media (max-width:900px){
  .pilier-heros-grille{grid-template-columns:150px 1fr; gap:1.2rem; align-items:start}
}
@media (max-width:600px){
  .pilier-heros-grille{display:block}
  .pilier-illus{width:min(200px,58%); margin:0 auto .4rem}
}

/* ---------------- fiche lot : « Les chiffres clés » — intitulé au-dessus, valeur alignée à gauche (V2.0.2) */
.chiffres-cles{padding:1.5rem 1.7rem 1.1rem}
.chiffres-cles h3{color:var(--vert); font-family:var(--corps)}
.cles{grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2.6rem}
.cles > div{display:block; padding:.85rem 0 .8rem; border-bottom:1px solid var(--trait)}
.cles dt{font-family:var(--corps); font-size:.66rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--texte-2); margin:0 0 .3rem; line-height:1.3}
.cles dd{text-align:left; font-size:.98rem; line-height:1.45; color:var(--marine); font-weight:500}
.cles dd b{font-weight:700}
.cles dd small{font-size:.8rem; line-height:1.45; margin-top:.25rem; color:var(--texte-2); font-weight:400; max-width:42em}
.cles-dpe{justify-content:flex-start}
@media (max-width:1080px){ .cles{grid-template-columns:1fr} }
@media (max-width:640px){ .chiffres-cles{padding:1.1rem 1rem .6rem} .cles > div{padding:.7rem 0} }

/* ---------------- formulaires et popins (V2.0.2) : palette V2, plus compacts, sans ascenseur */
.sec-form{--navy:#1F3148;--green:#2F5C45;--green-dark:#234634;--green-soft:#EEF3EC;--border:#DDD3C3;--ink:#2C3848;--muted:#5B6472;--r:12px}
.sec-form__eyebrow{color:var(--terracotta-texte)}
.sortie-boite .sec-form__lead,.sortie-boite #sortie-texte[hidden]{display:none !important}
.sortie-boite--form .sec-form__form{gap:9px 14px}
.sortie-boite--form .sec-form label{margin-bottom:3px}
.sortie-boite--form .sec-form textarea{height:52px}
.sortie-boite--form .sec-consent p{margin:0 0 6px; line-height:1.4}
.sec-form button[type=submit],.sec-submit button{border-radius:999px !important; font-family:var(--corps) !important; font-weight:600}
.sortie-fermer{width:40px; height:40px; border-radius:50%; background:#F2EADD; color:var(--marine); display:flex; align-items:center; justify-content:center; font-size:1.45rem; line-height:1; top:.8rem; right:.8rem; transition:background .15s}
.sortie-fermer:hover{background:#E8DCCA}
.sortie-fermer:focus{outline:none}
.sortie-fermer:focus-visible{outline:2px solid var(--vert); outline-offset:2px}
@media (max-height:800px) and (min-width:761px){
  .sortie-boite--form{padding-top:1.5rem; padding-bottom:1.2rem}
  .sortie-boite--form h2{font-size:1.55rem; margin-bottom:.5rem}
  .sortie-boite--form .sec-form__lot{padding:7px 10px; margin-bottom:8px}
  .sortie-boite--form .sec-form__lot img{width:58px; height:44px}
  .sortie-boite--form .sec-form__form{gap:7px 14px}
  .sortie-boite--form .sec-form textarea{height:44px}
}
@media (max-width:760px){
  .sortie{align-items:flex-end}
  .sortie-boite--form{border-radius:22px 22px 0 0; max-height:94dvh; padding:1.4rem 1.1rem 1rem}
  .sortie-boite--form h2{font-size:1.45rem; padding-right:2.6rem}
}
@media (max-width:760px){ .sortie{padding:.5rem .5rem 0} }
.sim2-jauge b,.sim2-jauge b:first-of-type,.sim2-jauge b:last-of-type{color:var(--marine) !important; text-shadow:none !important}
.gl-av span,.gl-av--large span{color:#B07A55}

/* ---------------- tableaux de contenu (pages legales, guides) : en fiches empilees sur telephone (V2.0.2) */
main table:not([class]){width:100%; border-collapse:collapse; font-size:.9rem; margin:1rem 0 1.4rem}
main table:not([class]) th{font-family:var(--corps); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--texte-2); text-align:left; padding:.6rem .7rem; border-bottom:2px solid var(--trait)}
main table:not([class]) td{padding:.7rem; border-bottom:1px solid var(--trait); vertical-align:top}
@media (max-width:760px){
  main table:not([class]),main table:not([class]) tbody,main table:not([class]) tr,main table:not([class]) td{display:block; width:100%}
  main table:not([class]) thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
  main table:not([class]) tr{background:#fff; border:1px solid var(--trait); border-radius:14px; padding:.55rem .9rem; margin:0 0 .7rem}
  main table:not([class]) td{border:0; padding:.35rem 0}
  main table:not([class]) td + td{border-top:1px dashed var(--trait)}
  main table:not([class]) td[data-label]::before{content:attr(data-label); display:block; font-size:.64rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--texte-2); margin-bottom:.1rem}
}
.pilier-illus img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:200px 200px 22px 22px; box-shadow:0 22px 44px rgba(31,49,72,.12)}
.pilier-illus img[src$=".svg"]{border-radius:0; box-shadow:none; object-fit:contain}

/* ---------------- simulateur : mise en page selon la place reellement disponible (V2.0.2)
   Dans la fiche lot (colonne a cote de la carte prix), le simulateur disposait de ~750 px et ses
   reglages de ~290 px : les boutons passaient a la ligne. Desormais, sous 900 px de large :
   reglages sur 2 colonnes en pleine largeur, resultat dessous. */
.sim2{container-type:inline-size; container-name:sim}
.sim2-pilules{gap:.4rem}
.sim2-pilules button{padding:.55rem .95rem; font-size:.86rem; white-space:nowrap}
@container sim (max-width:900px){
  .sim2-grille{grid-template-columns:1fr; gap:1.4rem}
  .sim2-resultat{position:static; padding:1.5rem 1.6rem}
  .sim2-tuiles{grid-template-columns:repeat(3,1fr)}
}
@container sim (min-width:520px) and (max-width:900px){
  .sim2-reglages{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem 2rem; align-items:start}
  .sim2-reglage--apport{grid-column:1; grid-row:1 / span 2}
  .sim2-reglages > .sim2-reglage:not(.sim2-reglage--apport){grid-column:2}
  .sim2-avance{grid-column:1 / -1}
  .sim2-pilules{flex-wrap:nowrap}
}
@container sim (min-width:520px) and (max-width:640px){
  .sim2-pilules button{padding:.5rem .62rem; font-size:.8rem}
}
@container sim (max-width:420px){
  .sim2-tuiles{grid-template-columns:1fr 1fr}
  .sim2-pilules{flex-wrap:nowrap; gap:.3rem}
  .sim2-pilules button{padding:.5rem .55rem; font-size:.8rem; flex:1 1 auto; min-width:0}
}

/* ---------------- passe mobile V2.0.2 */
/* bulle du chatbot : pastille ronde sur telephone (ne masque plus le texte), libelle sur ordinateur */
@media (max-width:760px){
  .chat-bulle{width:54px; height:54px; padding:0 !important; border-radius:50% !important; display:inline-flex; align-items:center; justify-content:center; right:.9rem !important; bottom:.9rem !important}
  .chat-bulle[hidden]{display:none !important}
  .chat-bulle-txt{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
  .chat-bulle-ico{font-size:1.45rem; line-height:1}
}
/* illustration des pages segment : bandeau horizontal sur telephone */
@media (max-width:600px){
  .pilier-illus{width:100%; margin:0 0 1rem}
  .pilier-illus img{aspect-ratio:16/7; border-radius:18px; object-position:center 62%; box-shadow:0 12px 26px rgba(31,49,72,.12)}
  .pilier-illus--tourisme img{object-position:center 70%}
}
/* filtres de liste : tous les champs a la meme hauteur, alignes en bas */
.filtres .enveloppe{align-items:flex-end}
.filtre select,.filtre .multi-bouton{height:46px; min-height:46px; box-sizing:border-box}
.filtre label{min-height:1.1em; line-height:1.1}
@media (max-width:760px){
  body:has(.cta-mobile) .chat-bulle{bottom:calc(80px + env(safe-area-inset-bottom, 0px)) !important}
  .cta-mobile{padding-bottom:calc(.6rem + env(safe-area-inset-bottom, 0px))}
}
/* curseurs : piste fine visible, mais zone tactile de 38 px (bordures transparentes) */
.sim2 input[type=range],.h2-sim-champ input[type=range]{box-sizing:content-box; border-top:14px solid transparent; border-bottom:14px solid transparent; background-clip:content-box; margin:-.4rem 0}
/* boutons « pilule » des formulaires : 40 px minimum au doigt */
.sec-form .sec-pill,.sec-form [role=radio],.sec-form .sec-choice button,.sec-form button:not([type=submit]){min-height:40px}
/* aucun texte sous 11,5 px sur telephone (etiquettes en capitales comprises) */
@media (max-width:480px){
  .champ label,.filtre label,.carte h2 span,.jeton,.lot-photo .segment,.tuile-cle-l,.cles dt,.chiffre b,.sim2 label,.sim2-bornes,.sim2-bornes span,figcaption,.ap-tri-etat,.etiquette,.h2-surtitre,.preuve3-txt span,.sec-form small,.sim2-aide,.h2-sim-note,.sim2-hero-lib,.coffre-docs small,.coffre-doc-txt small{font-size:max(.75rem,11.5px) !important}
}

/* ---------------- chatbot aux couleurs et typographies V2 (V2.0.3) */
.chat{font-family:var(--corps); border-radius:22px; overflow:hidden; box-shadow:0 26px 60px rgba(31,49,72,.22); border-color:var(--trait)}
.chat *{font-family:inherit}
.chat-tete{background:var(--marine); padding:1rem 1.2rem}
.chat-tete b{font-family:var(--titres) !important; font-size:1.3rem; font-weight:600; letter-spacing:0; line-height:1.15; color:#fff}
.chat-tete span{font-family:var(--corps); font-size:.74rem; color:#C9D2DD}
.chat-tete button{color:#C9D2DD; font-family:var(--corps)}
.chat-tete button:hover{color:#fff}
.chat-corps{background:var(--ivoire)}
.bulle{font-family:var(--corps); font-size:.9rem; line-height:1.55; color:var(--texte); border-radius:16px}
.bulle--bot{background:#fff; border-color:var(--trait)}
.bulle--moi{background:var(--vert); color:#fff}
.bulle b{color:var(--marine)} .bulle--moi b{color:#fff}
.chat-choix button{font-family:var(--corps); font-weight:600; font-size:.85rem; border-color:var(--vert); color:var(--vert); padding:.5rem .95rem}
.chat-choix button:hover{background:var(--vert); color:#fff}
.chat input,.chat select,.chat textarea{font-family:var(--corps)}

/* V2.0.3 : illustrations des rubriques — meme cadre que la photo de l'accueil (plus d'arche) */
.pilier-illus{position:relative; isolation:isolate}
.pilier-illus::before{content:none !important}
.pilier-illus img{border-radius:24px !important}
.pilier-illus:has(img[src$=".svg"])::before{display:none}
@media (max-width:900px){ .pilier-illus::before{inset:10px -10px -10px 10px} }
@media (max-width:600px){ .pilier-illus::before{display:none} .pilier-illus img{border-radius:18px !important} }

/* V2.0.3 : une ligne d'air sous le bouton d'envoi de TOUS les formulaires (popins, contact, chatbot) */
.sec-submit{margin-bottom:1.4rem !important}
.sec-submit button{margin-bottom:0 !important}
.sortie-boite--form{padding-bottom:1.8rem !important}
.sortie-boite--form .sec-form{padding-bottom:.4rem}
@media (max-width:760px){ .sortie-boite--form{padding-bottom:calc(1.6rem + env(safe-area-inset-bottom, 0px)) !important} }
@media (max-height:760px) and (min-width:761px){
  .sortie-boite--form{padding-top:1.2rem !important; padding-bottom:1.1rem !important}
  .sortie-boite--form h2{font-size:1.4rem; margin-bottom:.35rem}
  .sortie-boite--form .sec-form__form{gap:6px 14px}
  .sortie-boite--form .sec-form label{margin-bottom:2px; font-size:13px}
  .sortie-boite--form .sec-form input[type=text],.sortie-boite--form .sec-form input[type=email],.sortie-boite--form .sec-form input[type=tel]{height:38px}
  .sortie-boite--form .sec-form textarea{height:38px}
  .sortie-boite--form .sec-consent p,.sortie-boite--form .sec-consent label{font-size:11.5px; line-height:1.35; margin-bottom:4px}
  .sortie-boite--form .sec-submit{margin-bottom:.9rem !important}
}

/* V2.0.4 : titre de la fiche lot sur 2 lignes sur ordinateur, sans tiret (inchange sur mobile) */
@media (min-width:761px){
  .fiche-h1-l1,.fiche-h1-l2{display:block}
  .fiche-h1-sep{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
}
.multi-mot[hidden]{display:none !important}

/* V2.0.5 — 3. page resultats, mobile : « Afficher les X lots » sur une seule ligne, en pleine largeur */
@media (max-width:760px){
  .filtres-cta{grid-column:1 / -1; width:100%; white-space:nowrap; justify-content:center}
}
