/* Chroniques Lyriques — feuille de style unique */
:root{
  --creme:#FDFBF7;
  --bordeaux:#7F1D1D;
  --ink:#1E293B;
  --or:#A67C2E;
  --sauge:#5C6B4A;
  --trait:#D9D2C4;
  --serif-titre:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --serif-texte:Georgia,"Iowan Old Style","Times New Roman",serif;
  --mono:"Courier New",Courier,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--creme);color:#2B2723;
  font-family:var(--serif-texte);font-size:17px;line-height:1.75;
}
.sheet{max-width:1140px;margin:0 auto;padding:0 22px}
a{color:var(--bordeaux)}
h1,h2,h3{font-family:var(--serif-titre);line-height:1.25;color:var(--ink)}
h1{font-size:2.35rem;margin:.2em 0 .4em}
h2{font-size:1.6rem;margin:2.2em 0 .5em;border-bottom:1px solid var(--trait);padding-bottom:.25em}
h3{font-size:1.15rem;margin:1.4em 0 .3em}

/* ---- bandeau / timbres-poste ---- */
.bandeau{background:var(--ink);color:#F3EFE6;position:sticky;top:0;z-index:40;
  border-bottom:3px double var(--or)}
.bandeau .marque{display:flex;align-items:center;gap:.7rem;padding:12px 0 4px;
  max-width:1140px;margin:0 auto;padding-left:22px;padding-right:22px}
.mono-cl{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:4px;
  background:var(--bordeaux);color:#F6E7C4;font-family:var(--mono);font-weight:700;
  border:1px solid var(--or);letter-spacing:1px}
