/* HIDAIA — pagina /training: voorbeelddag, managementsessie, rode draad en begeleiding.
   CSP-veilig: geen inline stijlen. Bouwt op de tokens en basisstijlen uit styles.css. */

.tr-page [hidden] { display: none !important; }

/* ---------- hero ---------- */
.tr-hero { background: var(--navy-800); color: var(--white); padding: calc(var(--header-h) + 88px) var(--gutter) 88px; }
.tr-hero-inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.tr-hero h1 { font-size: clamp(36px, 4.6vw, 58px); line-height: 1.08; color: var(--white); margin: 14px 0 0; max-width: 720px; }
.tr-hero h1 em { font-style: normal; color: var(--gold-300); display: block; }
.tr-hero-lead { font-size: 19px; color: #C9D4DF; margin: 0 0 28px; max-width: 460px; }
.tr-hero-more { margin: 26px 0 0; }
.tr-hero :focus-visible { outline-color: var(--gold-300); }
.tr-facts { list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); }
.tr-facts li { background: var(--navy-800); padding: 20px 22px; font-size: 14px; color: var(--muted-dark); }
.tr-facts b { display: block; font: 700 22px/1.2 var(--font-display); color: var(--white); margin-bottom: 4px; }

/* ---------- algemene sectiekop ---------- */
.tr-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: end; margin-bottom: 56px; }
.tr-head h2 { max-width: 620px; }
.tr-head > p { font-size: 18px; color: var(--slate); max-width: 520px; margin: 0; }

/* ---------- dagprogramma ---------- */
.tr-daypart { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 56px 0 20px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); }
.tr-daypart:first-of-type { margin-top: 0; }
.tr-daypart h3 { font-size: 24px; margin: 0; }
.tr-daypart span { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-700); }

