/* BUILD V01 — généré par guide/construire.mjs, ne pas éditer à la main */

:root{
  --lin:#F5F0E8; --lin-fonce:#EBE3D6; --vert:#7A9E7E; --vert-fonce:#4E6B52;
  --or:#C9A84C; --or-fonce:#8A6F1E; --texte:#3D4A30; --texte2:#55603F;
  --blanc:#FFFFFF; --bordure:#D9D0BF; --alerte:#8A4B2A; --alerte-bg:#FBF1E7;
  --cible:48px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--lin); color:var(--texte);
  font-family:var(--sans); font-size:18px; line-height:1.65;
  overflow-x:hidden;
}
img{max-width:100%;height:auto}

.wrap{width:100%;max-width:820px;margin:0 auto;padding:0 20px}

.saut{position:absolute;left:-9999px;top:0;background:var(--vert-fonce);color:#fff;padding:14px 20px;z-index:99}
.saut:focus{left:0}

a{color:var(--vert-fonce)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--or-fonce); outline-offset:2px; border-radius:4px;
}

/* ── En-tête ─────────────────────────────────────────────────────────── */
.entete{background:var(--blanc);border-bottom:1px solid var(--bordure)}
.entete-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-top:12px;padding-bottom:12px}
.marque{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--texte);
  min-height:var(--cible);flex:1 1 auto}
.marque-icone{font-size:28px;line-height:1}
.marque-txt{display:flex;flex-direction:column;line-height:1.25}
.marque-txt strong{font-family:var(--serif);font-size:21px;font-weight:600}
.marque-sous{font-size:18px;color:var(--texte2)}
.nav-h{display:flex;flex-wrap:wrap;gap:4px}
.nav-h a{display:flex;align-items:center;min-height:var(--cible);padding:0 14px;
  text-decoration:none;font-size:18px;font-weight:600;border-radius:10px}
.nav-h a:hover{background:var(--lin-fonce)}
/* Sur téléphone : la marque sur une ligne, les 4 liens sur la suivante,
   sans jamais descendre sous 48 px de hauteur de cible. */
@media(max-width:560px){
  .entete-in{gap:4px}
  .marque{flex:1 1 100%}
  .marque-txt strong{font-size:19px}
  .nav-h{flex:1 1 100%;justify-content:space-between;gap:0}
  .nav-h a{padding:0 8px;font-size:18px}
}

/* ── Fil d'Ariane ────────────────────────────────────────────────────── */
.fil{padding-top:14px}
.fil ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin:0;padding:0;
  font-size:18px;color:var(--texte2)}
.fil li+li::before{content:"›";margin-right:6px;color:var(--bordure)}
/* Cible tactile pleine (48 px) sur les liens ; la page courante n'est pas
   un lien, elle reste du texte simple. */
.fil a{display:inline-flex;align-items:center;min-height:var(--cible);padding:0 2px}
/* Sur téléphone, on ne garde que la racine et la page courante. */
@media(max-width:560px){
  .fil li:not(:first-child):not(:last-child){display:none}
  .fil li:last-child::before{content:"›";margin-right:6px;color:var(--bordure)}
}

