/* Đinh Nho — jeunes.css : rubrique « Histoire pour les jeunes » intégrée
   à la SPA comme vue. Tout est limité à #jeunes (les classes .cover, .gen,
   .toc, .seal… existent ailleurs sur le site). */
#jeunes{
    /* Accents de marque alignés sur les primitives ; papier « conte » conservé. */
    --paper:#f6efe2;
    --paper-2:#f1e8d8;
    --ink:var(--c-encre);
    --ink-soft:var(--c-sepia);
    --lacquer:var(--c-laque);
    --lacquer-deep:var(--c-laque-deep);
    --lacquer-bright:var(--c-laque-light);
    --gold:var(--c-or);
    --gold-bright:var(--c-or-soft);
    --gold-pale:var(--c-or-pale);
    --seal:var(--c-laque);
    --line:#cdbfa6;
    --shadow:rgba(58,38,24,.18);
  }
#jeunes *{box-sizing:border-box;}
#jeunes{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Be Vietnam Pro",sans-serif;
    font-weight:300;
    line-height:1.72;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
#jeunes::before{
    content:"";
    position:fixed;inset:0;
    pointer-events:none;z-index:0;
    background:
      radial-gradient(circle at 20% 15%, rgba(177,135,60,.05), transparent 40%),
      radial-gradient(circle at 85% 80%, rgba(138,29,22,.045), transparent 45%);
    mix-blend-mode:multiply;
  }
#jeunes .han{font-family:"Noto Serif SC",serif;}
#jeunes em{font-style:italic;}
#jeunes .page{
    position:relative;z-index:1;
    max-width:820px;
    margin:0 auto;
    padding:80px 56px;
  }
#jeunes section{position:relative;z-index:1;}
#jeunes h1, #jeunes h2, #jeunes h3, #jeunes h4{font-family:"Be Vietnam Pro",serif;font-weight:500;line-height:1.1;margin:0;}
#jeunes .display{font-family:"Be Vietnam Pro",serif;}
#jeunes .kicker{
    font-family:"Be Vietnam Pro",sans-serif;
    font-weight:600;
    font-size:.72rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--lacquer);
    margin-bottom:18px;
  }
#jeunes .kicker.gold{color:var(--gold);}
#jeunes h2.sect{
    font-size:2.9rem;
    font-weight:600;
    color:var(--ink);
    margin-bottom:8px;
    letter-spacing:-.01em;
  }
#jeunes h2.sect .num{
    display:block;
    font-size:.95rem;
    font-family:"Be Vietnam Pro",sans-serif;
    font-weight:600;
    letter-spacing:.3em;
    color:var(--gold);
    margin-bottom:14px;
  }
#jeunes .lead{
    font-size:1.18rem;
    font-weight:300;
    color:var(--ink-soft);
    line-height:1.7;
    max-width:60ch;
  }
#jeunes p{max-width:64ch;}
#jeunes .center{text-align:center;}
#jeunes .center p, #jeunes .center .lead{margin-left:auto;margin-right:auto;}
#jeunes a{color:var(--lacquer);}
#jeunes .rule-gold{
    height:1px;border:0;
    background:linear-gradient(90deg,transparent,var(--gold) 18%,var(--gold) 82%,transparent);
    margin:34px 0;
  }
#jeunes .diamond-rule{
    display:flex;align-items:center;gap:14px;
    margin:40px 0;color:var(--gold);
  }
#jeunes .diamond-rule::before, #jeunes .diamond-rule::after{
    content:"";flex:1;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold-pale));
  }
#jeunes .diamond-rule::after{background:linear-gradient(90deg,var(--gold-pale),transparent);}
#jeunes .diamond-rule span{font-size:.7rem;letter-spacing:.4em;}
#jeunes .seal{
    width:104px;height:104px;
    border-radius:16px;
    background:
      linear-gradient(135deg,var(--lacquer-bright),var(--lacquer-deep));
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px rgba(138,29,22,.35), inset 0 0 0 3px rgba(255,240,225,.22);
    position:relative;
  }