.tr-timeline { list-style: none; margin: 0; padding: 0; }
.tr-block { display: grid; grid-template-columns: 132px 1fr; gap: 0 36px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.tr-time { font: 700 15px/1.4 var(--font-display); color: var(--ink); font-variant-numeric: tabular-nums; padding-top: 4px; }
.tr-time small { display: block; font: 500 12px/1.4 var(--font-body); color: var(--slate); margin-top: 2px; }
.tr-block-body { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12px 48px; min-width: 0; }
.tr-block h4 { font-family: var(--font-display); font-size: 21px; margin: 0 0 8px; grid-column: 1 / -1; }
.tr-block-body > p { margin: 0; color: var(--slate); }
.tr-block-body:not(:has(ul)) > p { grid-column: 1 / -1; max-width: 700px; }
.tr-block ul { list-style: none; margin: 0; padding: 0; }
.tr-block li { position: relative; padding: 5px 0 5px 20px; font-size: 15px; }
.tr-block li::before { content: ""; position: absolute; inset-inline-start: 0; top: 14px; width: 9px; height: 2px; background: var(--gold-500); }
.tr-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 8px; }
.tr-meta span { font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: var(--radius); background: var(--mist); color: var(--slate); }
.tr-meta span.is-out { background: #F6EDD6; color: #6F541B; }
.tr-block.is-break { padding: 14px 0; }
.tr-block.is-break .tr-time, .tr-block.is-break p { color: var(--slate); font-weight: 500; font-size: 14px; margin: 0; }
.tr-block.is-practice { background: linear-gradient(90deg, rgba(201,162,75,.07), transparent 60%); }

/* ---------- leerdoelen / kaarten ---------- */
.tr-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.tr-cards > * { background: var(--white); padding: 30px 30px 32px; margin: 0; }
.tr-cards h3, .tr-cards h4 { font-family: var(--font-display); font-size: 19px; margin: 0 0 10px; }
.tr-cards p { margin: 0; color: var(--slate); font-size: 15.5px; }
.tr-cards .tr-num { display: block; font-size: 12px; font-weight: 700; color: var(--gold-700); margin-bottom: 16px; }
.tr-goals { list-style: none; margin: 0; padding: 0; counter-reset: goal; display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.tr-goals li { counter-increment: goal; position: relative; padding: 18px 0 18px 46px; border-bottom: 1px solid var(--line); font-size: 16.5px; }
.tr-goals li::before { content: counter(goal, decimal-leading-zero); position: absolute; inset-inline-start: 0; top: 20px; font: 700 12px/1 var(--font-body); color: var(--gold-700); }

/* ---------- management: donker vlak ---------- */
.tr-dark { background: var(--navy-800); color: #C9D4DF; }
.tr-dark h2, .tr-dark h3, .tr-dark h4 { color: var(--white); }
.tr-dark .tr-head > p { color: #C9D4DF; }
.tr-dark .tr-daypart { border-bottom-color: rgba(255,255,255,.35); }
.tr-dark .tr-daypart span { color: var(--gold-300); }
.tr-dark .tr-block { border-bottom-color: rgba(255,255,255,.14); }
.tr-dark .tr-time { color: var(--white); }
.tr-dark .tr-time small, .tr-dark .tr-block-body > p { color: var(--muted-dark); }
.tr-dark .tr-block li { color: #DCE4EC; }
.tr-dark .tr-meta span { background: rgba(255,255,255,.08); color: #C9D4DF; }
.tr-dark .tr-meta span.is-out { background: rgba(231,206,134,.16); color: var(--gold-300); }
.tr-outcome { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); }
.tr-outcome > div { background: var(--navy-800); padding: 26px 26px 28px; }
.tr-outcome h3 { font-size: 17px; margin: 0 0 8px; }
.tr-outcome p { margin: 0; font-size: 15px; color: var(--muted-dark); }

/* ---------- kaart / vel: opdrachtkaart en operating model ---------- */
.tr-sheet-section { background: var(--mist); }
.tr-mist { background: var(--mist); }
.tr-sheet { margin: 0; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--gold-500); max-width: 920px; }
.tr-sheet > div { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 15px 28px; border-bottom: 1px solid var(--line); }
.tr-sheet > div:last-child { border-bottom: 0; }
.tr-sheet dt { font: 700 14px/1.5 var(--font-display); color: var(--ink); }
.tr-sheet dd { margin: 0; color: var(--slate); font-size: 15.5px; }
.tr-sheet.is-dark { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.14); border-top-color: var(--gold-500); max-width: none; }
.tr-sheet.is-dark > div { border-bottom-color: rgba(255,255,255,.12); }
.tr-sheet.is-dark dt { color: var(--white); }
.tr-sheet.is-dark dd { color: #C9D4DF; }
.tr-sub { font-size: 24px; margin: 72px 0 24px; }
.tr-note.light { color: var(--muted-dark); }
.tr-order { margin-top: 1px; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); border-top: 0; }
.tr-order > div { background: rgba(255,255,255,.04); padding: 26px; }
.tr-order h3 { font-size: 17px; margin: 0 0 8px; color: var(--gold-300); }
.tr-order p { margin: 0; font-size: 15px; color: var(--muted-dark); }

/* ---------- rode draad ---------- */
.tr-thread { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.tr-thread-quote { font: 600 clamp(24px, 2.6vw, 32px)/1.25 var(--font-display); color: var(--ink); margin: 0; padding-inline-start: 24px; border-inline-start: 3px solid var(--gold-500); }
.tr-thread-quote + p { margin: 22px 0 0; color: var(--slate); padding-inline-start: 27px; }
.tr-habits { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.tr-habits li { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; color: var(--slate); }
.tr-habits b { color: var(--ink); font-family: var(--font-display); font-size: 15px; }

/* ---------- praktisch + afsluiting ---------- */
.tr-practical { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 72px; }
.tr-practical dl { margin: 0; }
.tr-practical div.row { display: grid; grid-template-columns: 170px 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.tr-practical dt { font-weight: 700; font-size: 14px; color: var(--ink); }
.tr-practical dd { margin: 0; color: var(--slate); font-size: 15.5px; }
.tr-cta { background: var(--mist); text-align: center; }
.tr-cta h2 { max-width: 720px; margin: 0 auto 16px; }
.tr-cta p { color: var(--slate); max-width: 560px; margin: 0 auto 32px; font-size: 18px; }
.tr-cta .button { display: inline-flex; }
.tr-note { margin-top: 28px; font-size: 13px; color: var(--slate); }

@media (max-width: 1020px) {
  .tr-order { grid-template-columns: 1fr; }
  .tr-hero-inner, .tr-head, .tr-thread { grid-template-columns: 1fr; gap: 28px; }
  .tr-facts { grid-template-columns: 1fr 1fr; }
  .tr-block-body { grid-template-columns: 1fr; }
  .tr-cards, .tr-outcome { grid-template-columns: 1fr; }
  .tr-goals, .tr-practical { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .tr-sheet > div { grid-template-columns: 1fr; gap: 2px; padding: 14px 18px; }
  .tr-sub { font-size: 21px; margin-top: 56px; }
  .tr-hero { padding: calc(var(--header-h) + 48px) var(--gutter) 56px; }
  .tr-hero-lead { font-size: 17px; }
  .tr-block { grid-template-columns: 1fr; gap: 8px; padding: 24px 0; }
  .tr-time small { display: inline; margin-inline-start: 8px; }
  .tr-habits li, .tr-practical div.row { grid-template-columns: 1fr; gap: 4px; }
  .tr-cards > * { padding: 24px 22px; }
  .tr-facts li { padding: 16px; }
  .tr-facts b { font-size: 19px; }
}

/* ============================================================
   Rechts-naar-links (Arabisch). Gegenereerd: samengestelde marges/opvullingen met een andere waarde links dan rechts, gespiegeld.
   ============================================================ */
[dir="rtl"] .tr-block li { padding: 5px 20px 5px 0; }
[dir="rtl"] .tr-goals li { padding: 18px 46px 18px 0; }
[dir="rtl"] .tr-block.is-practice { background: linear-gradient(270deg, rgba(201,162,75,.07), transparent 60%); }
