/* Polices hébergées sur ce domaine : aucune requête vers un tiers.
   Outfit et Inter sous licence SIL Open Font License 1.1, IBM Plex Mono idem. */
@font-face{font-family:"Outfit";src:url("fonts/outfit-var.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter-var.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/plexmono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/plexmono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}


:root{color-scheme:light dark;
  --nuit:#101A2E; --nuit-2:#22304C; --blanc:#FFFFFF; --papier:#FFFFFF; --gris:#F4F7FB;
  --trait:#E2E8F1; --trait-2:#C6D0DF; --acier:#5A6579; --acier-2:#616C82;
  --rouge:#C0392B; --vert:#15704F; --ambre:#8E6000;
  --brand:#101A2E; --sur-nuit:#FFFFFF; --sur-brand:#FFFFFF; --ombre:0 1px 2px rgba(16,26,46,.05);
  --dp:"Outfit",system-ui,sans-serif; --tx:"Inter",system-ui,sans-serif; --mo:"IBM Plex Mono",monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html{overflow-x:clip}
img,svg,table{max-width:100%}
body{margin:0;background:var(--papier);color:var(--nuit);font-family:var(--tx);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--dp);margin:0;letter-spacing:-.022em;line-height:1.1;font-weight:700}
p{margin:0 0 13px}
a{color:var(--nuit)}
:focus-visible{outline:2px solid var(--nuit);outline-offset:2px}
.mo{font-family:var(--mo);font-variant-numeric:tabular-nums}
.sr,.skip{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;margin:0;padding:12px 18px;clip:auto;clip-path:none;background:var(--blanc);color:var(--nuit);border:2px solid var(--nuit);border-radius:5px;font-family:var(--dp);font-weight:600;font-size:14px;z-index:999;box-shadow:0 6px 20px rgba(16,26,46,.25)}

/* en-tête */
.tete{background:var(--blanc);border-bottom:1px solid var(--trait)}
.tete .wrap{display:flex;align-items:center;height:58px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{height:26px;width:auto;display:block}
.theme{margin-left:auto;background:none;border:1px solid var(--trait-2);border-radius:7px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--acier)}
.theme:hover{color:var(--nuit);border-color:var(--nuit)}
.theme svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.tete .bl{margin-left:auto;font-family:var(--tx);font-size:13px;color:var(--acier-2)}
@media(max-width:600px){.theme{margin-left:auto;background:none;border:1px solid var(--trait-2);border-radius:7px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--acier)}
.theme:hover{color:var(--nuit);border-color:var(--nuit)}
.theme svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.tete .bl{display:none}}

.hero{background:var(--blanc);border-bottom:1px solid var(--trait);padding:48px 0 44px}
.hero h1{font-size:clamp(32px,6vw,56px);font-weight:700;max-width:16ch;letter-spacing:-.035em;line-height:1.08}
.hero h1 b{border-bottom:3px solid var(--nuit);padding-bottom:1px}
.hero p{color:var(--acier);font-size:clamp(15px,2.1vw,17.5px);max-width:56ch;margin-top:16px;line-height:1.55}

/* onglets */
.tabs{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--trait)}
.tabs .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-top:9px;padding-bottom:9px}
.tabs .wrap::-webkit-scrollbar{display:none}
.tab{flex:none;border:1px solid transparent;background:none;font-family:var(--dp);font-size:14.5px;font-weight:500;color:var(--acier);padding:9px 15px;border-radius:100px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.tab:hover{color:var(--nuit);background:var(--gris)}
.tab[aria-selected=true]{color:var(--sur-nuit);background:var(--nuit);font-weight:600}

.pan{display:none;padding:38px 0 72px}
.pan.on{display:block}
.pt{max-width:62ch;margin-bottom:26px}
.pt .lab{font-family:var(--dp);font-weight:600;font-size:13px;color:var(--acier-2);margin-bottom:9px}
.pt h2{font-size:clamp(24px,4vw,33px)}
.pt p{color:var(--acier);margin:10px 0 0;font-size:15.5px;line-height:1.55}

/* blocs */
.bloc{background:var(--blanc);border:1px solid var(--trait);border-radius:6px;padding:22px}
.bloc+.bloc{margin-top:12px}
.gr{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:15px}
.ch label,.lb{display:block;font-family:var(--dp);font-size:13px;font-weight:600;margin-bottom:6px}
.ch .ai{display:block;font-weight:400;color:var(--acier);font-size:12px;margin-top:3px;line-height:1.35}
.in{display:flex;border:1px solid var(--trait-2);border-radius:9px;overflow:hidden;background:var(--blanc)}
.in:focus-within{border-color:var(--nuit)}
.in input{flex:1;min-width:0;border:0;padding:11px;font-family:var(--mo);font-size:16px;background:transparent;color:var(--nuit)}
.in input:focus{outline:none}
.in .sf{display:flex;align-items:center;padding:0 11px;font-family:var(--dp);font-size:12.5px;font-weight:500;color:var(--acier);background:var(--gris);border-left:1px solid var(--trait)}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.cur .hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.cur .vl{font-family:var(--dp);font-weight:700;font-size:25px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cur .bn{display:flex;justify-content:space-between;font-family:var(--dp);font-size:11.5px;color:var(--acier-2);margin-top:3px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;cursor:pointer;display:block}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--nuit) 0 var(--p,0%),var(--trait) var(--p,0%) 100%)}
input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--nuit) 0 var(--p,0%),var(--trait) var(--p,0%) 100%)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--nuit);border:3px solid var(--blanc);box-shadow:0 0 0 1px var(--trait-2);margin-top:-8px}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--nuit);border:3px solid var(--blanc)}