#jeunes .seal::after{
    content:"";position:absolute;inset:8px;border:1.5px solid rgba(255,240,225,.45);border-radius:9px;
  }
#jeunes .seal .han{color:#fbeede;font-size:3.6rem;line-height:1;font-weight:700;position:relative;z-index:1;
    text-shadow:0 2px 4px rgba(0,0,0,.25);}
#jeunes .cover{
    min-height:100vh;
    background:
      radial-gradient(ellipse at 50% 0%, #7d1712, #6a120e 55%, #560d0a);
    color:#f6e9d6;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding:60px 32px;position:relative;overflow:hidden;
  }
#jeunes .cover-cloud{position:absolute;left:0;right:0;opacity:.5;}
#jeunes .cover-cloud.top{top:0;}
#jeunes .cover-cloud.bot{bottom:0;transform:rotate(180deg);}
#jeunes .cover-frame{
    position:absolute;inset:26px;
    border:1.5px solid rgba(216,192,137,.4);
    border-radius:4px;pointer-events:none;
  }
#jeunes .cover-frame::before{
    content:"";position:absolute;inset:7px;border:.5px solid rgba(216,192,137,.25);
  }
#jeunes .cover-inner{position:relative;z-index:2;max-width:640px;animation:jn-rise 1.1s ease both;}
@keyframes jn-rise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
#jeunes .cover .seal{margin:0 auto 34px;
    background:linear-gradient(135deg,#c34036,#7a1611);
    box-shadow:0 14px 40px rgba(0,0,0,.45), inset 0 0 0 3px rgba(255,240,225,.25);}
#jeunes .cover-eyebrow{
    font-weight:600;font-size:.78rem;letter-spacing:.42em;text-transform:uppercase;
    color:var(--gold-pale);margin-bottom:26px;
  }
#jeunes .cover h1{
    font-size:clamp(3.2rem,9vw,5.6rem);
    font-weight:600;letter-spacing:.01em;color:#fbeede;line-height:.98;
  }
#jeunes .cover h1 .sub{display:block;font-size:.42em;font-weight:400;letter-spacing:.06em;color:var(--gold-pale);margin-top:.5em;font-style:italic;}
#jeunes .cover-motto{
    margin-top:40px;font-family:"Be Vietnam Pro",serif;font-style:italic;
    font-size:1.5rem;color:#f0dcbe;line-height:1.5;
  }
#jeunes .cover-motto .han{display:block;font-style:normal;font-size:1.7rem;letter-spacing:.32em;color:var(--gold-pale);margin-bottom:10px;}
#jeunes .cover-foot{
    position:absolute;bottom:42px;left:0;right:0;z-index:2;
    font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(216,192,137,.7);
  }
#jeunes .toc{
    position:fixed;top:50%;right:18px;transform:translateY(-50%);
    z-index:50;display:flex;flex-direction:column;gap:11px;
  }
#jeunes .toc a{
    width:11px;height:11px;border-radius:50%;
    background:transparent;border:1.5px solid var(--gold);
    transition:.25s;position:relative;
  }
#jeunes .toc a:hover{background:var(--lacquer);border-color:var(--lacquer);transform:scale(1.25);}
#jeunes .toc a span{
    position:absolute;right:20px;top:50%;transform:translateY(-50%);
    white-space:nowrap;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
    background:var(--ink);color:var(--paper);padding:4px 9px;border-radius:4px;
    opacity:0;pointer-events:none;transition:.2s;
  }
#jeunes .toc a:hover span{opacity:1;}
#jeunes .letter{
    background:linear-gradient(180deg,#fbf6ec,#f3ead9);
    border:1px solid var(--line);
    border-radius:6px;
    padding:54px 56px;
    box-shadow:0 18px 50px var(--shadow);
    position:relative;
  }
#jeunes .letter::before{
    content:"";position:absolute;top:0;left:0;right:0;height:5px;
    background:linear-gradient(90deg,var(--lacquer),var(--gold),var(--lacquer));
    border-radius:6px 6px 0 0;
  }