.wordmark{text-decoration:none;color:#F7F3E8;display:flex;align-items:center;gap:.7rem}
.wordmark .titre{font-family:var(--serif-titre);font-size:1.3rem;letter-spacing:.3px}
.wordmark .titre em{color:#E4C57B;font-style:italic}
.sous-titre{margin:0 0 0 auto;font-family:var(--mono);font-size:.68rem;color:#9FB0C4;
  text-transform:uppercase;letter-spacing:.14em}
.carnet-toggle,.carnet-btn{display:none}
.timbres{display:flex;flex-wrap:wrap;gap:2px;max-width:1140px;margin:6px auto 10px;
  padding:0 22px 6px;position:relative}
.timbre{position:relative}
.timbre__dent{display:none}
.timbre__tete{display:block;padding:6px 14px;text-decoration:none;color:#EDE6D8;
  font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;
  background:
    repeating-radial-gradient(circle at 0 50%,transparent 0 2px,var(--ink) 2px 4px) ,
    repeating-radial-gradient(circle at 100% 50%,transparent 0 2px,var(--ink) 2px 4px);
  background-size:6px 6px,6px 6px;background-repeat:repeat-y,repeat-y;background-position:left,right;
  border-top:1px dashed #55708C;border-bottom:1px dashed #55708C;
}
.timbre__tete:hover,.timbre:focus-within .timbre__tete{color:#F6E7C4;border-color:var(--or)}
.timbre--actif .timbre__tete{color:#22303F;background-color:#DCC38A}
.timbre__cachet{position:absolute;inset:0;display:none;pointer-events:none;
  font-family:var(--mono);font-size:.62rem;color:#8A2B2B;text-align:center;line-height:2.4;
  transform:rotate(-14deg)}
.timbre--actif .timbre__cachet{display:block;opacity:.55}
.feuille{position:absolute;left:0;top:100%;min-width:250px;background:#FFFDF8;
  border:1px solid var(--trait);border-top:3px solid var(--or);box-shadow:0 10px 22px rgba(30,41,59,.14);
  padding:8px;display:none;z-index:50;border-radius:0 0 4px 4px}
.timbre:hover .feuille,.timbre:focus-within .feuille{display:block}
.feuille--large{min-width:290px}
.vignette{display:block;text-decoration:none;padding:7px 10px;border-bottom:1px dotted var(--trait)}
.vignette:last-child{border-bottom:0}
.vignette:hover{background:#F6F1E6}
.vignette__t{display:block;font-family:var(--serif-titre);font-size:.95rem;color:var(--ink)}
.vignette__d{display:block;font-size:.75rem;color:#6C6154}

/* ---- corps ---- */
.corps{padding:26px 0 10px}
.planche{max-width:820px;margin:0 auto}
.entete-planche{border-top:1px solid var(--trait);border-bottom:1px solid var(--trait);padding:14px 0 10px}
.sur-titre{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--or);margin:0}
.chapo{font-style:italic;color:#5A5147;font-size:1.02rem}
.editorial p{margin:.9em 0}
.lettrine::first-letter{float:left;font-family:var(--serif-titre);font-size:3.6rem;line-height:.8;
  padding:6px 10px 0 0;color:var(--bordeaux)}
.marginalia{margin:1.4em 0;padding:12px 16px;background:#F7F3E9;border-left:4px solid var(--sauge);
  font-size:.92rem;color:#4A4137}
.marginalia h3{margin:0 0 .3em;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--sauge)}

/* ---- frontispice ---- */
.frontispice{margin:8px 0 30px}
.frontispice__cadre{border:1px solid var(--ink);outline:1px solid var(--or);outline-offset:5px;
  padding:34px 30px;text-align:center;background:#FCF9F2}
.frontispice__surtitre{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--bordeaux);margin:0 0 .6em}
.frontispice__titre{font-size:1.9rem;margin:0 0 .5em}
.frontispice__texte{max-width:640px;margin:0 auto 1.3em;color:#4A4137}

/* ---- planches I–VI ---- */
.titre-planches{max-width:820px;margin:2.4em auto .6em}
.planches{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;
  max-width:1000px;margin:0 auto 2em}
.planche-carte{display:block;text-decoration:none;border:1px solid var(--trait);border-top:2px solid var(--or);
  padding:16px;background:#FFFDF8}
.planche-carte:hover{box-shadow:0 8px 18px rgba(30,41,59,.1)}
.planche-carte__num{font-family:var(--mono);font-size:.8rem;color:var(--or);letter-spacing:.12em}
.planche-carte h3{margin:.3em 0 .2em;color:var(--ink)}
.planche-carte p{margin:0;font-size:.88rem;color:#5F574C}

/* ---- boutons ---- */
.btn{display:inline-block;padding:10px 22px;text-decoration:none;border:1px solid transparent;
  font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.btn--or{background:var(--or);color:#FFFDF6}
.btn--or:hover{background:#8F6A26}
.btn--clair{background:transparent;color:var(--ink);border-color:var(--ink)}

/* ---- tableaux ---- */
.tableau{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.88rem}
.tableau caption{text-align:left;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--sauge);padding-bottom:.5em}
.tableau th,.tableau td{border:1px solid var(--trait);padding:9px 11px;text-align:left;vertical-align:top}
.tableau thead th{background:var(--ink);color:#F3EFE6;font-family:var(--serif-titre);font-weight:400}
.tableau tbody tr:nth-child(even){background:#F8F4EB}

/* ---- détails/sommaire ---- */
details{border:1px solid var(--trait);border-left:3px solid var(--or);margin:.6em 0;background:#FDFBF5}
summary{cursor:pointer;padding:11px 14px;font-family:var(--serif-titre);color:var(--ink)}
details[open] summary{border-bottom:1px dotted var(--trait)}
details p{margin:.8em 14px}

/* ---- figures ---- */
figure{margin:1.6em 0;border:1px solid var(--trait);padding:10px;background:#FFFDF8}
figure img{display:block;width:100%;height:auto}
figcaption{font-family:var(--mono);font-size:.72rem;color:#6C6154;padding-top:.6em}

/* ---- avertissement ---- */
.avertissement{margin:2.4em 0 1em;padding:14px 16px;border:1px solid var(--bordeaux);
  background:#FBF3F0;font-size:.86rem;color:#5A2B2B}

/* ---- pied ---- */
.pied{background:var(--ink);color:#D9DEE6;margin-top:34px;border-top:4px double var(--or)}
.pied__grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;
  max-width:1140px;margin:0 auto;padding:30px 22px 10px}
.pied h2{background:none;border:0;color:#E4C57B;font-family:var(--mono);font-size:.75rem;
  text-transform:uppercase;letter-spacing:.14em;margin:0 0 .5em;padding:0}
.pied a{color:#D9DEE6}
.pied a:hover{color:#E4C57B}
.pied__bas{max-width:1140px;margin:0 auto;padding:8px 22px 26px;font-size:.78rem;color:#9FB0C4;
  border-top:1px solid #33445A}

/* ---- bandeau cookies ---- */
.bandeau-cookies{position:fixed;left:14px;right:14px;bottom:14px;z-index:60;background:#FFFDF8;
  border:1px solid var(--ink);border-left:4px solid var(--or);padding:14px 16px;
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  box-shadow:0 10px 26px rgba(30,41,59,.2);font-size:.85rem}
.bandeau-cookies p{margin:0;max-width:640px}
.bandeau-cookies__boutons{display:flex;gap:10px}

/* ---- formulaire ---- */
.formulaire{max-width:620px;margin:1.4em 0}
.formulaire label{display:block;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--sauge);margin:1em 0 .3em}
.formulaire input,.formulaire textarea,.formulaire select{width:100%;padding:10px;font-family:var(--serif-texte);
  font-size:1rem;border:1px solid var(--trait);background:#FFFDF8;color:#2B2723}
.formulaire textarea{min-height:150px}
.formulaire .btn{margin-top:1.2em}

/* ---- glossaire ---- */
.glossaire{margin:1.2em 0}
.glossaire dt{font-family:var(--serif-titre);color:var(--bordeaux);font-size:1.05rem;margin-top:.9em}
.glossaire dd{margin:.15em 0 0 0;padding-left:14px;border-left:2px solid var(--trait);color:#4A4137}

/* ---- mobile : carnet vertical ---- */
@media (max-width:760px){
  .sous-titre{display:none}
  .carnet-btn{display:block;position:absolute;right:22px;top:14px;font-family:var(--mono);
    font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#F6E7C4;
    border:1px solid var(--or);padding:6px 12px;cursor:pointer}
  .bandeau{position:relative;padding-bottom:6px}
  .timbres{flex-direction:column;display:none;gap:0;margin-top:44px}
  .carnet-toggle:checked ~ .timbres{display:flex}
  .timbre{width:100%}
  .timbre__tete{background:#243447;border:0;border-bottom:1px solid #33445A;padding:10px 14px}
  .feuille,.feuille--large{position:static;display:block;border:0;border-left:3px solid var(--or);
    margin:0 0 0 14px;box-shadow:none;background:#1B2735;color:#D9DEE6}
  .vignette{border-bottom:1px dotted #33445A}
  .vignette__t{color:#EDE6D8}
  .vignette__d{color:#9FB0C4}
  .timbre__cachet{display:none}
  h1{font-size:1.8rem}
  .frontispice__titre{font-size:1.45rem}
}