.pl{display:flex;flex-wrap:wrap;gap:6px}
.pl button{border:1px solid var(--trait-2);background:var(--blanc);border-radius:100px;padding:8px 13px;font-family:var(--dp);font-size:14px;font-weight:500;color:var(--nuit);cursor:pointer}
.pl button:hover{border-color:var(--acier-2)}
.pl button[aria-pressed=true]{background:var(--nuit);color:var(--sur-nuit);border-color:var(--nuit)}

.bt{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--nuit);background:var(--nuit);color:var(--sur-nuit);font-family:var(--dp);font-size:14.5px;font-weight:600;padding:11px 20px;border-radius:100px;cursor:pointer;text-decoration:none}
.bt:hover{background:var(--nuit-2);border-color:var(--nuit-2)}
.bt:active{transform:translateY(1px)}
.bt.cx:hover{background:var(--gris)}
.bt.cx:active{transform:translateY(1px)}
.bt.cx{background:transparent;color:var(--nuit);border-color:var(--trait-2)}
.bt.cx:hover{border-color:var(--nuit)}
.bt.sm{font-size:13px;padding:8px 15px}

/* questionnaire */
.qs{display:grid;gap:20px}
@media(min-width:760px){.qs{grid-template-columns:1fr 1fr;gap:22px 32px}}
.q .tt{font-family:var(--dp);font-size:13.5px;font-weight:600;margin-bottom:9px;display:flex;gap:8px;align-items:baseline}
.q .tt i{font-family:var(--tx);font-style:normal;font-weight:400;font-size:12px;color:var(--acier-2)}

.rsum{position:sticky;bottom:0;z-index:25;background:var(--brand);color:var(--sur-brand);padding:12px 18px;margin-top:16px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-radius:5px}
.rsum .n{font-family:var(--dp);font-weight:700;font-size:17px}
.rsum .inv{margin-left:auto;background:var(--sur-brand);color:var(--brand);border-color:var(--sur-brand)}
.rsum .inv:hover{background:var(--gris)}
.tri{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;color:var(--acier)}
.rsum .d{font-family:var(--tx);font-size:13px;color:rgba(255,255,255,.6)}

