/* Vaste opbouw van een lesfiche: kop (voor wie en wanneer, leerdoel, kernidee),
   vaste navigatie langs de delen, en vijf delen in vaste volgorde. Bouwt voort op courses.css. */
.fiche { min-width: 0; }
.fiche-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 0; margin: 0 0 1.6rem; border: 1px solid #e2ddd2; border-top: 3px solid #b17b37; background: #faf8f3; }
.fiche-head > div { padding: 1.25rem 1.4rem; }
.fiche-head-who { border-right: 1px solid #e6e1d6; }
.fiche-head p { margin: 0 0 .9rem; line-height: 1.55; color: #24404c; }
.fiche-head p:last-child { margin-bottom: 0; }
.fiche-head-label { margin: 0 0 .25rem !important; color: #8a6230 !important; font-size: .76rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.fiche-goal { color: #102b39 !important; font-size: 1.08rem; font-weight: 650; }
.fiche-key { font-style: italic; }
.fiche-parts-nav { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 2.4rem; }
.fiche-parts-nav a { padding: .35rem .8rem; border: 1px solid #d9ddda; border-radius: 999px; color: #102b39; font-size: .88rem; font-weight: 600; text-decoration: none; }
.fiche-parts-nav a:hover, .fiche-parts-nav a:focus-visible { border-color: #a17131; color: #a17131; }
.fiche-part { scroll-margin-top: 6rem; margin: 0 0 2.6rem; }
.fiche-part > h2 { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.1rem; padding-bottom: .55rem; border-bottom: 1px solid #d9ddda; color: #102b39; font-size: 1.6rem; letter-spacing: -.02em; }
.fiche-part > h2::before { content: ''; flex: none; width: .55rem; height: .55rem; border-radius: 50%; background: #b17b37; }
.fiche-part .course-prose > h3:first-child { margin-top: .4rem; }
.fiche-part--voorbeeld, .fiche-part--reflectie { padding: 1.3rem 1.4rem 1.1rem; background: #f6f5f1; border-left: 3px solid #b7894f; }
.fiche-part--voorbeeld > h2, .fiche-part--reflectie > h2 { border-bottom-color: #e2ddd2; }
.fiche-part--voorbeeld .course-callout:not(.course-callout--accent), .fiche-part--reflectie .course-callout:not(.course-callout--accent) { background: #fff; }
.fiche-part--bronnen > h2 { font-size: 1.15rem; }
.fiche-part--bronnen .course-prose { color: #4c5b61; font-size: .95rem; line-height: 1.6; }
.fiche-preview-banner { margin: 0 0 1.6rem; padding: .7rem 1rem; border: 1px dashed #b17b37; background: #fffaf0; color: #5a4320; font-size: .92rem; }
.fiche-preview-index { margin: 0; padding: 0; list-style: none; }
.fiche-preview-index li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid #d9ddda; }
.fiche-preview-index .ok { color: #2f6b3f; font-weight: 700; }
.fiche-preview-index .fout { color: #9b2c2c; font-weight: 700; }
@media (max-width: 820px) {
  .fiche-head { grid-template-columns: 1fr; }
  .fiche-head-who { border-right: 0; border-bottom: 1px solid #e6e1d6; }
}
@media (max-width: 620px) {
  .fiche-head > div { padding: 1rem; }
  .fiche-part--voorbeeld, .fiche-part--reflectie { padding: 1rem 1rem .9rem; }
  .fiche-part > h2 { font-size: 1.35rem; }
}