/* ── Titres et texte ─────────────────────────────────────────────────── */
h1{font-family:var(--serif);font-size:clamp(30px,6vw,44px);line-height:1.18;margin:14px 0 10px;font-weight:600}
h2{font-family:var(--serif);font-size:clamp(23px,4vw,29px);line-height:1.3;margin:38px 0 12px;font-weight:600}
h3{font-size:clamp(19px,3vw,21px);margin:26px 0 8px;font-weight:700}
p{margin:0 0 16px}
.chapo{font-size:clamp(19px,2.6vw,22px);color:var(--texte2);margin-bottom:22px}
.badge{display:inline-block;background:var(--vert-fonce);color:#fff;font-size:18px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:7px 14px;border-radius:999px}
.badge-l{margin:18px 0 4px}

/* ── Blocs de contenu ────────────────────────────────────────────────── */
.bloc{margin-bottom:6px}
.bloc ul,.bloc ol{margin:0 0 18px;padding-left:24px}
.bloc li{margin-bottom:10px}
.bloc ol{counter-reset:n;list-style:none;padding-left:0}
.bloc ol li{counter-increment:n;position:relative;padding-left:46px;margin-bottom:14px}
.bloc ol li::before{content:counter(n);position:absolute;left:0;top:1px;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;background:var(--vert-fonce);color:#fff;
  border-radius:50%;font-size:18px;font-weight:700}

/* ── Encadrés ────────────────────────────────────────────────────────── */
.enc{border-left:5px solid var(--vert);background:var(--blanc);padding:18px 20px;margin:24px 0;border-radius:0 12px 12px 0}
.enc h3{margin:0 0 8px;font-size:19px}
.enc p{margin:0}
.enc-attention{border-left-color:var(--alerte);background:var(--alerte-bg)}
.enc-attention h3{color:var(--alerte)}

/* ── Cartes ──────────────────────────────────────────────────────────── */
.cartes{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:14px}
@media(min-width:640px){.cartes{grid-template-columns:1fr 1fr}}
.carte{background:var(--blanc);border:1px solid var(--bordure);border-radius:14px}
.carte a{display:block;min-height:var(--cible);padding:18px 20px;text-decoration:none;color:var(--texte);border-radius:14px}
.carte a:hover{background:var(--lin-fonce)}
.carte .k{display:block;font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:4px}
.carte .d{display:block;font-size:18px;color:var(--texte2);line-height:1.5}
.carte .q{display:inline-block;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--or-fonce);margin-bottom:6px}

