/* Devis diagnostics : charte RE2020 Expert / annuaire des diagnostiqueurs */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(plus-jakarta-sans-latin.woff2) format('woff2')}
:root{--navy:#052e64;--navy-2:#0d3f7e;--ink:#0f1f38;--muted:#5a6b84;--cyan:#0cc0df;--cyan-2:#1a8db3;--cyan-soft:#e3f7fb;
  --leaf:#39b54a;--leaf-2:#2b8a3a;--leaf-soft:#e8f6ea;--orange:#f08a24;--orange-soft:#fff3e4;--red:#e2463b;--red-soft:#fde8e6;
  --bg:#f3f6fb;--card:#fff;--line:#e2e8f1;--shadow:0 10px 30px -12px rgba(5,46,100,.25);--r:18px;--r-sm:12px;
  --font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--cyan-2)}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
svg.i{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* en-tête */
.hdr{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hdr .wrap{display:flex;align-items:center;gap:14px;height:64px}
.hdr img{height:40px;width:auto}
.hdr .titre{font-weight:800;color:var(--navy);font-size:15px;border-left:1px solid var(--line);padding-left:14px}
.hdr .aide{margin-left:auto;font-size:14px;font-weight:700;color:var(--navy);text-decoration:none;display:flex;gap:6px;align-items:center}

/* bandeau */
.hero{background:linear-gradient(135deg,#052e64 0%,#0d3f7e 60%,#1a5a9e 100%);color:#fff;padding:30px 0 70px}
.hero h1{margin:0;font-size:clamp(25px,3.6vw,38px);line-height:1.15;font-weight:800}
.hero p{margin:10px 0 0;max-width:720px;color:#d6e6fb;font-size:16.5px}
.pastilles{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pastilles span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700}
.pastilles .gratuit{background:var(--leaf);border-color:var(--leaf)}

/* zone principale */
.zone{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);gap:18px;margin-top:-48px;align-items:start;padding-bottom:40px}
.carte{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.etape{padding:22px}
.progression{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.barre{flex:1;height:8px;background:#eaf0f7;border-radius:99px;overflow:hidden}
.barre i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--cyan-2));border-radius:99px;transition:width .3s}
.progression small{font-weight:800;color:var(--muted);white-space:nowrap}
.question h2{margin:0 0 4px;font-size:clamp(19px,2.4vw,24px);color:var(--navy)}
.question .aide-q{margin:0 0 14px;color:var(--muted);font-size:14.5px}
.choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px}
.choix button{display:flex;gap:12px;align-items:flex-start;text-align:left;background:#fbfdff;border:1.5px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;transition:border-color .15s,background .15s}
.choix button:hover{border-color:var(--cyan)}
.choix button.on{border-color:var(--cyan-2);background:var(--cyan-soft)}
.choix button b{display:block;color:var(--navy);font-size:15.5px}
.choix button small{display:block;color:var(--muted);font-size:13px;line-height:1.35;margin-top:2px}
.choix button .ic{width:38px;height:38px;border-radius:10px;background:#eef6fb;color:var(--navy);display:grid;place-items:center;flex:none}
.choix button.nsp{background:#fff;border-style:dashed}
.champ{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.champ label{font-weight:700;font-size:14px;color:var(--navy)}
.champ input,.champ select,.champ textarea{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:#fbfdff;font-size:16px;width:100%}
.suggestions{list-style:none;margin:4px 0 0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.suggestions li{padding:10px 14px;cursor:pointer;border-top:1px solid var(--line);font-size:15px}
.suggestions li:first-child{border-top:0}
.suggestions li:hover,.suggestions li.on{background:var(--cyan-soft)}
.nav-etape{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:18px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:13px 20px;font-weight:800;cursor:pointer;background:linear-gradient(180deg,var(--cyan),var(--cyan-2));color:#fff;text-decoration:none;font-size:15.5px}
.btn.clair{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn:disabled{opacity:.45;cursor:default}
.lien{background:none;border:0;color:var(--muted);font-weight:700;cursor:pointer;text-decoration:underline;padding:6px}
.info{border-radius:12px;padding:12px 14px;font-size:14.5px;margin:12px 0}
.info.bleu{background:var(--cyan-soft);color:#0b4a63}
.info.vert{background:var(--leaf-soft);color:#1e5c27}
.info.orange{background:var(--orange-soft);color:#7a4a08}

/* panneau « votre dossier » */
.panneau{padding:18px;position:sticky;top:80px}
.panneau h3{margin:0 0 10px;font-size:16px;color:var(--navy)}
.panneau .vide{color:var(--muted);font-size:14px}
.resume{list-style:none;margin:0 0 12px;padding:0;font-size:13.5px}
.resume li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding:5px 0}
.resume li span{color:var(--muted)}
.resume li b{color:var(--navy);text-align:right}
.liste-diag{list-style:none;margin:0;padding:0}
.liste-diag li{display:flex;gap:8px;align-items:flex-start;padding:6px 0;font-size:14.5px;font-weight:700;color:var(--navy)}
.liste-diag li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;background:var(--leaf);color:#fff;font-size:12px;display:grid;place-items:center;margin-top:1px}
.liste-diag li.peut::before{content:"?";background:var(--orange)}
.prix-live{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:baseline}
.prix-live b{font-size:24px;color:var(--navy)}
.prix-live small{color:var(--muted)}

/* résultat */
.resultat h2{color:var(--navy);margin:0 0 6px}
.bloc-diag{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:10px 0;background:#fff}
.bloc-diag .tete{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.bloc-diag h3{margin:0;font-size:16.5px;color:var(--navy)}
.etiquette{font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px}
.etiquette.oblig{background:var(--leaf-soft);color:var(--leaf-2)}
.etiquette.peut{background:var(--orange-soft);color:#9a5a0a}
.etiquette.conseil{background:var(--cyan-soft);color:#0b5c78}
.bloc-diag p{margin:6px 0 0;font-size:14.5px;color:#33445f}
.bloc-diag .validite{font-size:13px;color:var(--muted)}
.bloc-diag .source{font-size:12px;color:var(--muted)}
.devis{border:2px solid var(--cyan);border-radius:16px;padding:16px;margin:18px 0;background:#fbfeff}
.devis table{width:100%;border-collapse:collapse;font-size:14.5px}
.devis td{padding:6px 4px;border-bottom:1px solid var(--line)}
.devis td:last-child{text-align:right;font-weight:800;white-space:nowrap}
.devis .total td{font-size:18px;color:var(--navy);border-bottom:0}
.devis .paiement{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.devis .paiement div{border-radius:12px;padding:10px 12px;background:var(--cyan-soft)}
.devis .paiement div:last-child{background:#f1f4f9}
.devis .paiement b{display:block;font-size:20px;color:var(--navy)}
.devis .paiement small{color:var(--muted);font-size:12.5px}
details.non-requis{margin-top:10px}
details.non-requis summary{cursor:pointer;font-weight:700;color:var(--muted)}
.contact-bas{margin-top:14px;font-size:14px;color:var(--muted)}

@media(max-width:900px){
  .zone{grid-template-columns:1fr}
  .panneau{position:static}
}
@media(max-width:560px){
  .hdr .titre{display:none}
  .devis .paiement{grid-template-columns:1fr}
  .etape{padding:16px}
}
.sous-titre{margin:20px 0 4px;font-size:17px;color:var(--navy)}
.modif{background:none;border:0;color:var(--cyan-2);font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer;padding:0 0 0 4px}
.accord{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#33445f;margin:12px 0;cursor:pointer}.accord input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--cyan-2)}

/* ---- version finale ---- */
.evitement{position:absolute;left:-9999px;top:0;background:#fff;padding:8px 12px;z-index:50}.evitement:focus{left:8px}
.hdr .brand img{height:40px;width:auto;display:block}
.hdr .nav{display:flex;gap:18px;margin-left:24px}
.hdr .nav a{color:var(--navy);font-weight:700;font-size:14.5px;text-decoration:none}
.hdr .nav a:hover{color:var(--cyan-2)}
.hdr .tel{margin-left:auto;display:flex;gap:6px;align-items:center;color:var(--navy);font-weight:800;text-decoration:none;font-size:14.5px}
.hero .fil{margin:0 0 8px;font-size:13px;color:#b9cfee}.hero .fil a{color:#d6e6fb}
.question h2:focus{outline:none}
.nav-etape.bas{margin-top:14px}
.btn.grand{padding:15px 24px;font-size:16.5px}
.devis h3{margin:0 0 8px;color:var(--navy)}
.note{font-size:13.5px;color:var(--muted);margin:10px 0 0}
.prudence{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:16px}
.ajouts{background:#f6fafe;border:1px dashed var(--line);border-radius:14px;padding:12px 14px;margin:14px 0}
.ajouts .accord{margin:8px 0 0}
.liste-diag li.ajout::before{content:"+";background:var(--cyan-2)}
.surface{display:flex;gap:12px;align-items:center}.surface input[type=range]{flex:1;padding:0;border:0;background:none}
.surface input[type=number]{width:110px;flex:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.choix button:focus-visible,.btn:focus-visible,.lien:focus-visible,.modif:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.pro-bandeau .carte{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 20px;flex-wrap:wrap;margin-bottom:28px}
.pro-bandeau b{color:var(--navy)}
.pied{background:var(--navy);color:#cfe0f7;font-size:13.5px;padding:22px 0}
.pied a{color:#fff}.pied p{margin:6px 0}
@media(max-width:900px){.hdr .nav{display:none}}
@media(max-width:560px){.hdr .tel span{display:none}.surface input[type=number]{width:90px}.btn.grand{width:100%;justify-content:center}}

/* ---- version gratuite : résultat + carte (11 nov. 2026) ---- */
.zone.fin{grid-template-columns:1fr}
.zone.fin .panneau{display:none}
.pastilles-diag{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px;padding:0}
.pastilles-diag li{background:var(--leaf-soft);color:var(--leaf-2);font-weight:800;font-size:14px;border-radius:999px;padding:6px 12px}
.pastilles-diag li.peut{background:var(--orange-soft);color:#9a5a0a}
details.pourquoi{margin:10px 0 0;border:1px solid var(--line);border-radius:14px;padding:10px 14px;background:#fbfdff}
details.pourquoi summary{cursor:pointer;font-weight:800;color:var(--navy)}
.trouver{margin-top:22px;border-top:2px solid var(--line);padding-top:18px}
.trouver>h2{margin:0 0 6px;color:var(--navy);font-size:clamp(19px,2.4vw,24px)}
.mentions{background:#f6f9fd;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:13px;color:#33445f;margin:10px 0 14px}
.mentions b{color:var(--navy)}.mentions ul{margin:6px 0 0;padding-left:18px}.mentions li{margin:3px 0}
.filtre{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.filtre button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;color:var(--navy);cursor:pointer}
.filtre button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.carte-diag{height:420px;border-radius:14px;border:1px solid var(--line);overflow:hidden;z-index:1}
.compte{font-weight:800;color:var(--muted);font-size:14px;margin:14px 0 6px}
.pro{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:8px 0;background:#fff;transition:box-shadow .2s}
.pro.vise{box-shadow:0 0 0 3px var(--cyan)}
.pro-tete{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.pro-tete b{color:var(--navy);font-size:15.5px}
.pro .dist{font-weight:800;color:var(--cyan-2);white-space:nowrap;font-size:14px}
.pro small{color:var(--muted);font-size:13px}
.certs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.certs span{font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 9px}
.certs .a{background:var(--leaf-soft);color:var(--leaf-2)}.certs .x{background:var(--red-soft);color:#a3271e}
.pro-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn.petit{padding:9px 14px;font-size:14px}
.verif{font-size:13px;font-weight:700;color:var(--muted)}
.btn.plus{margin:10px 0;width:100%;justify-content:center}
@media(max-width:560px){.carte-diag{height:300px}.pro-actions .btn{width:100%;justify-content:center}}
details.mentions summary{cursor:pointer;list-style:none}details.mentions summary::-webkit-details-marker{display:none}
details.mentions summary span{color:var(--cyan-2);font-weight:700;text-decoration:underline;white-space:nowrap}
details.mentions[open] summary span{display:none}
.zone>*{min-width:0}.carte-diag{width:100%;max-width:100%}

/* épingles de la carte (11 nov., demande de Samir : un joli style, pas un champ de points verts) */
.pin{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#0d3f7e,#052e64);border:2.5px solid #fff;box-shadow:0 4px 10px rgba(5,46,100,.35);display:grid;place-items:center}
.pin b{transform:rotate(45deg);color:#fff;font:800 13px/1 var(--font)}
.pin.top{background:linear-gradient(135deg,var(--cyan),var(--cyan-2))}
.pin.partiel{background:#fff;border-color:var(--orange)}.pin.partiel b{color:#9a5a0a}
.point{width:14px;height:14px;border-radius:50%;background:var(--navy);border:2px solid #fff;box-shadow:0 2px 5px rgba(5,46,100,.35);opacity:.8}
.point.partiel{background:#fff;border-color:var(--orange)}
.grappe-pin{border-radius:50%;background:rgba(12,192,223,.22);display:grid;place-items:center}
.grappe-pin span{width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 13px/1 var(--font);box-shadow:0 3px 8px rgba(5,46,100,.35)}
.ici{position:relative;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.ici span{background:var(--orange);color:#fff;font:800 12px/1 var(--font);padding:6px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.28)}
.ici i{width:12px;height:12px;border-radius:50%;background:var(--orange);border:3px solid #fff;margin-top:3px;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.pro .num{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:12.5px;margin-right:8px;vertical-align:1px}
.pro .num.partiel{background:#fff;color:#9a5a0a;border:2px solid var(--orange)}
.leaflet-popup-content{font-family:var(--font);font-size:13.5px}.pop-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font-size:11.5px}

/* diagnostiqueurs connectés (11 nov., démonstration) */
.cx-zone{border:2px solid var(--cyan);background:linear-gradient(180deg,#effbfd,#fff);border-radius:16px;padding:12px 14px;margin:14px 0}
.cx-zone h3{margin:0;color:var(--navy);font-size:16.5px;display:flex;gap:8px;align-items:center}
.cx-zone>p{margin:4px 0 8px;font-size:13.5px;color:var(--muted)}
.cx-zone h3 svg.i,.cx-pastille svg.i{width:18px;height:18px}
.pro.connecte{border:1.5px solid var(--cyan-2);box-shadow:0 8px 22px -12px rgba(12,140,180,.45)}
.cx-bandeau{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:-2px 0 6px}
.cx-pastille{position:relative;display:inline-flex;gap:7px;align-items:center;background:var(--leaf-soft);color:var(--leaf-2);font-weight:800;font-size:12.5px;border-radius:999px;padding:5px 12px 5px 10px;cursor:help;isolation:isolate}
.cx-pastille::before{content:"";position:absolute;inset:-2px;border-radius:999px;padding:2px;background:conic-gradient(from var(--a,0deg),var(--leaf) 0 25%,rgba(57,181,74,.15) 45% 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:cx-tour 3.2s linear infinite;z-index:-1}
.cx-pouls{width:9px;height:9px;border-radius:50%;background:var(--leaf);box-shadow:0 0 0 0 rgba(57,181,74,.55);animation:cx-respire 2.4s ease-in-out infinite}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes cx-tour{to{--a:360deg}}
@keyframes cx-respire{0%,100%{box-shadow:0 0 0 0 rgba(57,181,74,.5);transform:scale(1)}50%{box-shadow:0 0 0 6px rgba(57,181,74,0);transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){.cx-pastille::before,.cx-pouls{animation:none}}
.cx-demo{font-size:12px;font-weight:700;color:#9a5a0a;background:var(--orange-soft);border-radius:999px;padding:3px 9px}
.cx-infos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px;margin:4px 0 10px}
.cx-prix{background:var(--cyan-soft);border-radius:12px;padding:10px 12px}
.cx-prix small{display:block;color:#0b4a63;font-size:12.5px;font-weight:700}
.cx-prix>b{display:block;font-size:22px;color:var(--navy);margin-top:2px}
.cx-prix details{margin-top:4px;font-size:13px}.cx-prix summary{cursor:pointer;color:var(--cyan-2);font-weight:700}
.cx-prix ul{list-style:none;margin:6px 0 0;padding:0}.cx-prix li{display:flex;justify-content:space-between;border-top:1px dashed #bfe6ef;padding:3px 0}
.cx-faits{list-style:none;margin:0;padding:0;font-size:13.5px;color:#33445f}
.cx-faits li{padding:3px 0 3px 22px;position:relative}
.cx-faits li::before{content:"✓";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--cyan-2);color:#fff;font-size:10px;display:grid;place-items:center}
.cx-maj{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted)}
.pin.cx{width:34px;height:34px;background:linear-gradient(135deg,var(--cyan),var(--cyan-2));border-width:3px}
.pin.cx svg.i{transform:rotate(45deg);width:17px;height:17px;stroke:#fff}
@media(max-width:560px){.cx-infos{grid-template-columns:1fr}}

/* étape surface : nombre de logements */
.champ .lab{font-weight:700;font-size:14px;color:var(--navy)}
.compteur-n{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.compteur-n button{width:42px;height:42px;border-radius:12px;border:1.5px solid var(--line);background:#fbfdff;font-size:22px;font-weight:800;color:var(--navy);cursor:pointer}
.compteur-n output{min-width:34px;text-align:center;font-size:20px;font-weight:800;color:var(--navy)}
.compteur-n small{flex-basis:100%;color:var(--muted);font-size:13px}
.cx-prix details p{margin:6px 0 0;font-size:12px;color:var(--muted)}

/* épingle « connecté » : point vert fluo qui clignote doucement (Samir 11 nov.) ; les autres restent bleus */
.cx-point{position:relative;width:22px;height:22px}
.cx-point i{position:absolute;inset:3px;border-radius:50%;background:#39ff6a;border:2.5px solid #fff;box-shadow:0 0 0 1px rgba(20,120,40,.45),0 0 12px 3px rgba(57,255,106,.75)}
.cx-point::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(57,255,106,.45);animation:cx-clignote 1.8s ease-out infinite}
@keyframes cx-clignote{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2.1);opacity:0}}
@media (prefers-reduced-motion:reduce){.cx-point::before{animation:none}}
/* connectés sur la carte (Samir 11 nov., v2) : même épingle numérotée, en vert ; groupe vert s'il contient un connecté */
.pin.vert{background:linear-gradient(135deg,#d9fbe0,#a8efb6);border:2.5px solid #1e7a2e;animation:cx-pin 2s ease-in-out infinite}
.pin.vert b{color:#145a22}
.grappe-pin.vert{background:rgba(57,181,74,.28);animation:cx-pin 2s ease-in-out infinite}
.grappe-pin.vert span{background:linear-gradient(135deg,#d9fbe0,#a8efb6);color:#145a22;border:2.5px solid #1e7a2e}
@keyframes cx-pin{0%,100%{box-shadow:0 4px 10px rgba(5,46,100,.3),0 0 0 0 rgba(57,181,74,.55)}50%{box-shadow:0 4px 10px rgba(5,46,100,.3),0 0 0 7px rgba(57,181,74,0)}}
.pro .num.vert{background:#d9fbe0;color:#145a22;border:2px solid #1e7a2e}
.pop-n.vert{background:#d9fbe0;color:#145a22;border:1.5px solid #1e7a2e}
@media (prefers-reduced-motion:reduce){.pin.vert,.grappe-pin.vert{animation:none}}

/* ---- pages « situation » et contenu de la page principale (11 nov.) ---- */
.hero.court{padding-bottom:56px}
.texte{max-width:920px;padding-bottom:30px}
.texte>h2,.texte section>h2{color:var(--navy);font-size:clamp(19px,2.4vw,23px);margin:28px 0 10px}
.texte p,.texte li{font-size:15.5px;color:#26364f}
main.texte{margin-top:-36px}
.reponse{padding:18px 20px;position:relative}
.reponse h2{margin:0 0 6px;color:var(--navy);font-size:18px}
.reponse p{margin:0 0 12px}
.aide-btn{font-size:13px!important;color:var(--muted)!important;margin:8px 0 0!important}
#contenu.texte{margin-top:28px}
.defile{overflow-x:auto}
.tab-diag{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:14.5px}
.tab-diag th{background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-size:13.5px}
.tab-diag td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top;color:#26364f}
.tab-diag tr:nth-child(even) td{background:#f8fbfe}
.tab-diag td b{color:var(--navy)}
.note-tab{font-size:13.5px!important;color:var(--muted)!important;margin:8px 0 0}
.officiel{background:#eaf4fd;border-left:4px solid var(--cyan-2);border-radius:12px;padding:14px 16px;margin:22px 0}
.officiel>b{color:var(--navy);font-size:14px;text-transform:uppercase;letter-spacing:.03em}
.officiel blockquote{margin:8px 0;font-size:15.5px;color:#0d3f7e;font-style:italic}
.officiel p{margin:8px 0}
.officiel cite{font-size:13px;color:var(--muted);font-style:normal}
.etapes-v{padding-left:20px}.etapes-v li{margin:6px 0}
.faq details{border:1px solid var(--line);border-radius:12px;background:#fff;margin:8px 0;padding:0 14px}
.faq summary{cursor:pointer;font-weight:800;color:var(--navy);padding:12px 0;font-size:15px}
.faq details p{margin:0 0 12px}
.loin{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin:22px 0}
.loin h3{margin:0 0 6px;color:var(--navy);font-size:16px}.loin ul{margin:0;padding-left:18px}
.sit-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:8px}
.sit-grille a{display:flex;align-items:center;min-height:48px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:800;color:var(--navy);text-decoration:none;font-size:14.5px}
.sit-grille a:hover{border-color:var(--cyan)}
.situations h2{color:var(--navy);font-size:19px;margin:26px 0 10px}
.sources{margin-top:26px}.sources h2{font-size:17px!important}
.sources ol{padding-left:20px}.sources li{font-size:13.5px!important;margin:4px 0}
.sources .maj{font-size:13px!important;color:var(--muted)!important}
@media(max-width:640px){
  .tab-diag thead{display:none}
  .tab-diag,.tab-diag tbody,.tab-diag tr,.tab-diag td{display:block;width:100%}
  .tab-diag tr{border-top:1px solid var(--line);padding:6px 0}
  .tab-diag td{border:0;padding:3px 12px}
  .tab-diag td::before{content:attr(data-label) " : ";font-weight:700;color:var(--muted);font-size:12.5px}
  .tab-diag td:first-child::before{content:none}
  .reponse .btn.grand{width:100%;justify-content:center;text-align:center}
}