#jeunes .dropcap::first-letter{
    font-family:"Be Vietnam Pro",serif;
    float:left;font-size:4.6rem;line-height:.78;
    font-weight:600;color:var(--lacquer);
    padding:6px 12px 0 0;
  }
#jeunes .sign{font-family:"Be Vietnam Pro",serif;font-style:italic;font-size:1.25rem;color:var(--ink-soft);margin-top:8px;}
#jeunes .facts{
    display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
    background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;
    margin-top:46px;
  }
#jeunes .fact{background:var(--paper-2);padding:26px 18px;text-align:center;}
#jeunes .fact .big{font-family:"Be Vietnam Pro",serif;font-size:2.7rem;font-weight:600;color:var(--lacquer);line-height:1;}
#jeunes .fact .lbl{font-size:.74rem;letter-spacing:.08em;color:var(--ink-soft);margin-top:8px;text-transform:uppercase;}
#jeunes .figure-card{
    display:grid;grid-template-columns:96px 1fr;gap:26px;
    background:#fbf6ec;border:1px solid var(--line);border-left:4px solid var(--lacquer);
    border-radius:6px;padding:30px 32px;margin:24px 0;
    box-shadow:0 6px 22px var(--shadow);
  }
#jeunes .figure-card .badge{
    width:96px;height:96px;border-radius:50%;
    background:linear-gradient(140deg,var(--lacquer-bright),var(--lacquer-deep));
    color:var(--gold-pale);display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;box-shadow:inset 0 0 0 2px rgba(255,240,225,.25);
  }
#jeunes .figure-card .badge .g{font-family:"Be Vietnam Pro",serif;font-size:1.9rem;font-weight:600;color:#fbeede;line-height:1;}
#jeunes .figure-card .badge .gl{font-size:.56rem;letter-spacing:.14em;margin-top:5px;text-transform:uppercase;}
#jeunes .figure-card h3{font-size:1.7rem;color:var(--ink);margin-bottom:2px;}
#jeunes .figure-card .role{font-size:.82rem;letter-spacing:.04em;color:var(--gold);font-weight:600;text-transform:uppercase;margin-bottom:12px;}
#jeunes .figure-card p{margin:0;font-size:.97rem;color:var(--ink-soft);}
#jeunes .figure-card p+p{margin-top:10px;}
#jeunes .pill{display:inline-block;background:var(--paper-2);border:1px solid var(--line);border-radius:30px;
    padding:3px 13px;font-size:.74rem;letter-spacing:.04em;color:var(--ink-soft);margin:3px 4px 0 0;}
#jeunes .precept{
    background:radial-gradient(ellipse at top,#7d1712,#5d0f0c);
    color:#f6e9d6;border-radius:8px;padding:50px 48px;position:relative;overflow:hidden;
    box-shadow:0 20px 50px rgba(94,15,12,.4);
  }
#jeunes .precept .corner{position:absolute;width:64px;height:64px;opacity:.55;}
#jeunes .precept .corner.tl{top:14px;left:14px;}
#jeunes .precept .corner.tr{top:14px;right:14px;transform:scaleX(-1);}
#jeunes .precept .corner.bl{bottom:14px;left:14px;transform:scaleY(-1);}
#jeunes .precept .corner.br{bottom:14px;right:14px;transform:scale(-1,-1);}
#jeunes .precept h3{color:var(--gold-pale);font-size:2rem;text-align:center;margin-bottom:6px;}
#jeunes .precept .src{text-align:center;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(216,192,137,.75);margin-bottom:30px;}
#jeunes .precept ol{list-style:none;counter-reset:p;margin:0 auto;padding:0;max-width:560px;}
#jeunes .precept li{counter-increment:p;position:relative;padding:13px 0 13px 52px;border-bottom:1px solid rgba(216,192,137,.18);}
#jeunes .precept li:last-child{border-bottom:0;}
#jeunes .precept li::before{
    content:counter(p,decimal-leading-zero);position:absolute;left:0;top:13px;
    font-family:"Be Vietnam Pro",serif;font-size:1.2rem;color:var(--gold-pale);
    border:1px solid rgba(216,192,137,.4);border-radius:50%;width:34px;height:34px;
    display:flex;align-items:center;justify-content:center;
  }