/* ── Checklist chronologique ─────────────────────────────────────────── */
.jalon{margin:0 0 34px;background:var(--blanc);border:1px solid var(--bordure);border-radius:16px;overflow:hidden}
.jalon-t{background:var(--vert-fonce);color:#fff;padding:16px 20px}
.jalon-t h2{margin:0;color:#fff;font-size:clamp(21px,3.4vw,26px)}
.jalon-t p{margin:4px 0 0;font-size:18px;opacity:.92}
.jalon ul{list-style:none;margin:0;padding:6px 20px 14px}
.jalon li{padding:14px 0;border-bottom:1px solid var(--bordure)}
.jalon li:last-child{border-bottom:0}
.jalon .t{display:block;font-weight:700;font-size:19px;margin-bottom:3px}
.jalon .d{display:block;font-size:18px;color:var(--texte2);line-height:1.55}
.jalon .lien{display:inline-flex;align-items:center;min-height:var(--cible);margin-top:2px;
  font-weight:600;font-size:18px;padding-right:4px}

/* ── Boutons ─────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--cible);
  padding:0 24px;border-radius:999px;text-decoration:none;font-size:18px;font-weight:700;
  border:2px solid transparent;cursor:pointer;font-family:inherit}
.btn-vert{background:var(--vert-fonce);color:#fff}
.btn-vert:hover{background:#3f5742}
.btn-or{background:var(--or);color:#3A2E08;border-color:#B08F2E}
.btn-or:hover{background:#d8b95e}
.btn-clair{background:var(--blanc);color:var(--vert-fonce);border-color:var(--bordure)}
.btn-clair:hover{background:var(--lin-fonce)}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}

/* ── Calculateur ─────────────────────────────────────────────────────── */
.mention{background:var(--alerte-bg);border:2px solid var(--alerte);color:var(--alerte);
  font-weight:700;font-size:18px;padding:14px 18px;border-radius:12px;margin:20px 0}
.grp{background:var(--blanc);border:1px solid var(--bordure);border-radius:16px;margin:0 0 18px;overflow:hidden}
.grp>h2{margin:0;padding:16px 20px 4px;font-size:clamp(21px,3.2vw,25px)}
.grp>.grp-sous{padding:0 20px 12px;margin:0;font-size:18px;color:var(--texte2)}
.grp ul{list-style:none;margin:0;padding:0 20px 16px}
.poste{border-top:1px solid var(--bordure);padding:6px 0}
.poste label{display:flex;gap:14px;align-items:flex-start;min-height:var(--cible);padding:10px 0;cursor:pointer}
.poste input{width:26px;height:26px;margin:4px 0 0;flex:0 0 auto;accent-color:#4E6B52}
.poste .lt{flex:1 1 auto}
.poste .ln{display:block;font-weight:600;font-size:18px}
.poste .lf{display:block;font-size:18px;color:var(--texte2);white-space:nowrap}
.poste .lnote{display:block;font-size:18px;color:var(--texte2);margin-top:4px;line-height:1.5}
.total{position:sticky;bottom:0;background:var(--vert-fonce);color:#fff;border-radius:16px;
  padding:16px 20px;margin:24px 0;box-shadow:0 -2px 18px rgba(0,0,0,.18)}
.total .tl{font-size:18px;opacity:.92;margin:0 0 4px}
.total .tv{font-family:var(--serif);font-size:clamp(24px,5vw,34px);font-weight:600;margin:0;line-height:1.2}
.total .tn{font-size:18px;opacity:.9;margin:6px 0 0}
/* La mention obligatoire est DANS le bandeau collant : elle reste visible
   quel que soit le défilement, même quand le bandeau recouvre la page. */
.total .tm{font-size:18px;font-weight:700;margin:10px 0 0;padding-top:10px;
  border-top:1px solid rgba(255,255,255,.32);line-height:1.45}
/* De la place en bas pour que le bandeau collant ne masque jamais la fin. */
.page-cout main{padding-bottom:150px}
.alleg{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px}
.alleg li{background:var(--blanc);border:1px solid var(--bordure);border-left:5px solid var(--or);
  border-radius:0 12px 12px 0;padding:14px 18px}
.alleg .at{font-weight:700;font-size:18px}
.alleg .av{color:var(--or-fonce);font-weight:700}
.alleg .ad{font-size:18px;color:var(--texte2);margin:4px 0 0;line-height:1.5}

/* ── Lexique ─────────────────────────────────────────────────────────── */
.lex{margin:0 0 30px}
.lex div{background:var(--blanc);border:1px solid var(--bordure);border-radius:12px;padding:16px 18px;margin-bottom:12px}
.lex dt{font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:4px}
.lex dd{margin:0;font-size:18px;color:var(--texte2);line-height:1.6}
.lex .ref{display:block;font-size:18px;color:var(--or-fonce);margin-top:6px;font-weight:600}

/* ── Rites ───────────────────────────────────────────────────────────── */
.rite{background:var(--blanc);border:1px solid var(--bordure);border-radius:12px;padding:16px 18px;margin-bottom:12px}
.rite h3{margin:0 0 4px;font-family:var(--serif);font-size:21px;font-weight:600}
.rite p{margin:0;font-size:18px;color:var(--texte2);line-height:1.6}

/* ── Lettres ─────────────────────────────────────────────────────────── */
.lettre{background:var(--blanc);border:1px solid var(--bordure);border-radius:16px;margin:0 0 18px;overflow:hidden}
.lettre>summary{list-style:none;cursor:pointer;padding:18px 20px;min-height:var(--cible);display:block}
.lettre>summary::-webkit-details-marker{display:none}
.lettre>summary .lt{display:block;font-family:var(--serif);font-size:22px;font-weight:600}
.lettre>summary .lq{display:inline-block;font-size:18px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:var(--or-fonce);margin-bottom:4px}
.lettre>summary .lp{display:block;font-size:18px;color:var(--texte2);margin-top:4px;line-height:1.5}
.lettre>summary .lo{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:700;
  color:var(--vert-fonce);font-size:18px}
.lettre[open]>summary .lo .plus{display:none}
.lettre:not([open])>summary .lo .moins{display:none}
.lettre-corps{padding:0 20px 20px;border-top:1px solid var(--bordure)}
.lettre-texte{background:var(--lin);border:1px solid var(--bordure);border-radius:10px;padding:18px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px;line-height:1.7;
  white-space:pre-wrap;overflow-x:auto;margin:16px 0}
mark.ac{background:#FBEFC9;color:#6B5410;font-weight:700;padding:1px 3px;border-radius:3px}
.pieces{margin:0 0 8px;padding-left:22px;font-size:18px}

/* ── Sources, CGU, encart ────────────────────────────────────────────── */
.sources{background:var(--blanc);border:1px solid var(--bordure);border-radius:16px;padding:18px 20px;margin:34px 0 0}
.sources h2{margin:0 0 8px;font-size:22px}
.sources .src-intro{font-size:18px;color:var(--texte2);margin-bottom:12px}
/* Liste sans puce native : la puce « — » est posée en absolu, alignée sur la
   première ligne, sinon le rembourrage des liens (cible 48 px) la décale. */
.sources ul{margin:0;padding-left:0;list-style:none;font-size:18px;line-height:1.55}
.sources li{position:relative;padding-left:22px;margin-bottom:4px;overflow-wrap:anywhere}
.sources li::before{content:"—";position:absolute;left:0;top:11px;color:var(--bordure)}
.sources a{display:block;min-height:var(--cible);padding:11px 0 0;line-height:1.5}
.src-txt{display:block;padding:11px 0 0;line-height:1.5}
.src-maj{color:var(--texte2);font-size:18px;display:block;padding-bottom:8px}

.cgu{border:2px dashed var(--bordure);border-radius:16px;padding:18px 20px;margin:20px 0 0;background:transparent}
.cgu h2{margin:0 0 8px;font-size:20px}
.cgu p{margin:0;font-size:18px;color:var(--texte2);line-height:1.6}

.encart-fin{background:var(--vert-fonce);color:#fff;border-radius:18px;padding:26px 24px;margin:34px 0 0}
.encart-fin h2{margin:0 0 10px;color:#fff;font-size:clamp(23px,4vw,29px)}
.encart-fin p{margin:0 0 18px;font-size:18px;opacity:.95;line-height:1.6}

/* ── Navigation entre fiches ─────────────────────────────────────────── */
.entre{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:28px 0 0}
.entre a{flex:1 1 240px;background:var(--blanc);border:1px solid var(--bordure);border-radius:14px;
  padding:14px 18px;text-decoration:none;color:var(--texte);min-height:var(--cible)}
.entre a:hover{background:var(--lin-fonce)}
.entre .s{display:block;font-size:18px;text-transform:uppercase;letter-spacing:.04em;color:var(--texte2);font-weight:700}
.entre .n{display:block;font-weight:600;font-size:18px;margin-top:2px}
.entre .suiv{text-align:right}

/* ── Pied de page ────────────────────────────────────────────────────── */
.pied{margin-top:46px;background:var(--blanc);border-top:1px solid var(--bordure);padding:26px 0 34px}
.pied-donnees{font-size:18px;color:var(--texte2);margin:0 0 12px}
.pied-liens{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin:0 0 12px;padding:0}
.pied-liens a{display:inline-flex;align-items:center;min-height:var(--cible);padding:0 12px;font-size:18px;
  font-weight:600;border-radius:8px;text-decoration:none}
.pied-liens a:hover{background:var(--lin-fonce)}
.pied-maj{font-size:18px;color:var(--texte2);margin:0}

/* ── Impression : n'imprimer que la lettre demandée ──────────────────── */
@media print{
  .entete,.pied,.fil,.saut,.btns,.encart-fin,.nav-h,.no-print{display:none!important}
  body{background:#fff;font-size:12pt}
  .lettre-texte{border:0;background:#fff;padding:0;font-family:var(--serif);font-size:12pt}
  body[data-print] .lettre:not(.imprimer){display:none!important}
  body[data-print] .lettre.imprimer{border:0}
  body[data-print] .lettre.imprimer>summary{display:none}
  body[data-print] .lettre-corps{border:0;padding:0}
  body[data-print] h1,body[data-print] .chapo,body[data-print] .mention,
  body[data-print] .sources,body[data-print] .cgu,body[data-print] .intro-doc{display:none}
  mark.ac{background:transparent;border-bottom:1px dotted #666;color:#000}
}
