/* au-cabinet.fr — pages « Alcool » et « Tabac » pour le médecin généraliste : cas particuliers, sur le
   gabarit commun « façon MDPH » (/_commun/gabarit-mdph.css : bandeau, onglets, carte d'ouverture, trois
   colonnes, panneau de résultat, encadrés). Ici seulement les blocs propres au guide : fiches à plan fixe,
   cases, tableaux filtrables, calculateurs « gagner des points » (/_commun/points.js). Tailles en rem, sur
   l'échelle commune (--fs-*) de /_commun/charte.css. Même fichier dans alcool/guide/ et tabac/guide/. */
:root{--enc:#1B2B38;--enc2:#3A4A56;--enc3:#4A5A66;--pap:#F5F1E6;--pap2:#EDE7D8;--sur:#FFFDF7;--fil:#D3C9B3;
  --rub:#D09A8A;--rub-t:#8E4A3A;--rub-p:#F6E6E0;--flamme:#F47A30;--signal:#E0502C;--rouille:#9A3A24;
  --bas:#2F6B4F;--moyen:#D08A35;--haut:#B5462C;--bas-p:#EEF6F0;--moyen-p:#FFF4E0;--haut-p:#FBEAE4;
  --trait:3px solid #1B2B38;
  --f-d:var(--ac-display);--f-b:var(--ac-body);--f-m:var(--ac-mono);--f-l:var(--ac-logo)}