#jeunes .precept li b{color:#fbeede;font-weight:600;}
#jeunes .precept li .vn{display:block;font-style:italic;font-family:"Be Vietnam Pro",serif;font-size:1.02rem;color:var(--gold-pale);margin-top:2px;}
#jeunes .duty-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;}
#jeunes .duty{background:#fbf6ec;border:1px solid var(--line);border-radius:6px;padding:24px 26px;box-shadow:0 4px 16px var(--shadow);}
#jeunes .duty .icn{font-family:"Noto Serif SC",serif;font-size:1.9rem;color:var(--lacquer);line-height:1;}
#jeunes .duty h4{font-size:1.35rem;margin:10px 0 6px;color:var(--ink);}
#jeunes .duty p{font-size:.92rem;color:var(--ink-soft);margin:0;}
#jeunes .virtue-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px;}
#jeunes .virtue{background:#fbf6ec;border:1px solid var(--line);border-radius:6px;text-align:center;padding:22px 12px;
    box-shadow:0 4px 14px var(--shadow);transition:.25s;}
#jeunes .virtue:hover{transform:translateY(-4px);box-shadow:0 12px 26px var(--shadow);}
#jeunes .virtue .han{font-size:2.5rem;color:var(--lacquer);line-height:1;}
#jeunes .virtue .vn{font-family:"Be Vietnam Pro",serif;font-size:1.35rem;font-weight:600;color:var(--ink);margin-top:8px;}
#jeunes .virtue .fr{font-size:.78rem;color:var(--ink-soft);margin-top:4px;letter-spacing:.02em;}
#jeunes .tree{position:relative;margin:46px 0 10px;padding-left:0;}
#jeunes .tree::before{
    content:"";position:absolute;left:21px;top:6px;bottom:6px;width:2px;
    background:linear-gradient(180deg,var(--gold),var(--lacquer),var(--gold));
  }
#jeunes .gen{position:relative;padding:0 0 26px 64px;}
#jeunes .gen .node{
    position:absolute;left:6px;top:2px;width:32px;height:32px;border-radius:50%;
    background:var(--paper);border:2px solid var(--gold);
    display:flex;align-items:center;justify-content:center;
    font-family:"Be Vietnam Pro",serif;font-weight:600;font-size:.9rem;color:var(--lacquer);
    box-shadow:0 0 0 4px var(--paper);
  }
#jeunes .gen.key .node{background:var(--lacquer);color:#fbeede;border-color:var(--lacquer);}
#jeunes .gen h4{font-size:1.3rem;color:var(--ink);margin-bottom:1px;}
#jeunes .gen .meta{font-size:.78rem;color:var(--gold);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;}
#jeunes .gen p{font-size:.92rem;color:var(--ink-soft);margin:0;max-width:60ch;}
#jeunes .branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;}
#jeunes .branch{background:#fbf6ec;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:24px 26px;box-shadow:0 4px 16px var(--shadow);}
#jeunes .branch .tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lacquer);font-weight:600;}
#jeunes .branch h4{font-size:1.45rem;margin:6px 0 8px;}
#jeunes .branch p{font-size:.9rem;color:var(--ink-soft);margin:0;}
#jeunes .place{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);}
#jeunes .place:last-child{border-bottom:0;}
#jeunes .place .mk{width:54px;height:54px;border-radius:50%;background:var(--paper-2);border:1.5px solid var(--gold);
    display:flex;align-items:center;justify-content:center;font-family:"Noto Serif SC",serif;font-size:1.5rem;color:var(--lacquer);}
