/* au-cabinet.fr — Ostéoporose : composants propres à l'outil (base commune avec goutte/guide/goutte.css, puis règles
   propres en fin de fichier), sur le gabarit commun « façon MDPH » (/_commun/gabarit-mdph.css : bandeau, onglets,
   carte d'ouverture, trois colonnes, encadrés gm-callout, tableaux). Tailles en rem. */
.gm-page{
  --rub:#D08A35; --rub-t:#8A5410; --rub-p:#FBEBCF;
  --enc:#1B2B38; --enc-2:#3A4A56; --enc-3:#4A5A66; --sur:#FFFDF7; --pap:#F5F1E6; --pap-2:#EDE7D8; --fil:#D3C9B3;
  --sapin:#2F6B4F; --sapin-p:#E1EFE6; --ambre:#D08A35; --ambre-t:#8A5410; --ambre-p:#FBEBCF;
  --rouille:#B5462C; --rouille-t:#9A3A24; --rouille-p:#F7E0D8; --flamme:#F47A30;
  /* noms de l'outil d'origine, gardés pour ses scripts */
  --ink:#1B2B38; --slate:#3A4A56; --muted:#4A5A66; --paper:#F5F1E6; --surface:#FFFDF7; --surface-2:#F5F1E6;
  --line:#D3C9B3; --line-2:#1B2B38; --gold:#D08A35; --gold-deep:#8A5410; --gold-soft:#FBEBCF;
  --teal:#2F6B4F; --teal-deep:#2F6B4F; --teal-soft:#E1EFE6; --amber:#D08A35; --amber-deep:#8A5410; --amber-soft:#FBEBCF;
  --rust:#B5462C; --rust-deep:#9A3A24; --rust-soft:#F7E0D8;
  --ac-bas:#2F6B4F; --ac-moyen:#D08A35; --ac-haut:#B5462C;
}
.gm-page *{box-sizing:border-box}
.gm-page b{color:var(--enc)}
.gm-page :focus-visible{outline:3px solid #F47A30;outline-offset:2px}
.mono{font-variant-numeric:tabular-nums}

/* ─── encadrés ─── */
.corr{display:block;margin:.6em 0 0;padding:6px 10px;background:#FFF1D6;border:1.5px dashed var(--rub-t);border-radius:3px;font-size:.88rem;color:#5C3D05}
.corr::before{content:"Mise à jour 2026 · ";font:600 var(--fs-etiquette)/1 var(--ac-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--rub-t)}
ul.clean{list-style:none;margin:10px 0;padding:0}
ul.clean li{padding:9px 0 9px 24px;position:relative;border-bottom:1px solid var(--fil)}
ul.clean li:last-child{border-bottom:0}
ul.clean li::before{content:"";position:absolute;left:3px;top:17px;width:9px;height:9px;background:var(--sapin);border:1.5px solid #1B2B38}
ul.clean.warn li::before{background:var(--rouille)} ul.clean.gold li::before{background:var(--rub)}
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;margin:8px 0 14px}
.minicard{background:var(--sur);border:3px solid #1B2B38;border-radius:3px;box-shadow:5px 5px 0 var(--rub);padding:12px 14px}
.minicard .mc-v{font:900 2.2rem/1 var(--ac-display);color:#1B2B38}
.minicard .mc-l{font-size:.92rem;margin-top:4px}

/* ─── tableaux ─── */

/* ─── évaluation : formulaire + panneau résultat ─── */
.evform{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;margin-bottom:6px}
.evform.wide{grid-template-columns:minmax(0,1fr)}
.fld{background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;padding:12px 14px;min-width:0}
.fld>label,.fld .flab{display:block;font:600 var(--fs-etiquette)/1.3 var(--ac-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--enc-2);margin-bottom:8px}
.fld .hint{font-size:.86rem;color:var(--enc-3);margin-top:7px;line-height:1.4}
.inrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.num{font:500 1.15rem var(--ac-mono);color:#1B2B38;background:#fff;border:2px solid #1B2B38;border-radius:3px;padding:9px 10px;width:120px;min-height:46px}
.num.sm{width:96px}
.num:focus{outline:3px solid #F47A30;outline-offset:2px}
.unit-suffix{font:500 .84rem var(--ac-mono);color:var(--enc-3)}
.selin{font:inherit;font-size:1rem;color:#1B2B38;background:#fff;border:2px solid #1B2B38;border-radius:3px;padding:10px;width:100%;min-height:46px}
.derived{font:600 .86rem/1.35 var(--ac-mono);color:var(--rub-t);margin-top:8px;min-height:1.1em}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:7px}
.chk{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--fil);border-radius:3px;padding:9px 11px;cursor:pointer;background:var(--sur);min-height:46px}
.chk:hover{border-color:#1B2B38}
.chk.sel{border-color:#1B2B38;background:#FFF1D6;box-shadow:3px 3px 0 #1B2B38}
.chk input{margin-top:3px;width:20px;height:20px;flex:none;accent-color:#1B2B38}
.chk .ct{font-weight:700} .chk .cd{display:block;font-size:.86rem;color:var(--enc-3)}
.naflag{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;cursor:pointer;margin-top:9px}
.naflag input{width:18px;height:18px;accent-color:#1B2B38}
.ckdepi{margin:10px 0;padding:10px 12px;background:var(--pap);border:1.5px dashed var(--fil);border-radius:3px}
.summary{background:var(--sur);border:1.5px solid var(--fil);border-left:6px solid var(--rub);border-radius:3px;padding:14px 16px;margin:6px 0 16px;max-width:none}
.summary .st{display:block;font:800 1.05rem/1.1 var(--ac-display);text-transform:uppercase;color:var(--rub-t);margin-bottom:5px}

/* ─── boutons ─── */
#synthOut{white-space:pre-wrap;font:500 .9rem/1.5 var(--ac-mono);background:#fff;border:3px solid #1B2B38;border-radius:3px;padding:14px 16px;min-height:120px;overflow-wrap:anywhere}

/* ─── panneau Résultat (grand écran) ─── */
.pn-l{margin:10px 0 0;font:600 var(--fs-etiquette)/1.2 var(--ac-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--enc-3)}
.pn-v{margin:2px 0 0;font-family:var(--ac-display);font-weight:900;line-height:.95;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.pn-v b{font-size:4.2rem;font-variant-numeric:tabular-nums;text-shadow:4px 4px 0 var(--pal,#FBEBCF);display:inline-block}
.pn-v small{font:600 .9rem var(--ac-mono)}
.pn-v2 b{font-size:2.4rem}
.pn-zone{display:inline-block;margin:6px 0 0;padding:5px 8px;border:2px solid #1B2B38;font:700 .88rem/1.2 var(--ac-body)}
.pn-zone.ac-palier-bas{background:var(--sapin-p)} .pn-zone.ac-palier-moyen{background:var(--ambre-p)} .pn-zone.ac-palier-haut{background:var(--rouille-p)}
.pn-ind{margin:12px 0 0;padding:10px 12px;border:3px solid #1B2B38;border-radius:3px}
.pn-ind.ac-palier-bas{background:var(--sapin-p)} .pn-ind.ac-palier-moyen{background:var(--ambre-p)} .pn-ind.ac-palier-haut{background:var(--rouille-p)}
.pn-ind .pt{display:block;font:600 .68rem/1.2 var(--ac-mono);letter-spacing:.08em;text-transform:uppercase}
.pn-ind b{display:block;font:900 1.3rem/1.02 var(--ac-display);text-transform:uppercase;margin-top:3px}
.pn-cible{margin:10px 0 0;font-size:.95rem}
.pn-go{display:inline-block;margin-top:10px;font:600 var(--fs-etiquette)/1 var(--ac-mono);letter-spacing:.06em;text-transform:uppercase}
html.ac-barre-visible .ac-pied-espace{height:100px}

/* ─── validité et utilité ─── */
.valid{margin:14px 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 .8rem/1.3 var(--ac-mono);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(--ac-logo)}
.valid[open] summary::before{content:"−"}
.valid dl{margin:0;padding:4px 12px 12px;display:grid;gap:8px}
.valid dt{font:600 var(--fs-etiquette)/1.3 var(--ac-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rub-t)}
.valid dd{margin:2px 0 0;font-size:.95rem}
.valid ul{margin:2px 0 0;padding-left:18px;font-size:.9rem}
.src{font-size:.88rem;color:var(--enc-2);margin:.8em 0 0;overflow-wrap:anywhere}

/* ─── références & méthode ─── */
.method{background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;padding:12px 16px;margin-bottom:12px;max-width:110ch}
.timeline{margin:6px 0 16px;border-left:3px solid #1B2B38}
.timeline .tl{position:relative;padding:0 0 12px 20px}
.timeline .tl::before{content:"";position:absolute;left:-8px;top:4px;width:12px;height:12px;background:var(--rub);border:2px solid #1B2B38}
.timeline .tl-d{display:block;font:600 var(--fs-etiquette)/1.3 var(--ac-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--rub-t)}
.timeline .tl-t{display:block;max-width:90ch}
sup.ref{font:600 .64em/0 var(--ac-mono);vertical-align:super;margin-left:1px}
sup.ref a{text-decoration:none;padding:0 1px}
sup.ref a+a::before{content:",";color:var(--enc-3)}
.refs{font-size:.92rem}
.refs ol{list-style:none;counter-reset:r;margin:0;padding:0}
.refs li{counter-increment:r;padding:9px 0 9px 34px;position:relative;border-bottom:1px solid var(--fil);max-width:none;overflow-wrap:anywhere}
.refs li::before{content:counter(r);position:absolute;left:0;top:9px;font:600 .8rem var(--ac-mono);color:var(--rub-t)}
.refs li:target{background:#FFF1D6}
.refs .id{font:500 var(--fs-etiquette) var(--ac-mono);color:var(--enc-3)}
.refs .ctx{display:block;font-size:.86rem;color:var(--enc-3);margin-top:2px}

/* ─── tuiles « parcours » ─── */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px}
.gm-page a.tile{display:block;text-decoration:none;color:#1B2B38;background:var(--sur);border:3px solid #1B2B38;border-radius:3px;box-shadow:5px 5px 0 #1B2B38;padding:12px 14px;transition:transform .12s,box-shadow .12s}
.gm-page a.tile:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--rub)}
.tile .ti{width:32px;height:32px;border:2px solid #1B2B38;background:var(--rub);display:flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:8px}
.tile h3{margin:0;font-size:1.1rem}
.tile p{margin:5px 0 0;font-size:.93rem}
.tile .go{margin-top:8px;font:600 var(--fs-etiquette)/1 var(--ac-mono);letter-spacing:.06em;text-transform:uppercase;color:#9A3A24}
@media (prefers-reduced-motion:reduce){.gm-page a.tile{transition:none}.gm-page a.tile:hover{transform:none}}

.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#1B2B38;color:#FFD84F;padding:11px 18px;border:3px solid #FFD84F;border-radius:3px;font-weight:700;z-index:2147482600}

@media (max-width:560px){
  .val{font-size:2.4rem}.risk-num{font-size:2.4rem}
  .gauge-wrap{grid-template-columns:44px minmax(0,1fr);padding:14px 10px}
  .gauge{width:34px}.gl{font-size:.66rem}
  .toggle.ml{margin-left:0}
  .btn{flex:1 1 auto;justify-content:center}
  .v-title{font-size:1.4rem}
}
/* ─── raccord au gabarit commun ─── */
.gm .gm-page [id]{scroll-margin-top:calc(var(--gm-barh,112px) + 12px)}
.gm-centre a:not([class]){color:#9A3A24}
.gm-sec .bd>h3:first-child{margin-top:.5rem;padding-top:0;border-top:0}
.eval-grid{display:block}
.gm-callout .nt{display:block;margin-bottom:5px;font:800 1.05rem/1.1 var(--ac-display);text-transform:uppercase;letter-spacing:.03em;color:var(--gm-encre)}
.gm-callout>span{display:block}
.gm-callout[style*="display:none"]{display:none}
.tbl-wrap.gm-tableau table.tbl{min-width:560px}
.gm-tableau table.tbl caption{caption-side:bottom;text-align:left;font-size:var(--fs-petit);color:var(--gm-encre-3);padding:.5rem .625rem}
/* panneau de droite : l'uricémie / le T-score et la conduite (ids d'origine gardés pour les scripts) */
#panneau{transition:box-shadow .3s}
#panneau.ac-palier-bas{box-shadow:7px 7px 0 var(--sapin)}
#panneau.ac-palier-moyen{box-shadow:7px 7px 0 var(--ambre)}
#panneau.ac-palier-haut{box-shadow:7px 7px 0 var(--rouille)}
.pn-c>:first-child{margin-top:0}
/* boutons de l'outil : même dessin que .gm-btn */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.6875rem 1.25rem;border:0;border-radius:3px;cursor:pointer;
  background:var(--gm-encre);color:#fff;box-shadow:3px 3px 0 var(--gm-flamme);font:800 .945rem/1.1 var(--ac-display);letter-spacing:.05em;
  text-transform:uppercase;text-decoration:none;min-height:44px}
.btn:hover{color:var(--gm-jaune)}
.btn.ghost,.btn.gold,.btn.teal{background:var(--gm-carte);color:var(--gm-encre);border:2px solid var(--gm-encre);box-shadow:3px 3px 0 var(--gm-encre)}
.btn.ghost:hover,.btn.gold:hover,.btn.teal:hover{background:#FFE9D6;color:var(--gm-encre)}
.btn.mini{padding:.5rem .9375rem;font-size:.9rem;min-height:40px}
.btnrow{display:flex;gap:.625rem;flex-wrap:wrap;margin-top:.875rem}
.foot{margin:.5rem 0 0;padding:0 .25rem}
.foot p{max-width:none;font-size:var(--fs-petit);color:var(--gm-encre-3)}

@media print{
  .no-print,.btnrow,.ac-barre{display:none!important}
  .card,.reco,.fiche{box-shadow:none}
  body.print-bloc .gm-hero,body.print-bloc .foot,body.print-bloc .gm-rail,body.print-bloc .gm-droite,body.print-bloc .gm-sec:not(.a-imprimer){display:none!important}
  body.print-bloc .gm-sec.a-imprimer{display:block!important}
  body.print-bloc .a-imprimer .no-print,body.print-bloc .a-imprimer .gm-num{display:none!important}
  body.print-fiche .gm-sec#generateur>*:not(.bd),body.print-fiche #generateur .bd>*:not(#fiche-out){display:none!important}
}

/* ═════════ règles propres à l'ostéoporose ═════════ */
/* cases de l'outil de décision */
.card{background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;padding:12px 16px 14px;margin:0 0 16px;min-width:0}
.card>h3{margin:.2em 0 .3em}
.card>.sub{font-size:.93rem;color:var(--enc-2);margin-bottom:10px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;align-items:start}
.grid2>.card{margin:0}
.fldrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px 14px}
.fld.wide{grid-column:span 2}
@media (max-width:560px){.fld.wide{grid-column:auto}}
.fld label,.pt-field label{display:block;font:600 var(--fs-etiquette)/1.3 var(--ac-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--enc-2);margin-bottom:6px}
.fld input,.fld select,.pt-field input,.pt-field select{width:100%;font:500 1.05rem var(--ac-mono);color:#1B2B38;background:#fff;border:2px solid #1B2B38;border-radius:3px;padding:8px 10px;min-height:46px}
.fld select,.pt-field select{font-family:var(--ac-body)}
.fld input:focus,.fld select:focus,.pt-field input:focus,.pt-field select:focus{outline:3px solid #F47A30;outline-offset:2px}
.ptgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px 14px;align-items:end}
.imc-chip{display:flex;align-items:center;gap:6px;min-height:46px;padding:6px 10px;border:2px dashed #1B2B38;border-radius:3px;font:600 .8rem var(--ac-mono)}
.imc-chip b{font:900 1.5rem/1 var(--ac-display)}
.ptgrid .hint{grid-column:1/-1;font-size:.86rem;color:var(--enc-3)}
.ref{margin-top:10px;font-size:.88rem;color:var(--enc-2);border-top:1.5px dashed var(--fil);padding-top:8px}
.scorebox{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px;padding:10px 14px;border:3px solid #1B2B38;border-radius:3px;background:var(--pap)}
.scorebox.ac-palier-bas{background:var(--sapin-p)}.scorebox.ac-palier-moyen{background:var(--ambre-p)}.scorebox.ac-palier-haut{background:var(--rouille-p)}
.scoreval{font:900 3rem/1 var(--ac-display);font-variant-numeric:tabular-nums;min-width:90px}
.scoreval small{font:600 .9rem var(--ac-mono)}
.verdict{display:inline-block;font:600 var(--fs-etiquette)/1.2 var(--ac-mono);letter-spacing:.04em;text-transform:uppercase;padding:6px 9px;border:2px solid #1B2B38;border-radius:3px;background:var(--sur)}
.v-good{background:var(--sapin-p)} .v-warn{background:var(--ambre-p)} .v-danger{background:var(--rouille-p)} .v-n{background:var(--sur)}
/* verdict de décision : Traiter = palier haut (risque fracturaire élevé) */
.v-treat{background:#1B2B38;color:#FFD84F}
.pill{display:inline-block;padding:4px 7px;border:1.5px solid #1B2B38;border-radius:2px;font:600 .68rem/1.1 var(--ac-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.pill.g,.pill.mg{background:var(--sapin-p)} .pill.w{background:var(--ambre-p)} .pill.d{background:var(--rouille-p)} .pill.n{background:var(--sur)} .pill.spe{background:#FFD84F}
.checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:7px}
.chk{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--fil);border-radius:3px;padding:9px 11px;cursor:pointer;background:var(--sur);min-height:46px}
.chk:hover{border-color:#1B2B38}
.chk.on{border-color:#1B2B38;background:#FFF1D6;box-shadow:3px 3px 0 #1B2B38}
.chk input{margin-top:2px;width:20px;height:20px;flex:none;accent-color:#1B2B38}
.reco{background:var(--sur);border:3px solid #1B2B38;border-radius:3px;box-shadow:7px 7px 0 var(--enc-3);padding:14px 18px;margin-top:18px;border-top-width:12px}
.reco.treat{border-top-color:var(--rouille);box-shadow:7px 7px 0 var(--rouille)}
.reco.discuss{border-top-color:var(--ambre);box-shadow:7px 7px 0 var(--ambre)}
.reco.notreat{border-top-color:var(--sapin);box-shadow:7px 7px 0 var(--sapin)}
.reco h3{margin-top:.2em}
.reco .big{font:900 1.6rem/1.05 var(--ac-display);text-transform:uppercase;margin:8px 0}
.recolist{list-style:none;padding:0;margin:8px 0 0}
.recolist li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1.5px solid var(--fil);border-radius:3px;margin:6px 0;background:var(--pap);max-width:none}
.recolist li .pill{flex:none;margin-top:2px}
table.tb{width:100%;border-collapse:collapse;font-size:.95rem;margin:6px 0;min-width:0}
table.tb th,table.tb td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--fil);vertical-align:top}
table.tb thead th{font:600 var(--fs-etiquette)/1.2 var(--ac-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--pap-2)}
.read-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}
.read{border:1.5px solid var(--fil);border-radius:3px;padding:10px 12px;background:var(--pap)}
.read b{display:block;font:800 1.02rem/1.15 var(--ac-display);text-transform:uppercase}
.read span{font-size:.92rem}
/* échelle du T-score */
.ladx{display:grid;grid-template-columns:minmax(0,230px) auto;gap:6px 12px;align-items:stretch;margin-top:10px}
.ladx>div:empty:not(.lv){display:none}
.ladx .band{border:2px solid #1B2B38;padding:9px 10px;font:800 1rem/1.1 var(--ac-display);text-transform:uppercase;color:#1B2B38}
.ladx .band small{display:block;font:500 var(--fs-etiquette)/1.2 var(--ac-mono);text-transform:none}
.ladx .band.sev{background:#F2B8A8}.ladx .band.mod{background:var(--rouille-p)}.ladx .band.leg{background:var(--ambre-p)}.ladx .band.norm{background:var(--sapin-p)}
.ladx .band.hit{box-shadow:5px 5px 0 #1B2B38;outline:3px solid #F47A30;outline-offset:1px}
.ladx .lv{display:flex;align-items:center;font:600 .9rem var(--ac-mono);opacity:0;transition:opacity .2s}
.ladx .lv.on{opacity:1}
/* protocole détaillé */
.proto-table-wrap{overflow-x:auto;margin:10px 0;border:1.5px solid var(--fil);border-radius:3px;background:var(--sur)}
.proto-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:560px}
.proto-table th,.proto-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--fil);vertical-align:top}
.proto-table thead th{font:600 var(--fs-etiquette)/1.2 var(--ac-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--pap-2)}
.proto-table tr:last-child td{border-bottom:0}
.proto-list{padding-left:1.3em} .proto-list li{margin:.25em 0}
.proto-steps{counter-reset:ps;list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}
.proto-steps li{counter-increment:ps;display:flex;gap:12px;align-items:flex-start;background:var(--sur);border:1.5px solid var(--fil);border-radius:3px;padding:10px 12px;max-width:none}
.proto-steps li::before{content:counter(ps);flex:none;display:grid;place-items:center;width:2em;height:2em;background:var(--rub);border:2px solid #1B2B38;box-shadow:2px 2px 0 #1B2B38;font:italic 800 .95rem/1 var(--ac-logo)}
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:10px 0}
.flow-step{display:flex;gap:10px;background:var(--sur);border:3px solid #1B2B38;border-radius:3px;box-shadow:4px 4px 0 var(--rub);padding:10px 12px}
.flow-num{flex:none;width:2em;height:2em;display:grid;place-items:center;background:#1B2B38;color:#FFD84F;font:italic 800 1rem/1 var(--ac-logo);
  margin-top:calc(1.1rem * .532 - 1em)}   /* centrée sur les capitales du titre h4 (Big Shoulders 1.1rem, interligne 1.1) */
.flow-content h4{margin:0 0 4px;font:800 1.1rem/1.1 var(--ac-display);text-transform:uppercase}
.flow-content p{margin:0;font-size:.93rem}
details.accord{background:var(--sur);border:2px solid #1B2B38;border-radius:3px;margin:10px 0}
details.accord>summary{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;list-style:none;min-height:48px}
details.accord>summary::-webkit-details-marker{display:none}
details.accord>summary::after{content:"+";margin-left:auto;font:italic 800 1.2rem/1 var(--ac-logo)}
details.accord[open]>summary::after{content:"−"}
details.accord .role-avatar{flex:none;width:36px;height:36px;display:grid;place-items:center;border:2px solid #1B2B38;background:var(--rub-p);font-size:1.1rem}
details.accord .role-title{display:block;font:800 1.1rem/1.1 var(--ac-display);text-transform:uppercase}
details.accord .role-names{display:block;font-size:.9rem;color:var(--enc-2)}
details.accord .role-body{padding:0 14px 10px}
.chip{display:inline-block;padding:3px 6px;border:1.5px solid #1B2B38;border-radius:2px;font:600 .66rem/1.1 var(--ac-mono);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:var(--sur)}
.chip-mg{background:var(--sapin-p)} .chip-psy{background:#FFD84F} .chip-diet{background:var(--rub-p)} .chip-dent{background:var(--pap-2)}
.rk{display:inline-block;padding:4px 7px;border:2px solid #1B2B38;font:600 var(--fs-etiquette)/1.1 var(--ac-mono);text-transform:uppercase}
.rk-vhigh{background:var(--rouille);color:#fff} .rk-high{background:var(--rouille-p)} .rk-mod{background:var(--ambre-p)}
details.plus{margin:16px 0 0;border-top:3px solid #1B2B38;padding-top:4px}
details.plus>summary{cursor:pointer;font:800 1.15rem/1.2 var(--ac-display);text-transform:uppercase;letter-spacing:.03em;padding:8px 0;color:var(--rub-t)}
/* générateur de fiche patient */
.builder{background:var(--sur);border:3px solid #1B2B38;border-radius:3px;box-shadow:6px 6px 0 var(--rub);padding:6px 16px 14px}
.builder fieldset{border:0;padding:0;margin:12px 0 0;min-width:0}
.builder legend{font:600 var(--fs-etiquette)/1.3 var(--ac-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--enc-2);margin-bottom:6px;padding:0}
.builder input[type=text]{width:100%;font:inherit;border:2px solid #1B2B38;border-radius:3px;padding:10px;min-height:46px}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:6px}
.opt{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--fil);border-radius:3px;padding:9px 11px;cursor:pointer;background:var(--pap);min-height:46px}
.opt:has(input:checked){border-color:#1B2B38;background:#FFF1D6;box-shadow:3px 3px 0 #1B2B38}
.opt input{width:20px;height:20px;flex:none;accent-color:#1B2B38;margin-top:2px}
.controls{margin-top:14px}
.fiche{background:#fff;border:3px solid #1B2B38;border-radius:3px;box-shadow:6px 6px 0 #1B2B38;padding:14px 20px;margin-top:20px;font-size:1.12rem}
.fiche .fh{border-bottom:3px solid #1B2B38;margin-bottom:10px}
.fiche .kicker{font:600 var(--fs-etiquette)/1.2 var(--ac-mono);letter-spacing:.1em;text-transform:uppercase;margin:0}
.fiche h1{font:900 2.2rem/1 var(--ac-display);text-transform:uppercase;margin:.15em 0}
.fiche h2{font:900 1.5rem/1.1 var(--ac-display);text-transform:uppercase;margin:1em 0 .4em}
.ftiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.ftile{border:2px solid #1B2B38;border-radius:3px;padding:8px 14px;background:var(--pap)}
.ftile h3{font-size:1.15rem;margin:.3em 0}
.ftile ul{margin:.3em 0;padding-left:1.2em}
.fiche .pill{display:block;white-space:normal;font:700 1rem/1.4 var(--ac-body);text-transform:none;letter-spacing:0;padding:10px 12px;margin-top:14px;background:#FFF1D6}
/* fiches patient (guides) */
.pguide{font-size:1.12rem}
.pguide .acc{font-size:1.2rem;max-width:70ch}
.pguide .ess{background:var(--sur);border:3px solid #1B2B38;box-shadow:6px 6px 0 var(--rub);border-radius:3px;padding:8px 18px;margin:12px 0}
.pguide .ess h3{margin:.4em 0}
.pguide h3.gch{margin-top:1.4em;border-top:2px solid #1B2B38;padding-top:10px}
.pguide h3.gch small{display:block;font:500 .8rem/1.3 var(--ac-mono);text-transform:none;letter-spacing:0;color:var(--enc-3)}
.g-card{display:flex;gap:10px;border:1.5px solid var(--fil);border-left:6px solid #4F6FAE;border-radius:3px;background:var(--sur);padding:8px 14px;margin:10px 0}
.g-card.g-warn{border-left-color:var(--ambre)} .g-card.g-ok{border-left-color:var(--sapin)} .g-card.g-accent{border-left-color:var(--rub)}
.g-ci{display:none}
.g-cb{min-width:0} .g-cb h3{font-size:1.1rem;margin:.3em 0}
.g-alert{border:3px solid var(--rouille);border-radius:3px;padding:8px 14px;margin:10px 0;font-weight:700;background:#FFF8F5}
.g-links{list-style:none;padding:0} .g-links li{margin:8px 0;max-width:none} .g-links a{font-weight:700;display:block} .g-links span{font-size:.95rem}
.g-doses{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}
.g-dose{border:3px solid #1B2B38;border-radius:3px;padding:8px 14px;background:#FFF1D6;box-shadow:4px 4px 0 var(--rub);min-width:0}
.g-dose b,.g-dose strong{font:900 1.8rem/1 var(--ac-display)}
.g-unit{font:600 .8rem var(--ac-mono)}
.g-day{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
.g-meal{border:2px solid #1B2B38;border-radius:3px;padding:8px 12px;background:var(--sur)}
.g-h{font:800 1.1rem/1.1 var(--ac-display);text-transform:uppercase}
.g-mini-warn{font-size:.95rem;color:var(--rouille-t)}
.docs-t td:first-child a{font-weight:700}
@media print{.pguide,.fiche{font-size:12pt}.fiche{border:0;padding:0}}

/* ─── chapitre Calcium & vitamine D ─── */
.cavd-lien{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:12px 16px;border:2px solid #1B2B38;border-radius:3px;background:var(--sur);box-shadow:4px 4px 0 var(--ac-rubrique,#D08A35);color:inherit;text-decoration:none}
.cavd-lien:hover{box-shadow:6px 6px 0 var(--ac-rubrique,#D08A35)}
.cavd-lien-i{flex:none;display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border:2px solid #1B2B38;border-radius:50%;background:#FFD84F;font-size:1.3rem}
.cavd-lien>span:nth-child(2){flex:1;min-width:0}
.cavd-lien-go{flex:none;font:600 var(--fs-etiquette) var(--ac-mono);text-transform:uppercase}
.cavd-h{display:flex;align-items:center;gap:10px;margin:26px 0 12px;font:800 1.35rem/1.2 var(--ac-display);text-transform:uppercase}
.cavd-h span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#1B2B38;color:#FFFDF7;font:700 1rem/1 var(--ac-mono)}
.cavd-g{margin:14px 0 6px;font:600 var(--fs-etiquette)/1.2 var(--ac-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--rub-t,#8A5410)}
.cavd-msg{font-size:.92rem;color:var(--enc-2);margin-top:4px}
#cavd .fld label small{display:block;margin-top:3px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--enc-3)}
.cavd-barres{list-style:none;margin:0;padding:0}
.cavd-barres li{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,30%) auto;align-items:center;gap:10px;padding:4px 0;border-bottom:1px dashed var(--fil)}
.cavd-barres i{display:block;height:10px;border:1.5px solid #1B2B38;border-radius:2px;background:var(--sapin-p,#D8EFE2)}
.cavd-t td:first-child{min-width:9rem}
@media (max-width:560px){.cavd-lien{flex-wrap:wrap}.cavd-lien-go{width:100%;text-align:right}}
#cavd .fld{display:flex;flex-direction:column}
#cavd .fld>input,#cavd .fld>select{margin-top:auto}
.cavd-pile>.card{margin:0 0 16px}
.cavd-n{font:600 .95rem var(--ac-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.cavd-barres i{background:var(--ac-rubrique,#D08A35)}
.cavd-barres li::before{content:none!important;display:none!important}
.cavd-barres li{padding-left:0!important}

/* ─── fiche patient « Mon calcium et ma vitamine D » : noir et blanc, gros caractères ─── */
.cavd-imp{margin-top:14px}
.pt{font-size:13pt;line-height:1.45;color:#000}
.pt h3{margin:16px 0 6px;padding-bottom:3px;border-bottom:2px solid #000;font-size:14pt;color:#000;text-transform:none}
.pt-tete{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:3px solid #000;margin-bottom:10px;padding-bottom:4px}
.pt-titre{font-size:20pt;font-weight:800}
.pt-t{width:100%;border-collapse:collapse;margin:6px 0}
.pt-t th,.pt-t td{border:1px solid #000;padding:4px 7px;text-align:left;vertical-align:top;color:#000;background:#fff}
.pt-t th{font-weight:700}
.pt-n{white-space:nowrap;text-align:right}
.pt-tot td{font-weight:800;border-top:2.5px solid #000}
.pt-verdict{border:2.5px solid #000;padding:8px 10px;margin:10px 0}
.pt-cases{list-style:none;padding-left:0}
.pt-cases li{margin:4px 0}
.pt-ligne{margin:12px 0}
.pt-pied{margin-top:16px;font-size:10.5pt;border-top:1px solid #000;padding-top:4px}
@media print{.pt h3,.pt-t tr{break-inside:avoid}.pt h3{break-after:avoid}}
.pt h3{font:700 14pt/1.3 var(--ac-body,Arial,sans-serif)!important;letter-spacing:0!important}
.pt ul:not(.pt-cases){list-style:disc;padding-left:1.3em}
.pt ul li::before{content:none!important}
.pt ul:not(.pt-cases) li{display:list-item;padding-left:0}
/* Relecture du 09/10/2026 : la fiche patient « Mon calcium et ma vitamine D » sortait sur 2 pages A4 (cas : 1 yaourt, ½ comté,
   eau du robinet) ; la convention du site est une page → texte plus serré, idées sur deux colonnes. Contrôlé par
   tools/cas-tests.js (PDF A4, cas le plus long : dose de charge). */
.pt{font-size:11pt;line-height:1.3}
.pt h3{margin:9px 0 4px!important;font-size:12pt!important}
.pt-titre{font-size:17pt}
.pt-t{margin:4px 0}
.pt-t th,.pt-t td{padding:2px 6px}
.pt-verdict{padding:5px 8px;margin:6px 0}
.pt-cases{columns:2;column-gap:18px}
.pt-cases li{margin:2px 0;break-inside:avoid}
.pt-ligne{margin:7px 0}
.pt p{margin:4px 0}
.pt ul{margin:4px 0}
.pt-pied{margin-top:8px;font-size:9.5pt}
.pt p,.pt li,.pt td,.pt th{font-size:10.5pt!important;line-height:1.28!important}
.pt ul:not(.pt-cases) li{margin:1px 0!important}
.pt h3{padding:2px 0 2px!important}
.pt li{padding-top:1px!important;padding-bottom:1px!important}
@media print{body.print-bloc .cavd-fiche.a-imprimer{padding:0!important;margin:0!important;border:0!important}}
.pt-t th,.pt-t td{padding:1px 6px!important}
.pt-2col{display:flex;gap:8px;align-items:flex-start}.pt-2col .pt-t{flex:1 1 0;width:auto}
.pt p,.pt li,.pt ul{max-width:none!important}
.pt h3{margin:6px 0 3px!important}.pt-pied{margin-top:4px!important;padding-top:2px!important}.pt-tete{margin-bottom:6px}
.pt-date{text-align:right}.pt-date small{display:block;font-size:8.5pt;max-width:36em;line-height:1.2}