/* fiches modèles */
.fiche{background:var(--blanc);border:1px solid var(--trait);border-radius:6px;padding:20px;margin-bottom:10px}
.f-hd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.f-rg{font-family:var(--dp);font-weight:600;font-size:13px;color:var(--acier-2)}
.f-hd h3{font-size:19px}
.f-cout{margin-left:auto;text-align:right}
.f-cout b{font-family:var(--dp);font-size:21px;font-weight:700;display:block;line-height:1.1}
.f-cout i{font-family:var(--tx);font-size:12px;font-style:normal;color:var(--acier-2)}
.spec{font-family:var(--tx);font-size:13px;color:var(--acier);margin-top:9px;padding:8px 0;border-top:1px solid var(--gris);border-bottom:1px solid var(--gris);display:flex;flex-wrap:wrap;gap:2px 6px}
.spec span+span::before{content:"·";margin-right:6px;color:var(--trait-2)}
.f-bv,.f-vg{margin-top:9px;font-size:13.5px;color:var(--acier);padding-left:13px;border-left:2px solid var(--trait)}
.f-vg{border-left-color:var(--ambre);color:var(--nuit-2)}
.pv{font-size:12px;font-weight:600;padding:3px 9px 3px 8px;border-radius:100px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;line-height:1.4}
.pv::before{content:"";width:7px;height:7px;border-radius:50%;flex:none}
.pv-ok{background:#E7F3ED;color:#0F5C40}.pv-ok::before{background:#15704F}
.pv-w{background:#FBF0DC;color:#8A5E00}.pv-w::before{background:#C88A00}
.f-ok{margin-top:9px;font-size:13.5px;color:var(--acier);padding-left:13px;border-left:2px solid var(--vert)}
.f-ok b{font-family:var(--dp);font-size:12px;font-weight:600;color:var(--acier-2);display:block;margin-bottom:1px}
.f-bv b,.f-vg b{font-family:var(--dp);font-size:12px;font-weight:600;color:var(--acier-2);display:block;margin-bottom:1px}
.f-go{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.f-ln{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--gris);align-items:center}
.f-ln .lb0{font-family:var(--tx);font-size:12.5px;color:var(--acier-2);margin-right:4px}
.note{background:var(--blanc);border:1px solid var(--trait-2);border-left:3px solid var(--ambre);border-radius:0 5px 5px 0;padding:14px 16px;margin-bottom:12px;font-size:14px;color:var(--nuit-2)}
.note strong{font-family:var(--dp);font-size:15px;display:block;margin-bottom:3px}

/* instrument */
.instr{background:var(--brand);border-radius:6px;padding:24px;color:var(--sur-brand);display:grid;grid-template-columns:270px 1fr;gap:26px;align-items:center}
.cadran{width:100%;max-width:270px;margin:0 auto;display:block}
.lec{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lec .k{font-family:var(--tx);font-size:12.5px;color:rgba(255,255,255,.5)}
.lec .v{font-family:var(--dp);font-weight:700;font-size:clamp(23px,4vw,30px);margin-top:2px;font-variant-numeric:tabular-nums}
.lec .v small{font-size:13px;font-weight:500;color:rgba(255,255,255,.5)}
.cst{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;font-size:14px;color:rgba(255,255,255,.75)}
.cst b{color:var(--sur-brand);font-weight:600}
@media(max-width:800px){.instr{grid-template-columns:1fr;padding:20px}}

.brr{display:flex;height:10px;border-radius:2px;overflow:hidden;background:var(--gris)}
.brr i{transition:width .4s ease}
.lg{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px 18px;margin-top:13px;font-size:13px}
.lg span{display:flex;align-items:center;gap:7px;color:var(--acier)}
.lg b{color:var(--nuit);margin-left:auto;font-family:var(--mo);font-size:12.5px;font-weight:500}
.ps{width:9px;height:9px;border-radius:2px;flex:none}

details.rp{margin-top:12px;border:1px solid var(--trait);border-radius:6px;background:var(--blanc)}
details.rp>summary{cursor:pointer;padding:14px 20px;font-family:var(--dp);font-size:14px;font-weight:600;list-style:none;display:flex;gap:8px;align-items:center}
details.rp>summary::-webkit-details-marker{display:none}
details.rp>summary::before{content:"+";font-family:var(--mo);color:var(--acier)}
details.rp[open]>summary::before{content:"–"}
details.rp>summary span{font-family:var(--tx);font-weight:400;color:var(--acier);font-size:12.5px}
.rpc{padding:2px 20px 20px}

/* tableaux */
.tb{width:100%;border-collapse:collapse;font-size:14px}
.tb th{text-align:left;font-family:var(--dp);font-size:12.5px;color:var(--acier-2);font-weight:600;padding:0 10px 9px;border-bottom:1px solid var(--trait-2)}
.tb th:not(:first-child),.tb td:not(:first-child){text-align:right}
.tb td{padding:12px 10px;border-bottom:1px solid var(--gris);font-family:var(--mo);font-size:13.5px}
.tb td:first-child{font-family:var(--dp);font-weight:600}
.tb td .sub{display:block;font-family:var(--tx);font-size:12.5px;font-weight:400;color:var(--acier);margin-top:2px}
.tb tr.win td{background:var(--gris)}
.tb tr.win td:first-child::after{content:"le moins cher";font-family:var(--tx);font-size:12px;font-weight:500;color:var(--vert);margin-left:8px}
.scroll{overflow-x:auto}

/* énergie */
.nrjs{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px;margin-top:18px}
.nrj{background:var(--blanc);border:1px solid var(--trait);border-radius:6px;padding:17px}
.nrj.win{border-color:var(--nuit)}
.nrj h3{font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.bg{font-family:var(--tx);font-size:12px;font-weight:500;color:var(--vert)}
.nrj .px{font-family:var(--dp);font-weight:700;font-size:24px;margin:9px 0 2px}
.nrj .ss{font-size:12px;color:var(--acier);line-height:1.45}
.hyp{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px 24px}
.hl{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--acier)}
.hl b{color:var(--nuit);font-weight:600;min-width:70px}
.hl input{width:74px;margin-left:auto;border:1px solid var(--trait-2);border-radius:4px;padding:6px 8px;font-family:var(--mo);font-size:13px;color:var(--nuit)}
.hl input:focus{outline:none;border-color:var(--nuit)}

/* checklist */
.ocl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--blanc);border:1px solid var(--trait);border-radius:6px;padding:13px 16px;position:sticky;top:52px;z-index:30}
.pg{flex:1;min-width:150px}
.pg .t{font-family:var(--dp);font-size:12.5px;display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}
.pg .rl{height:4px;background:var(--gris);border-radius:2px;overflow:hidden}
.pg .j{height:100%;background:var(--nuit);width:0;transition:width .3s}
.grp{margin-top:20px;background:var(--blanc);border:1px solid var(--trait);border-radius:6px}
.grp>h3{font-size:15px;padding:13px 16px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--trait);margin:0}
.grp>h3 .qd{font-family:var(--tx);font-size:12.5px;font-weight:400;color:var(--acier-2)}
.grp>h3 .ct{margin-left:auto;font-family:var(--dp);font-size:12px;color:var(--acier)}
.grp>h3 .ct.ok{color:var(--vert);font-weight:600}
.it{display:flex;gap:11px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid var(--gris);cursor:pointer}
.it:last-child{border-bottom:0}
.it:hover{background:var(--papier)}
.it input{margin:2px 0 0;width:18px;height:18px;flex:none;accent-color:var(--nuit);cursor:pointer}
.it .tx{font-size:14.5px}
.it.bq .tx::after{content:"bloquant";font-size:12px;font-weight:500;color:var(--rouge);margin-left:8px;white-space:nowrap}
.it.ok .tx{color:var(--acier-2);text-decoration:line-through}
body.msq .it.ok{display:none}