#jeunes .place h4{font-size:1.3rem;margin-bottom:3px;}
#jeunes .place p{font-size:.9rem;color:var(--ink-soft);margin:0;}
#jeunes blockquote{
    margin:38px 0;padding:30px 40px;border-left:4px solid var(--gold);
    background:var(--paper-2);border-radius:0 6px 6px 0;
    font-family:"Be Vietnam Pro",serif;font-style:italic;font-size:1.55rem;line-height:1.45;color:var(--lacquer-deep);
  }
#jeunes blockquote cite{display:block;font-family:"Be Vietnam Pro",sans-serif;font-style:normal;font-size:.8rem;font-weight:600;
    letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:16px;}
#jeunes .band-red{background:linear-gradient(180deg,#fbf6ec,#f3ead9);}
#jeunes .band-deep{
    background:radial-gradient(ellipse at top,#7d1712,#5a0e0b);color:#f6e9d6;
  }
#jeunes .band-deep h2.sect{color:#fbeede;}
#jeunes .band-deep h2.sect .num{color:var(--gold-pale);}
#jeunes .band-deep .kicker{color:var(--gold-pale);}
#jeunes .band-deep .lead{color:#ecd9bd;}
#jeunes .band-deep p{color:#e6d3b7;}
#jeunes .colophon{background:#2a221d;color:#d8c089;text-align:center;padding:70px 32px;}
#jeunes .colophon .seal{margin:0 auto 26px;}
#jeunes .colophon h3{font-size:2rem;color:#f6e9d6;}
#jeunes .colophon p{color:#bba887;max-width:54ch;margin:14px auto;font-size:.95rem;}
#jeunes .colophon .small{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:#8d7a5c;margin-top:30px;}
@media (max-width:720px){#jeunes .page{padding:54px 24px;}
#jeunes{font-size:16px;}
#jeunes h2.sect{font-size:2.1rem;}
#jeunes .facts{grid-template-columns:repeat(2,1fr);}
#jeunes .virtue-grid{grid-template-columns:repeat(2,1fr);}
#jeunes .duty-grid, #jeunes .branch-grid{grid-template-columns:1fr;}
#jeunes .figure-card{grid-template-columns:1fr;gap:16px;}
#jeunes .figure-card .badge{margin:0 auto;}
#jeunes .letter, #jeunes .precept, #jeunes .band-deep .page{padding-left:26px;padding-right:26px;}
#jeunes .precept{padding:38px 24px;}
#jeunes .toc{display:none;}
#jeunes blockquote{font-size:1.25rem;padding:22px 24px;}}

/* ═══ IMPRESSION — le livret est fait pour être transmis sur papier ═══ */
@media print {
  /* Chrome du site : masqué */
  .site-header, .site-footer, .to-top, .srch-ov, .skip-link, .grain { display: none !important; }
  /* Navigation/pastilles et boutons d'exploration : sans objet sur papier */
  #jeunes .toc, #jeunes .jd-links, #jeunes .print-btn { display: none !important; }
  /* Fonds laqués → papier clair, texte noir (économie d'encre + lisibilité) */
  #jeunes .cover, #jeunes .band-deep, #jeunes .band-red, #jeunes .precept, #jeunes .colophon {
    background: #fff !important; color: #1a1109 !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    border: 1px solid #b9a77e !important; box-shadow: none !important;
  }
  #jeunes .cover *, #jeunes .band-deep *, #jeunes .band-red *, #jeunes .precept *, #jeunes .colophon * {
    color: #1a1109 !important; text-shadow: none !important;
  }
  /* Éviter les coupures au milieu des cartes et encadrés */
  #jeunes .figure-card, #jeunes .precept, #jeunes .duty, #jeunes .branch,
  #jeunes .facts, #jeunes blockquote, #jeunes .letter { break-inside: avoid; page-break-inside: avoid; }
  #jeunes h2.sect { break-after: avoid; page-break-after: avoid; }
  /* Pleine largeur, pas d'animations */
  #jeunes .jeunes-doc { max-width: 100% !important; }
  #jeunes .reveal { opacity: 1 !important; transform: none !important; }
}
