/* ═══════════════════════════════════════════════════════════
   WISARD · GEMEINSAMES THEME  (Minimalizer-Stil)
   Wird von allen Kurs-Präsentationen geladen: <link href="/wisard-theme.css">
   clean · Poppins · grüner Verlauf · grosse Bilder
   Divider = Bild + Verlauf + Titel  →  signalisiert Themenwechsel
═══════════════════════════════════════════════════════════ */
:root {
  --bg:    #0f1016;
  --bg2:   #171a24;
  --bg3:   #1e2230;
  --line:  #2a2e3d;
  --txt:   #f5f6fa;
  --muted: #9a9eb3;
  --dim:   #61667a;

  --lime:  #b4e234;
  --emer:  #1faf7a;
  --grad:  linear-gradient(135deg, #bfe93a 0%, #18a877 100%);

  --r-background-color: var(--bg);
  --r-main-color: var(--muted);
  --r-heading-color: var(--txt);
  --r-main-font: "Poppins", sans-serif;
  --r-heading-font: "Poppins", sans-serif;
  --r-link-color: var(--lime);
}

.reveal { font-family: "Poppins", sans-serif; font-weight: 300; }
.reveal .slides { text-align: left; }
.reveal .slides section { padding: 0; height: 100%; width: 100%; overflow: hidden; }
.reveal h1, .reveal h2, .reveal h3, .reveal h4 {
  font-family: "Poppins", sans-serif; text-transform: none;
  font-weight: 600; letter-spacing: -0.015em; color: var(--txt); margin: 0;
}
.reveal .progress { height: 2px; color: var(--lime); }
.reveal .controls { color: var(--lime); }
.reveal .slide-number { display: none; }

/* ── BAUSTEINE ──────────────────────────────────────────── */
.pad { position: absolute; inset: 0; padding: 4.5rem 4rem; display: flex; flex-direction: column; }
.center { justify-content: center; }

.eyebrow { font-size: 0.4em; letter-spacing: 0.28em; text-transform: uppercase; color: var(--lime); font-weight: 500; margin-bottom: 1.2rem; }
.h1 { font-size: 1.4em; line-height: 1.16; font-weight: 600; }
.h1.big { font-size: 1.85em; }
.h1.sm { font-size: 1.05em; }
.lead { font-size: 0.42em; line-height: 1.75; color: var(--muted); font-weight: 300; max-width: 42ch; margin-top: 1.3rem; }
.rule { width: 3rem; height: 2px; background: var(--grad); margin: 1.3rem 0; }
.gradtext { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* Stats */
.stats { display: flex; gap: 3.2rem; margin-top: 2.2rem; }
.stat .num { font-size: 1.4em; font-weight: 700; line-height: 1; }
.stat .lbl { font-size: 0.34em; color: var(--muted); font-weight: 300; margin-top: 0.5rem; }

/* Programm-Spalten (PDF-nah) */
.prog { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 1.6rem; }
.pcol h4 { font-size: 0.5em; font-weight: 600; color: var(--txt); padding-bottom: 0.7rem; margin-bottom: 1rem; border-bottom: 1px solid var(--line); }
.pcol h4::before { content: ""; display: inline-block; width: 0.9rem; height: 2px; background: var(--grad); vertical-align: middle; margin-right: 0.55rem; }
.pcol ul { list-style: none; padding: 0; margin: 0; }
.pcol li { position: relative; padding-left: 1.3em; margin-bottom: 0.8rem; font-size: 0.36em; line-height: 1.45; color: var(--muted); font-weight: 300; }
.pcol li::before { content: ""; position: absolute; left: 0; top: 0.42em; width: 0.4em; height: 0.4em; border-radius: 50%; background: var(--emer); }

/* Steps */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.8rem; margin-top: 2rem; }
.step .si { width: 1.7em; height: 1.7em; color: var(--lime); margin-bottom: 1rem; }
.step .sn { font-size: 0.32em; letter-spacing: 0.2em; color: var(--dim); font-weight: 500; }
.step .st { font-size: 0.5em; font-weight: 600; color: var(--txt); margin: 0.4rem 0 0.6rem; }
.step .sd { font-size: 0.32em; line-height: 1.65; color: var(--muted); font-weight: 300; }
.step.on .st { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* Chips (Disziplinen / Kandidaten / Tags) */
.duo { margin-top: 2.2rem; display: flex; flex-direction: column; gap: 1.8rem; }
.dlabel { font-size: 0.34em; letter-spacing: 0.2em; text-transform: uppercase; color: var(--dim); font-weight: 500; margin-bottom: 0.9rem; }
.chips { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.chip { font-size: 0.38em; font-weight: 400; color: var(--muted); border: 1px solid var(--line); border-radius: 40px; padding: 0.5em 1.1em; }
.chip.acc { border: none; color: #0f1016; font-weight: 500; background: var(--grad); }

/* Numbered list */
.nlist { list-style: none; padding: 0; margin: 1.5rem 0 0; }
.nlist li { position: relative; padding-left: 2.4em; margin-bottom: 1.1rem; font-size: 0.42em; line-height: 1.5; color: var(--muted); font-weight: 300; }
.nlist li b { position: absolute; left: 0; top: -0.1em; font-size: 1.4em; font-weight: 700; }
.nlist li strong { color: var(--txt); font-weight: 600; }

/* Übung-Karten (heller Slide) */
.ex-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; margin-top: 1.8rem; max-width: 80%; }
.es { display: flex; align-items: center; gap: 1.1rem; background: #ffffff; border: 1px solid #e4e5ea; border-radius: 14px; padding: 1rem 1.3rem; }
.es b { font-size: 1.5em; font-weight: 700; line-height: 1; }
.es .et { font-size: 0.46em; font-weight: 600; color: #14151c; }
.es .ed { font-size: 0.34em; color: #6a6d7a; font-weight: 300; margin-top: 0.15rem; }

/* ── SPLIT ──────────────────────────────────────────────── */
.split { position: absolute; inset: 0; display: grid; }
.split.c55 { grid-template-columns: 55% 45%; }
.split.c45 { grid-template-columns: 45% 55%; }
.pane { position: relative; overflow: hidden; }
.pane.pd { padding: 4.5rem 3.4rem; display: flex; flex-direction: column; justify-content: center; }
.img-fill { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ── FULL-BLEED STATEMENT (heller Text, unten) ──────────── */
.full { position: absolute; inset: 0; }
.full .img-fill { position: absolute; inset: 0; }
.scrim-b { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,16,22,.9) 0%, rgba(15,16,22,.28) 42%, transparent 68%); }
.on-img { position: absolute; z-index: 5; left: 4rem; bottom: 4rem; max-width: 62%; }

/* ── DIVIDER (Bild + grüner Verlauf + Titel) → Themenwechsel ─ */
.divider { position: absolute; inset: 0; }
.divider .img-fill { position: absolute; inset: 0; }
.dgrad { position: absolute; inset: 0; background: linear-gradient(108deg, rgba(11,82,57,.95) 0%, rgba(20,150,105,.66) 34%, rgba(150,210,70,.16) 64%, rgba(0,0,0,0) 88%); }
.dtext { position: absolute; left: 4.5rem; top: 50%; transform: translateY(-50%); z-index: 3; max-width: 60%; }
.dtext h1 { font-size: 2em; font-weight: 700; color: #fff; line-height: 1.0; letter-spacing: -0.025em; }
.dtext .drule { width: 3rem; height: 2px; background: rgba(255,255,255,.75); margin: 1.3rem 0; }
.dtext .dsub { font-size: 0.46em; color: rgba(255,255,255,.92); font-weight: 400; }

/* ── ÜBUNG (hell) ───────────────────────────────────────── */
.light { background: #f4f5f7 !important; }
.light .eyebrow { color: var(--emer); }
.light .h1 { color: #14151c; }

/* ── NAV ────────────────────────────────────────────────── */
.nav-back { position: fixed; top: 14px; left: 18px; font-size: 11px; color: #3a3d4a; text-decoration: none; z-index: 1000; transition: color .2s; font-family: "Poppins"; }
.nav-back:hover { color: var(--lime); }