/* pièges */
.pgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:10px}
.pge{background:var(--blanc);border:1px solid var(--trait);border-left:3px solid var(--rouge);border-radius:0 6px 6px 0;padding:16px 18px}
.pge h3{font-size:15.5px;margin-bottom:5px}
.pge p{font-size:14px;color:var(--nuit-2);margin:0}
.off{margin-top:20px;background:var(--brand);color:var(--sur-brand);border-radius:6px;padding:24px}
.off h3{font-size:18px;margin-bottom:14px}
.off ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 22px}
.off li{font-size:14px;color:rgba(255,255,255,.7)}
.off a{color:var(--sur-brand);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}

.gd{background:var(--blanc);border-top:1px solid var(--trait);padding:50px 0}
.gd h2{font-size:clamp(22px,3.8vw,29px);margin-bottom:20px}
.som{margin:0 0 34px;padding:16px 20px;background:var(--papier);border:1px solid var(--trait);border-radius:6px;font-family:var(--dp);font-size:14.5px}
.som b{display:block;font-weight:600;margin-bottom:7px}
.som a,.som .som-mq{color:var(--nuit);text-decoration:none;border-bottom:1px solid var(--trait-2);margin-right:16px;display:inline-block;margin-bottom:4px;cursor:pointer}
.som a:hover{border-color:var(--nuit)}
.art{max-width:70ch;margin-bottom:44px}
.art-in{font-size:16px;color:var(--acier);max-width:70ch;margin-bottom:18px}
.art-d{border:1px solid var(--trait);border-radius:6px;background:var(--blanc);margin-bottom:8px}
.art-d>summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:15px 18px}
.art-d>summary::-webkit-details-marker{display:none}
.art-d>summary::after{content:"+";margin-left:auto;font-family:var(--mo);font-size:19px;color:var(--acier);line-height:1}
.art-d[open]>summary::after{content:"\2013"}
.art-d>summary:hover{background:var(--papier)}
.art-d[open]>summary{border-bottom:1px solid var(--trait)}
.art-d>summary span{font-size:14px;color:var(--acier)}
.art-d>p{padding:0 18px;margin:14px 0}
.art h3{font-size:17px;margin:0;display:inline}
.art p{font-size:16px;line-height:1.7;color:var(--nuit-2)}
.art p strong{font-weight:600}
.art sup{font-size:.65em;vertical-align:super;line-height:0}
.cat-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.cat-bar input{flex:1;min-width:210px;border:1px solid var(--trait-2);border-radius:5px;padding:11px 13px;font-family:var(--tx);font-size:15px;color:var(--nuit);background:var(--blanc);-webkit-appearance:none}
.cat-bar input:focus{outline:none;border-color:var(--nuit)}
.cat-res{font-size:13.5px;color:var(--acier)}
.lex{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.lex>div{background:var(--blanc);border:1px solid var(--trait);border-radius:6px;padding:15px 17px}
.lex b{font-family:var(--dp);font-size:15.5px;display:block;margin-bottom:4px}
.lex p{font-size:14px;color:var(--nuit-2);margin:0;line-height:1.55}
.srcs{display:grid;gap:10px}
.src{border:1px solid var(--trait);border-left:3px solid var(--nuit);border-radius:0 6px 6px 0;background:var(--blanc);padding:16px 18px}
.src b{font-family:var(--dp);font-size:16px;display:block}
.src span{font-size:13px;color:var(--acier-2)}
.src p{font-size:14.5px;color:var(--nuit-2);margin:8px 0 8px}
.src a{font-size:13.5px;color:var(--nuit);font-weight:600}
.cl2{columns:2;column-gap:42px}
@media(max-width:760px){.cl2{columns:1}}
.fq{break-inside:avoid;margin-bottom:19px}
.fq h3{font-size:15.5px;margin-bottom:4px}
.fq p{font-size:14px;color:var(--nuit-2);margin:0}

/* ---- parcours annonce ---- */
.saisie{border-left:3px solid var(--nuit)}
.sect{font-size:19px;margin:30px 0 12px;padding-bottom:9px;border-bottom:1px solid var(--trait-2)}
.sect-p{font-size:14.5px;color:var(--acier);margin:-4px 0 14px}
.vide-a{background:var(--blanc);border:1px dashed var(--trait-2);border-radius:6px;padding:18px 20px;margin-top:12px;font-size:14.5px;color:var(--acier)}
.verdict{background:var(--blanc);border:1px solid var(--trait);border-left:4px solid var(--valide);border-radius:0 6px 6px 0;padding:20px 22px;margin-top:12px}
.verdict.v-w{border-left-color:var(--veille)}
.v-hd{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.v-hd h3{font-size:21px}
.v-spec{font-size:13.5px;color:var(--acier);margin:7px 0 0}
.v-tx{font-size:15.5px;color:var(--nuit-2);margin:13px 0 0;line-height:1.55}
.v-tx b{font-weight:600}
.v-bv{font-size:14.5px;color:var(--acier);margin:9px 0 0}
.v-bv b{color:var(--nuit);font-weight:600}
.v-fam{font-size:14px;color:var(--acier);margin:9px 0 0}
.lien-fam{border:0;background:none;padding:0;font:inherit;color:var(--nuit);font-weight:600;text-decoration:underline;cursor:pointer}
.v-ln{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px solid var(--gris)}
/* ---- familles ---- */
.fam{border:1px solid var(--trait);border-radius:6px;background:var(--blanc);margin-bottom:8px}
.fam>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:15px 18px}
.fam>summary::-webkit-details-marker{display:none}
.fam>summary::after{content:"+";margin-left:auto;font-family:var(--mo);font-size:19px;color:var(--acier);line-height:1}
.fam[open]>summary::after{content:"\2013"}
.fam>summary:hover{background:var(--papier)}
.fam[open]>summary{border-bottom:1px solid var(--trait)}
.fam>summary h3{font-size:17px;margin:0}
.fam-n{font-size:13px;color:var(--acier-2);white-space:nowrap}
.fam-c{padding:16px 18px}
.fam-s{font-size:13.5px;color:var(--acier-2);margin:0 0 12px}
.fam-dl{margin:0;display:grid;gap:9px}
.fam-dl dt{font-family:var(--dp);font-size:13px;font-weight:600;color:var(--acier-2)}
.fam-dl dd{margin:0 0 4px;font-size:15px;color:var(--nuit-2);line-height:1.55}
.fam-syn{font-size:13.5px;color:var(--acier);margin:12px 0 0;line-height:1.5}
.fam-syn b{font-family:var(--dp);font-size:12px;color:var(--acier-2);display:block;margin-bottom:2px}
.fam-src{font-size:13.5px;color:var(--acier);margin:12px 0 0}
.fam-l{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--gris);font-size:14px}
.fam-l b{display:block;font-family:var(--dp);font-size:13px;color:var(--acier-2);margin-bottom:7px}
.puce-m{border:1px solid var(--trait-2);background:var(--papier);border-radius:4px;padding:5px 10px;margin:0 5px 5px 0;font-family:var(--tx);font-size:13.5px;color:var(--nuit);cursor:pointer}
.puce-m:hover{background:var(--nuit);color:var(--sur-nuit);border-color:var(--nuit)}
.cat-note{font-size:14px;color:var(--acier);margin-top:16px;max-width:70ch}