.ad [id]{scroll-margin-top:calc(var(--gm-barh,112px) + 12px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ─── carte d'ouverture : numéros d'urgence ─── */
.aa-urg{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:.25rem 0 .5rem;font-size:var(--fs-petit)}
.aa-urg-l{font:800 .9rem/1 var(--f-d);letter-spacing:.08em;text-transform:uppercase;background:var(--rub);color:#1B2B38;padding:6px 8px;border-radius:2px}
.aa-urg a{display:inline-flex;align-items:baseline;gap:6px;min-height:36px;align-items:center;padding:4px 10px;border:2px solid #1B2B38;border-radius:3px;
  background:var(--sur);color:#1B2B38;text-decoration:none;font-weight:700;box-shadow:3px 3px 0 #1B2B38}
.aa-urg a b{font:900 1.1rem/1 var(--f-d);letter-spacing:.03em;color:var(--rouille)}
.aa-urg a:hover{box-shadow:3px 3px 0 var(--flamme)}


.ad h4{margin:1em 0 .35em}
.pf{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1100px){.pf.deux{grid-template-columns:repeat(2,minmax(0,1fr))}.pf.deux>.large{grid-column:1/-1}}
.pf>section{background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;padding:6px 18px 12px;min-width:0}
.pf>section>h3{margin-top:.6em;display:flex;align-items:flex-start;gap:10px}
.pf>section>h3::before{content:attr(data-n);display:inline-grid;place-items:center;min-width:2em;height:2em;padding:0 .3em;background:var(--rub);color:#1B2B38;flex:none;
  font:italic 800 .95rem/1 var(--f-l);letter-spacing:0;border:2px solid #1B2B38;box-shadow:2px 2px 0 #1B2B38}
/* pastille carrée centrée sur les capitales de la 1re ligne du titre (et non sur tout le bloc quand
   le titre passe sur 2 lignes) : .532 = milieu des capitales de Big Shoulders, interligne 1.1 */
.pf>section>h3::before{margin-top:calc(var(--fs-h3) * .532 - 1em)}
.pf>section.pieges{border:3px solid #1B2B38;box-shadow:5px 5px 0 #1B2B38}
.pf>section.pieges>h3::before{background:#FFD84F}
.pf>section.cat>h3::before{background:#1B2B38;color:#FFFDF7}
.case{background:var(--sur);border:var(--trait);border-radius:3px;box-shadow:6px 6px 0 #1B2B38;padding:12px 18px;margin:16px 0;min-width:0}
.case>:first-child{margin-top:.2em}
.case .t{font:800 1.08rem/1.1 var(--f-d);text-transform:uppercase;letter-spacing:.04em;margin:.2em 0 .45em}
.case.rouge{border-color:var(--haut);background:#FFF8F6}
.case.rouge .t{color:var(--haut)}
.case.jaune{box-shadow:6px 6px 0 #FFD84F}
.case.corr{border-style:dashed;box-shadow:none;background:var(--pap);font-size:.92rem}
.case.corr .t{color:var(--rouille)}
.duo{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin:14px 0}
.duo>div{background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;padding:10px 16px;min-width:0}
.duo>div>h4{margin-top:.3em}
.niv{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:14px 0}
.niv>div{border:var(--trait);border-radius:3px;padding:10px 14px;background:var(--sur);box-shadow:4px 4px 0 #1B2B38;min-width:0}
.niv .nt{font:900 1.1rem/1 var(--f-d);text-transform:uppercase;letter-spacing:.04em;margin:.2em 0 .5em;padding:5px 8px;display:inline-block}
.niv .n1 .nt{background:#D8EFE2;color:var(--bas)}
.niv .n2 .nt{background:#FBE3BE;color:#8A5410}
.niv .n3{border-color:var(--haut)}
.niv .n3 .nt{background:var(--haut);color:#fff}
.chiffres{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin:14px 0}
.chiffres>div{background:var(--sur);border:var(--trait);border-radius:3px;box-shadow:4px 4px 0 var(--rub);padding:10px 14px}
.chiffres b{display:block;font:900 2.4rem/1 var(--f-d);font-variant-numeric:tabular-nums}
.chiffres span{display:block;font-size:.92rem;margin-top:4px}
.tdef{overflow-x:auto;margin:12px 0;border:1.5px solid var(--fil);border-radius:3px;background:var(--sur)}
.tdef table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem}
.tdef th,.tdef td{padding:8px 10px;border-bottom:1px solid var(--fil);text-align:left;vertical-align:top}
.tdef th{font-family:var(--f-m);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;background:var(--pap2)}
.tdef tr:last-child td{border-bottom:0}
.refs{margin-top:18px;border-top:1.5px dashed var(--fil);padding-top:8px;font-size:.86rem}
.refs>p{font-family:var(--f-m);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--enc3);margin:.2em 0}
.refs ol{margin:.2em 0;padding-left:1.6em}
.ad .refs li{max-width:none;overflow-wrap:anywhere}
sup.r{font-family:var(--f-m);font-size:.68rem}
sup.r a{text-decoration:none}
sup.r+sup.r::before{content:",";color:var(--enc3)}
.renvoi{font-size:.92rem;color:var(--enc2)}
.etapes{counter-reset:e;list-style:none;padding:0!important;display:grid;gap:8px}
.etapes>li{counter-increment:e;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;padding:8px 12px}
.etapes>li::before{content:counter(e);display:inline-grid;place-items:center;width:2em;height:2em;background:#1B2B38;color:#FFD84F;font:italic 800 .95rem/1 var(--f-l);border-radius:2px}
.ad details.faq{background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;margin:8px 0;padding:0 14px}
.ad details.faq>summary{cursor:pointer;font-weight:700;padding:10px 0;min-height:44px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ad details.faq[open]>summary{border-bottom:1px solid var(--fil)}
.ad details.faq>div{padding:4px 0 10px}
.preuve{display:inline-block;font:600 .7rem/1.2 var(--f-m);letter-spacing:.05em;text-transform:uppercase;padding:3px 6px;border:1.5px solid #1B2B38;border-radius:2px;background:var(--pap2)}
.preuve.p-a{background:#D8EFE2}.preuve.p-b{background:#FBE3BE}.preuve.p-c{background:#F6D3C8}
.patient{background:#FFFBEA;border:3px dashed #1B2B38;border-radius:3px;padding:10px 18px;margin:14px 0}
.patient .t{font:800 1.05rem/1.1 var(--f-d);text-transform:uppercase;letter-spacing:.04em;margin:.3em 0}
.bt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;background:#1B2B38;color:#FFFDF7;border:0;border-radius:3px;box-shadow:4px 4px 0 var(--rub);
  font:800 1.05rem/1 var(--f-d);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.bt:hover{color:#FFD84F}
.bt.l{background:var(--sur);color:#1B2B38;border:2px solid #1B2B38;box-shadow:3px 3px 0 #1B2B38}

/* ─── tableaux filtrables ─── */
.tf{margin:12px 0 26px;min-width:0}
.tf-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.tf-f span{font:600 .72rem/1 var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--enc3);margin-right:4px}
.tf-f button{font:700 .86rem/1 var(--f-b);border:2px solid #1B2B38;background:var(--sur);border-radius:3px;padding:8px 11px;min-height:40px;cursor:pointer;color:#1B2B38}
.tf-f button[aria-pressed="true"]{background:#1B2B38;color:#FFFDF7;box-shadow:3px 3px 0 var(--rub)}
.tf-defil{overflow-x:auto;border:var(--trait);border-radius:3px;background:var(--sur);box-shadow:5px 5px 0 #1B2B38}
.tf table{border-collapse:collapse;width:100%;min-width:980px;font-size:.9rem}
.tf th{background:#1B2B38;color:#fff;font:600 .7rem/1.2 var(--f-m);letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:8px}
.tf td{padding:8px;border-bottom:1px solid var(--fil);vertical-align:top}
.tf tr[hidden]{display:none}
.tf td b.nom{display:block;font-size:1rem}
.tf td small{display:block;color:var(--enc2);font-size:.8rem}
.tf .nnt{font:900 1.35rem/1 var(--f-d);white-space:nowrap}
.tf .nnt.ne{font-size:1rem;white-space:normal}
.tf-note{font-size:.86rem;color:var(--enc2);margin:.6em 0 0}
@media (max-width:760px){
  .tf-defil{overflow:visible;border:0;background:none;box-shadow:none}
  .tf table{min-width:0;display:block}
  .tf thead{display:none}
  .tf tbody{display:grid;gap:12px}
  .tf tr{display:block;background:var(--sur);border:var(--trait);border-radius:3px;box-shadow:4px 4px 0 #1B2B38;padding:6px 10px}
  .tf td{display:block;border:0;padding:4px 0}
  .tf td::before{content:attr(data-l);display:block;font:600 .68rem/1.2 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--enc3)}
  .tf td:first-child::before{display:none}
}

/* ─── calculateurs ─── */
.grille{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));align-items:start}
.calc{position:relative;min-width:0;background:var(--sur);border:var(--trait);border-radius:3px;box-shadow:6px 6px 0 #1B2B38;padding:30px 18px 16px}
.calc::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;border-bottom:var(--trait);background-color:var(--rub);
  background-image:radial-gradient(circle,rgba(27,43,56,.28) 1.3px,transparent 1.8px);background-size:8px 8px}
.calc.actif{box-shadow:6px 6px 0 var(--flamme)}
.calc h3{margin:0;font:900 clamp(1.6rem,2.2vw,2rem)/1 var(--f-d);text-transform:uppercase}
.calc .sous{margin:6px 0 0;color:var(--enc2);font-size:.95rem;line-height:1.4}
.calc fieldset{border:0;padding:0;margin:12px 0 0;min-width:0}
.calc legend{display:block;padding:0;margin:0 0 6px;font:700 .97rem/1.35 var(--f-b);max-width:100%;white-space:normal}
.calc legend .nq{font:600 .8rem var(--f-m);color:var(--rub-t);margin-right:4px}
.puces{display:flex;flex-wrap:wrap;gap:6px}
.puce{position:relative;display:inline-flex;max-width:100%}
.puce input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.puce span{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 12px;border:2px solid #1B2B38;border-radius:3px;
  background:var(--pap);font-weight:700;font-size:.93rem;line-height:1.2;cursor:pointer}
.puce span i{font:600 .78rem var(--f-m);font-style:normal;color:var(--rub-t)}
.puce:hover span{background:var(--sur)}
.puce input:checked+span{background:#1B2B38;color:var(--sur);box-shadow:3px 3px 0 var(--rub)}
.puce input:checked+span i{color:#FFD84F}
.puce input:focus-visible+span{outline:3px solid var(--flamme);outline-offset:2px}
.nb{margin-top:12px}
.nb label{display:block;font:700 .97rem/1.35 var(--f-b);margin-bottom:6px}
.boite{display:flex;align-items:stretch;min-height:48px;border:2px solid #1B2B38;border-radius:3px;background:#fff;max-width:320px}
.boite:focus-within{outline:3px solid var(--flamme);outline-offset:2px}
.boite input{flex:1;min-width:0;width:100%;border:0;outline:0;background:transparent;padding:0 12px;font:500 1.15rem var(--f-m);color:#1B2B38}
.boite .u{display:flex;align-items:center;padding:0 12px;background:var(--pap2);border-left:2px solid #1B2B38;font:600 .85rem var(--f-m);white-space:nowrap}
.aide{margin:4px 0 0;font-size:.875rem;color:var(--enc3);line-height:1.35}
.res{margin-top:16px;padding:12px 14px;background:var(--pap);border:var(--trait);border-left-width:10px;border-radius:3px;transition:background-color .3s ease}
.res[data-niveau="bas"]{border-left-color:var(--bas);background:var(--bas-p)}
.res[data-niveau="moyen"]{border-left-color:var(--moyen);background:var(--moyen-p)}
.res[data-niveau="haut"]{border-left-color:var(--haut);background:var(--haut-p)}
.res[data-niveau="info"]{border-left-color:#4F6FAE}
.res[data-etat="attente"]{border-style:dashed;border-left-style:solid;border-left-color:var(--fil);color:var(--enc2);font-size:.94rem}
.res .r-l{margin:0;font:600 .75rem/1.3 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--enc3)}
.res .r-v{margin:2px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;font:900 3.2rem/1 var(--f-d);font-variant-numeric:tabular-nums}
.res .r-v small{font:600 .94rem var(--f-m)}
.r-n{display:inline-block;transform-origin:50% 75%}
.res[data-niveau="bas"] .r-n{color:var(--bas)}
.res[data-niveau="moyen"] .r-n{color:#8A5410}
.res[data-niveau="haut"] .r-n{color:var(--haut)}
.res .r-i{margin:6px 0 0;font-weight:700;line-height:1.35}
.res ul{margin:6px 0 0;padding-left:18px;font-size:.94rem;line-height:1.4}
.r-jauge{position:relative;height:14px;margin:8px 0 4px;border:2px solid #1B2B38;border-radius:2px;background:var(--sur);overflow:hidden}
.r-jauge i{display:block;height:100%;width:0;background:#1B2B38;transition:width .5s cubic-bezier(.2,.9,.3,1),background-color .3s ease;
  background-image:radial-gradient(circle,rgba(27,43,56,.3) 1.2px,transparent 1.7px);background-size:7px 7px}
[data-niveau="bas"] .r-jauge i{background-color:var(--bas)}
[data-niveau="moyen"] .r-jauge i{background-color:var(--moyen)}
[data-niveau="haut"] .r-jauge i{background-color:var(--haut)}
.r-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.r-complet{display:inline-block;padding:4px 8px;background:#1B2B38;color:#FFD84F;border-radius:2px;font:600 .6875rem/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase}
.calc-pied{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.btn-l{min-height:44px;padding:0 10px;background:none;border:0;font:600 .81rem var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--rouille);cursor:pointer;text-decoration:underline}
.src{margin:12px 0 0;padding-top:8px;border-top:2px dashed var(--fil);font:500 .78rem/1.5 var(--f-m);color:var(--enc3);overflow-wrap:anywhere}
.src b{font-weight:600;color:var(--enc2)}
.valid{margin:12px 0 0;border:2px solid #1B2B38;border-radius:3px;background:var(--pap)}
.valid summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 12px;cursor:pointer;list-style:none;
  font:600 .78rem/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase}
.valid summary::-webkit-details-marker{display:none}
.valid summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border:2px solid #1B2B38;background:var(--rub);font:italic 800 1rem/1 var(--f-l)}
.valid[open] summary::before{content:"−"}
.valid dl{margin:0;padding:4px 12px 12px;display:grid;gap:8px}
.valid dt{font:600 .72rem/1.3 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--rub-t)}
.valid dl>div,.valid dd{min-width:0;overflow-wrap:anywhere}
.valid dd{margin:2px 0 0;font-size:.94rem;line-height:1.45}
.valid ul{margin:2px 0 0;padding-left:18px;font-size:.88rem}
/* bloc « résultat » du panneau de droite (moteur.js → GM.resultat) */
.rc-interp{margin:0 0 .5rem;font-weight:700;font-size:1rem;line-height:1.4;padding-left:10px;border-left:6px solid #1B2B38;color:#1B2B38}
.gm-panneau .rc-lignes{margin:0 0 .5rem;padding-left:18px;font-size:.94rem;line-height:1.45}
.rc-copie-t{margin:14px 0 4px;font:600 .72rem/1.3 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--enc3)}
.rc-copie{margin:0;padding:8px 10px;background:var(--pap);border:2px solid #1B2B38;border-radius:3px;font:500 .84rem/1.45 var(--f-m);overflow-wrap:anywhere;user-select:all}
html.ac-barre-visible .gm-page{padding-bottom:120px}

/* ─── calculateur d'unités (alcool) et doses (tabac) ─── */
.boissons{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));margin-top:8px}
.boisson{display:flex;flex-direction:column;border:2px solid #1B2B38;border-radius:3px;background:var(--pap);min-width:0}
.boisson.on{background:#FFF1D6;box-shadow:3px 3px 0 var(--rub)}
.boisson>button{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 10px;display:grid;gap:2px;min-height:56px}
.boisson>button:focus-visible{outline:3px solid var(--flamme);outline-offset:2px}
.boisson b{font-size:.95rem}
.boisson span{font:500 .75rem/1.3 var(--f-m);color:var(--enc2)}
.boisson .q{display:flex;align-items:center;justify-content:space-between;border-top:2px solid #1B2B38}
.boisson .q button{width:44px;height:40px;border:0;background:#1B2B38;color:#fff;font:700 1.2rem/1 var(--f-b);cursor:pointer}
.boisson .q output{font:900 1.3rem/1 var(--f-d)}
.boisson.alerte span{color:var(--haut)}
.tots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.tots>div{border:2px solid #1B2B38;border-radius:3px;background:var(--sur);padding:6px 8px;text-align:center;min-width:0}
.tots b{display:block;font:900 1.7rem/1 var(--f-d);font-variant-numeric:tabular-nums}
.tots span{font:500 .72rem/1.2 var(--f-m);color:var(--enc2)}
.dose{margin-top:12px;border:var(--trait);border-radius:3px;background:var(--pap);padding:10px 14px}
.dose h4{margin:.2em 0 .4em;font:900 1.3rem/1 var(--f-d);text-transform:uppercase}
.dose .patchs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.dose .patch{display:inline-grid;place-items:center;min-width:74px;height:74px;padding:4px;border:3px solid #1B2B38;border-radius:50%;background:#FFD84F;box-shadow:3px 3px 0 #1B2B38;
  font:900 1.25rem/1 var(--f-d);text-align:center}
.dose .patch small{display:block;font:600 .62rem/1 var(--f-m)}

@media print{.filtre,.calc-pied,.tf-f{display:none!important}.case,.calc,.tf-defil{box-shadow:none}}
/* trois colonnes : la colonne du centre est plus étroite, fiches et calculateurs passent sur une colonne */
@media (min-width:981px){.ad:not(.gm-large) .pf.deux{grid-template-columns:minmax(0,1fr)}}

