.guide-parcours { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:28px 0 38px; }
.fiche-repere { display:block; font:700 12px/1.6 var(--police-ui); color:var(--accent); margin-top:7px; }
.guide-parcours a { background:var(--surface); border:1px solid var(--rule-2); border-radius:15px 15px 5px 5px; padding:16px; text-decoration:none; font-weight:800; color:var(--ink); }
.guide-parcours a span { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--accent-soft); color:var(--accent); margin-right:7px; }
.guide-parcours a small { display:block; font-size:11px; font-weight:600; margin-top:6px; }
.guide-parcours .etape-reprise { border-bottom:4px solid var(--accent); }
.guide-section, #outils-flashcard { scroll-margin-top:90px; }
.guide-section { margin:36px 0 56px; padding-top:20px; border-top:1px dashed var(--rule-2); }
.guide-section > h2 { margin:0 0 22px; }
.guide-section .essentiel { max-width:75ch; line-height:1.8; }
.guide-section p { overflow-wrap:anywhere; }
.guide-schema { margin:30px 0; padding:24px; border:1px solid var(--rule); border-radius:20px; background:var(--surface); }
.guide-schema ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:24px; }
.guide-schema li { position:relative; min-width:0; }
.guide-schema li:not(:last-child)::after { content:'→'; position:absolute; right:-20px; top:0; color:var(--accent); }
.schema-numero { color:var(--accent); font:32px var(--police-carnet); }
.guide-schema h3 { font-size:19px; margin:8px 0; }
.guide-schema p { font-size:15px; margin:0; line-height:1.65; }
.guide-schema figcaption { border-top:1px dashed var(--rule-2); margin-top:22px; padding-top:15px; font-size:13px; color:var(--ink-2); }
.guide-cas { margin:30px 0; padding:25px; background:var(--or-soft); border-left:4px solid var(--or); border-radius:5px 20px 20px 5px; }
.guide-cas h3 { margin:8px 0; }.guide-cas summary { padding:12px 0; cursor:pointer; font-weight:800; }
.guide-principe { margin:14px 0; border:1px solid var(--rule); border-radius:16px; background:var(--surface); overflow:hidden; }
.guide-principe summary { display:flex; gap:18px; align-items:center; padding:15px 20px; min-height:65px; cursor:pointer; font-size:18px; font-weight:800; }
.guide-principe summary::after { content:'+'; margin-left:auto; color:var(--accent); font-size:26px; flex:none; }
.guide-principe[open] summary::after { content:'−'; }
.guide-principe summary img { border-radius:12px; object-fit:cover; flex:none; }
.principe-contenu { display:flex; gap:28px; padding:5px 24px 24px; align-items:center; }
.principe-contenu > div { min-width:0; flex:1; }
.principe-contenu figure { margin:0; width:270px; max-width:40%; flex:none; }
.principe-contenu img { display:block; width:100%; height:auto; border-radius:15px; }
.principe-contenu figcaption { font-size:12px; color:var(--ink-2); margin-top:8px; }
.principe-contenu .source { font-size:12px; line-height:1.7; }
.guide-vigilance { font-size:13px; border-left:3px solid var(--rule-2); padding-left:15px; color:var(--ink-2); margin:24px 0; }
.guide-section .quiz-question h3 { margin:4px 0 24px; font:600 25px/1.45 var(--police-display); }
.guide-section .quiz-question fieldset { min-width:0; }
.guide-section .quiz-retour { margin-bottom:25px; }
.guide-bilan { padding:20px 25px; border:1px solid var(--rule); border-radius:18px; background:var(--surface); }
.guide-bilan h3 { color:var(--accent); }
.guide-memoire label { display:block; margin-bottom:15px; text-transform:none; letter-spacing:0; font-size:18px; line-height:1.6; color:var(--ink); }
.guide-memoire textarea { width:100%; margin-bottom:15px; }
.guide-sources { margin:35px 0; padding:22px; border:1px solid var(--rule); border-radius:16px; }
.guide-sources summary { font-weight:800; cursor:pointer; }
.guide-sources li { margin-bottom:12px; overflow-wrap:anywhere; }
.correction-propositions ul { list-style:none; padding:0; }
.correction-propositions li { border-left:3px solid var(--alerte); padding:8px 15px; margin:14px 0; background:var(--surface); border-radius:0 12px 12px 0; }
.correction-propositions li.proposition-juste { border-color:var(--succes); }
.correction-propositions p { margin:6px 0; }.correction-propositions .indice { display:block; margin-top:5px; }
#memoire-comparaison[hidden] { display:none; }
@media(max-width:800px) { .marque-page-actions { position:static; } }
@media(max-width:600px) {
  .guide-parcours { gap:7px; }.guide-parcours a { padding:12px 7px; font-size:12px; text-align:center; }
  .guide-parcours a span { display:grid; margin:0 auto 7px; }.guide-parcours a small { font-size:9px; }
  .guide-schema { padding:20px; }.guide-schema ol { grid-template-columns:1fr; gap:30px; }
  .guide-schema li:not(:last-child)::after { content:'↓'; top:auto; bottom:-26px; left:0; right:auto; }
  .guide-cas { padding:20px; }.guide-principe summary { gap:12px; padding:12px; font-size:16px; }
  .guide-principe summary img { width:54px; height:54px; }
  .principe-contenu { flex-direction:column; gap:12px; padding:5px 18px 20px; }
  .principe-contenu figure { max-width:100%; width:100%; }.principe-contenu figure img { max-width:300px; margin:auto; }
  .guide-section .quiz-question h3 { font-size:21px; }.correction-propositions li { padding:8px 10px; }
}
@media print { .guide-parcours,.guide-memoire button { display:none; }.guide-section { break-inside:avoid; } }