/* ---- explorateur ---- */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.explo{background:var(--blanc);border:1px solid var(--trait);border-radius:6px;padding:16px 18px;margin-bottom:16px;position:sticky;top:52px;z-index:20}
.explo-q input{width:100%;border:1px solid var(--trait-2);border-radius:10px;padding:12px 52px 12px 14px;font-family:var(--tx);font-size:15px;color:var(--nuit);background:var(--blanc);-webkit-appearance:none}
.explo-q input:focus{outline:none;border-color:var(--nuit)}
.explo-f{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.explo-f select{border:1px solid var(--trait-2);border-radius:100px;padding:8px 11px;font-family:var(--tx);font-size:13.5px;color:var(--nuit);background:var(--blanc);cursor:pointer;max-width:100%}
.explo-f select:focus{outline:none;border-color:var(--nuit)}
.explo-n{margin:10px 0 0;font-size:13.5px;color:var(--acier)}
.explo-n #cCount{font-family:var(--dp);font-weight:600;color:var(--nuit)}
.explo-note{color:var(--acier-2)}
.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.mod{background:var(--blanc);border:1px solid var(--trait);border-radius:6px;padding:16px 18px;display:flex;flex-direction:column}
.mod[hidden]{display:none}
.mod-hd{display:flex;align-items:flex-start;gap:12px}
.sil{width:56px;height:23px;flex:none;color:var(--acier-2);margin-top:3px}
.mod-t{min-width:0;flex:1}
.mod-t h4{font-size:16.5px;margin:0}
.mod-s{font-size:13px;color:var(--acier-2);margin:2px 0 0}
.mod-hd .pv{margin-left:auto;flex:none}
.mod-k{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:13px 0 0;padding:11px 0 0;border-top:1px solid var(--gris)}
.mod-k li{font-size:11px;color:var(--acier-2);line-height:1.3}
.mod-k b{display:block;font-family:var(--dp);font-size:14px;color:var(--nuit);margin-bottom:1px}
.mod-d{margin-top:12px}
.mod-d>summary{cursor:pointer;list-style:none;font-family:var(--dp);font-size:12.5px;font-weight:600;color:var(--acier);padding:7px 0 0;border-top:1px solid var(--gris)}
.mod-d>summary::-webkit-details-marker{display:none}
.mod-d>summary::after{content:" +";font-family:var(--mo)}
.mod-d[open]>summary::after{content:" \2013"}
.mod-d>summary:hover{color:var(--nuit)}
.mod-v{font-size:14px;color:var(--nuit-2);margin:12px 0 0;padding-left:11px;border-left:2px solid var(--veille);line-height:1.5}
.mod-v.mod-ok{border-left-color:var(--valide)}
.mod-v b{display:block;font-family:var(--dp);font-size:12px;color:var(--acier-2);margin-bottom:2px}
.mod-bv{font-size:13.5px;color:var(--acier);margin:9px 0 0;line-height:1.45}
.mod-go{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:13px}
.cmp{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--acier);cursor:pointer}
.cmp input{width:17px;height:17px;accent-color:var(--nuit);cursor:pointer}
.cat-vide{background:var(--blanc);border:1px dashed var(--trait-2);border-radius:6px;padding:20px;text-align:center;color:var(--acier);font-size:14.5px}
.tray{position:sticky;bottom:0;z-index:25;background:var(--brand);color:var(--sur-brand);border-radius:6px;padding:12px 16px;margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tray[hidden]{display:none}
.tray-n{font-family:var(--dp);font-weight:600;font-size:14px}
.tray-l{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.tray-p{font-size:12.5px;background:rgba(255,255,255,.12);border-radius:4px;padding:4px 9px}
.tray .bt{background:var(--sur-brand);color:var(--brand);border-color:var(--sur-brand)}
.tray .bt.cx{background:transparent;color:var(--sur-brand);border-color:rgba(255,255,255,.4)}
.tray .bt:disabled{opacity:.45;cursor:not-allowed}
.cmp-t{font-size:17px;margin:22px 0 10px}
.cmp-tb td.c-w{color:var(--veille)}.cmp-tb td.c-ok{color:var(--valide)}
.cmp-tb td{font-family:var(--tx);font-size:13.5px;text-align:left;vertical-align:top}
.cmp-tb th{text-align:left}
@media(max-width:760px){.explo{position:static}.mods{grid-template-columns:1fr}.mod-k{grid-template-columns:repeat(2,1fr)}}


/* ---- densité 2026 : moins de bordures, plus de rythme ---- */
.hero{padding:40px 0 36px}
.hero h1{font-size:clamp(32px,6vw,56px);max-width:16ch;font-weight:700;letter-spacing:-.035em;line-height:1.08}
.pt{margin-bottom:20px}
.pt h2{font-size:clamp(21px,3.2vw,27px);letter-spacing:-.025em}
.sect-src{font-size:13px;color:var(--acier-2);margin:-6px 0 12px}
.sect{font-size:15px;font-family:var(--dp);font-weight:600;color:var(--nuit);text-transform:none;margin:34px 0 12px;padding:0 0 8px;border-bottom:1px solid var(--trait)}
.doc-t{font-size:15px;color:var(--acier);font-weight:600;padding-bottom:9px;border-bottom:1px solid var(--trait);margin-bottom:22px}
.doc-h{font-size:19px;margin:34px 0 14px}
.gd{padding:44px 0 50px}
.mods{gap:10px}
.mod{padding:15px 16px;border-radius:8px}
.mod-hd{align-items:center}
.mod-t h4{font-size:16px;letter-spacing:-.015em}
.mod-k{gap:4px;margin-top:12px;padding-top:10px}
.mod-go{padding-top:12px;margin-top:12px;border-top:1px solid var(--gris)}
.bloc{border-radius:8px}
.verdict{border-radius:8px}
.explo{border-radius:8px;padding:14px 16px}
.cat-stats{display:none}



/* ---- filtres actifs ---- */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chips[hidden]{display:none}
.chip{display:inline-flex;align-items:center;gap:7px;border:0;background:var(--nuit);color:var(--sur-nuit);border-radius:100px;padding:5px 8px 5px 12px;font-family:var(--tx);font-size:12.5px;font-weight:500;cursor:pointer}
.chip span{opacity:.6;font-size:14px;line-height:1}
.chip:hover span{opacity:1}
.explo-q{position:relative}
.explo-q::after{content:"/";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--mo);font-size:11px;color:var(--acier-2);border:1px solid var(--trait);border-radius:4px;padding:2px 7px;pointer-events:none}
@media(max-width:600px){.explo-q::after{display:none}.explo-q input{padding-right:14px}}


.doc-p{font-size:15px;color:var(--acier);max-width:70ch;margin-bottom:16px}
.form{max-width:720px;background:var(--blanc);border:1px solid var(--trait);border-radius:12px;padding:20px 22px}
.form-gr{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.form textarea,.form select{flex:1;min-width:0;border:0;padding:11px;font-family:var(--tx);font-size:15px;background:transparent;color:var(--nuit);resize:vertical}
.form textarea:focus,.form select:focus{outline:none}
.pot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.lex-2>div{background:var(--blanc)}

/* ---- thème sombre ---- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme=light]){
    --nuit:#EAF0F8; --nuit-2:#C2CDDD; --blanc:#141C2A; --papier:#080D16; --gris:#1A2331;
    --trait:#2A3547; --trait-2:#3A4759; --acier:#94A2B6; --acier-2:#7C8A9E;
    --brand:#111925; --sur-nuit:#101A2E; --sur-brand:#EAF0F8; --rouge:#E36A5C; --vert:#3FA37E; --ambre:#D9A22E;
    --ombre:0 1px 2px rgba(0,0,0,.4);
  }
  :root:not([data-theme=light]) .tabs{background:rgba(8,13,22,.82)}
  :root:not([data-theme=light]) .pv-ok{background:rgba(63,163,126,.18);color:#7FDCB6}
  :root:not([data-theme=light]) .pv-ok::before{background:#3FA37E}
  :root:not([data-theme=light]) .pv-w{background:rgba(217,162,46,.18);color:#F0CB78}
  :root:not([data-theme=light]) .pv-w::before{background:#D9A22E}
  :root:not([data-theme=light]) .logo img{filter:invert(1) brightness(1.6)}
  
}
html[data-theme=dark]{
  --nuit:#EAF0F8; --nuit-2:#C2CDDD; --blanc:#141C2A; --papier:#080D16; --gris:#1A2331;
  --trait:#2A3547; --trait-2:#3A4759; --acier:#94A2B6; --acier-2:#7C8A9E;
  --brand:#111925; --sur-nuit:#101A2E; --sur-brand:#EAF0F8; --rouge:#E36A5C; --vert:#3FA37E; --ambre:#D9A22E;
}
html[data-theme=dark] .tabs{background:rgba(8,13,22,.82)}
html[data-theme=dark] .pv-ok{background:rgba(63,163,126,.18);color:#7FDCB6}
html[data-theme=dark] .pv-ok::before{background:#3FA37E}
html[data-theme=dark] .pv-w{background:rgba(217,162,46,.18);color:#F0CB78}
html[data-theme=dark] .pv-w::before{background:#D9A22E}
html[data-theme=dark] .logo img{filter:invert(1) brightness(1.6)}

.pied{background:var(--brand);color:rgba(255,255,255,.5);padding:38px 0;font-size:13px}
.pied a{color:rgba(255,255,255,.85)}
.pied p{max-width:76ch;margin-bottom:13px}
.pied-l{margin-top:20px!important;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.pied-l a{color:var(--sur-brand);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.pied h2{color:var(--sur-brand);font-size:22px;margin-bottom:16px}
.sign{margin-top:30px!important;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--dp);font-size:13px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.58)}

.mob{display:none}
@media(max-width:760px){
  .tabs{display:none}
  .mob{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--blanc);border-top:1px solid var(--trait);padding-bottom:env(safe-area-inset-bottom)}
  .mob button{flex:1;border:0;background:none;padding:8px 1px 9px;font-family:var(--dp);font-size:10px;font-weight:500;color:var(--acier);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.1}
  .mob button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mob button[aria-selected=true]{color:var(--nuit);font-weight:600}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .ocl{top:6px}
  .rsum{bottom:calc(66px + env(safe-area-inset-bottom))}
  .pan{padding:26px 0 34px}
  .hero{padding:28px 0 26px}
  .f-cout{margin-left:0;text-align:left;width:100%;display:flex;align-items:baseline;gap:7px;margin-top:2px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .tete,.hero,.tabs,.mob,.gd,.pied,.ocl,.pt p,.pt .lab,.pan:not(#p-signer),.pgs,.off,#p-signer .sect{display:none!important}
  body{background:#fff;padding:0}
  .pan{display:block!important;padding:0}
  .grp{border:0}.grp>h3{padding:7px 0}.it{padding:5px 0;break-inside:avoid}
  .it.ok .tx{text-decoration:none;color:#000}
  .imp{display:block!important}
}
.imp{display:none}
@media print{
  .imp{display:block!important;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #000;font-family:var(--dp)}
  .imp b{display:block;font-size:16px;font-weight:700;margin-bottom:8px}
  .imp span{display:inline-block;font-size:11.5px;font-weight:400;margin:0 26px 4px 0}
  .grp{break-inside:auto}
  .grp>h3{break-after:avoid;font-size:13px}
  .it{break-inside:avoid;font-size:11.5px}
  .it input{-webkit-appearance:none;appearance:none;width:12px;height:12px;border:1.2px solid #000;border-radius:2px;margin-top:1px}
  .it.bq .tx::after{color:#000;font-weight:700}
  @page{margin:14mm 12mm}
}

/* ---- pages documentaires ---- */
.page-doc{background:var(--blanc)}
.doc{max-width:74ch;padding-top:44px;padding-bottom:70px}
.fil{font-size:13.5px;color:var(--acier);margin-bottom:22px}
.fil a{color:var(--acier)}
.doc h1{font-size:clamp(30px,5vw,44px);letter-spacing:-.03em;margin-bottom:10px}
.doc-chapo{font-size:14px;color:var(--acier-2);margin-bottom:34px}
.doc h2{font-size:20px;margin:34px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--trait)}
.doc p{font-size:16px;line-height:1.7;color:var(--nuit-2);margin-bottom:14px}
.doc a{color:var(--nuit)}

/* ---- diagnostic de l'annonce ---- */
.diag{margin-top:12px;border:1px solid var(--trait);border-radius:10px;background:var(--blanc);overflow:hidden}
.diag-hd{padding:14px 18px;border-bottom:1px solid var(--trait);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.diag-hd b{font-family:var(--dp);font-size:17px}
.diag-hd span{font-size:13px;color:var(--acier)}
.d-ok{background:rgba(21,112,79,.08)}.d-ok b{color:var(--vert)}
.d-att{background:rgba(176,120,0,.09)}.d-att b{color:var(--ambre)}
.d-alerte{background:rgba(192,57,43,.09)}.d-alerte b{color:var(--rouge)}
.diag-l{padding:14px 18px;border-bottom:1px solid var(--gris);display:flex;flex-direction:column;gap:3px;position:relative;padding-left:34px}
.diag-l:last-of-type{border-bottom:0}
.diag-l::before{content:"";position:absolute;left:18px;top:19px;width:8px;height:8px;border-radius:50%}
.l-ok::before{background:var(--vert)}
.l-neutre::before{background:var(--acier-2)}
.l-attention::before{background:var(--ambre)}
.l-alerte::before{background:var(--rouge)}
.diag-l b{font-family:var(--dp);font-size:15px}
.diag-l p{margin:0;font-size:14.5px;color:var(--nuit-2);line-height:1.55}
.diag-n{margin:0;padding:12px 18px;font-size:13px;color:var(--acier-2);border-top:1px solid var(--trait);background:var(--gris)}
