/* seminar-details.css — Seminardetails page styles.
   Builds on colors_and_type.css + styles.css. */

/* ───────────── Page shell ───────────── */
.sd-page { background: #fff; color: #111; }

.sd-breadcrumb {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  font-family: 'Univers', 'Ebrima', sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #6e6e6d;
  padding: 24px 0 0;
}
.sd-breadcrumb a { color: #6e6e6d; text-decoration: none; }
.sd-breadcrumb a:hover { color: #f08300; }
.sd-breadcrumb .sep { color: #c5c5c4; }
.sd-breadcrumb .here { color: #000; min-width: 0; overflow-wrap: anywhere; }

/* ───────────── Hero ───────────── */
.sd-hero {
  padding: 56px 0 80px;
  border-bottom: 1px solid #ececec;
}
.sd-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
  gap: 64px;
  align-items: start;
}
.sd-hero-kicker {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: 'Univers', sans-serif;
  font-size: 12px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #f08300;
  margin-bottom: 24px;
}
.sd-hero-kicker::before {
  content: ""; width: 28px; height: 2px; background: #f08300;
}
.sd-hero-title {
  font-family: 'Univers', sans-serif;
  font-weight: 700;
  font-size: clamp(36px, 5vw, 72px);
  letter-spacing: -0.035em;
  line-height: 0.95;
  margin: 0 0 20px;
  color: #000;
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
}
.sd-hero-accent {
  display: block;
  font-family: 'Univers Condensed', 'Univers', sans-serif;
  font-style: italic; font-weight: 400;
  color: #f08300;
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -0.015em;
  line-height: 1.05;
  margin-top: 16px;
  max-width: 22ch;
}
.sd-hero-badges {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin: 28px 0 28px;
}
.sd-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase;
  background: #000; color: #fff;
  padding: 8px 14px; border-radius: 999px;
}
.sd-hero-badge.outline {
  background: transparent; color: #000; border: 1.5px solid #000;
}
.sd-hero-badge .dot { color: #f08300; }
.sd-hero-intro {
  font-family: 'Univers', sans-serif;
  font-size: 18px; line-height: 1.55;
  color: #2a2a2a;
  max-width: 56ch;
  margin: 0 0 36px;
}

/* Facts strip — clean 4-up grid with subtle gray dividers. */
.sd-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #e3e3e2;
  border-bottom: 1px solid #e3e3e2;
  margin-top: 40px;
}
.sd-fact {
  padding: 22px 28px;
  border-right: 1px solid #e3e3e2;
  min-width: 0;
}
.sd-fact:first-child { padding-left: 0; }
.sd-fact:last-child  { padding-right: 0; border-right: 0; }
.sd-fact-label {
  display: block;
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.16em;
  text-transform: uppercase; color: #9d9d9c;
  margin-bottom: 10px;
}
.sd-fact-value {
  display: block;
  font-family: 'Univers', sans-serif;
  font-size: 22px; font-weight: 700; letter-spacing: -0.005em;
  color: #000; line-height: 1.15;
}
.sd-fact-detail {
  display: block;
  font-family: 'Univers', sans-serif;
  font-size: 12px; line-height: 1.4;
  color: #6e6e6d; margin-top: 6px;
}

/* Sticky sidebar card */
.sd-aside {
  position: sticky; top: 120px;
  display: flex; flex-direction: column; gap: 16px;
}
.sd-aside-card {
  background: #f08300; color: #fff;
  border-radius: 18px;
  padding: 28px 26px;
  position: relative; overflow: hidden;
}
.sd-aside-card .mark-bg {
  position: absolute; right: -28px; bottom: -32px;
  width: 180px; height: auto;
  opacity: 0.22;
  pointer-events: none; user-select: none;
}
.sd-aside-eyebrow {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #000;
  margin-bottom: 12px;
}
.sd-aside-title {
  font-family: 'Univers', sans-serif;
  font-size: 22px; font-weight: 700; letter-spacing: -0.015em;
  line-height: 1.2; margin: 0 0 16px;
  color: #fff;
}
.sd-aside-contact {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 0; margin: 4px 0 12px;
  border-top: 1px solid rgba(255,255,255,0.28);
  border-bottom: 1px solid rgba(255,255,255,0.28);
}
.sd-aside-contact.no-border {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}
.sd-aside-avatar {
  width: 44px; height: 44px; border-radius: 999px;
  background: #000; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Univers', sans-serif;
  font-size: 14px; font-weight: 800; letter-spacing: 0.04em;
  flex-shrink: 0;
}
.sd-aside-photo {
  width: 44px; height: 44px; border-radius: 999px;
  object-fit: cover; flex-shrink: 0;
  background: #000;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.35);
}
/* Second+ contact: subtle divider so two people read as a stacked list. */
.sd-aside-person + .sd-aside-person {
  margin-top: 6px; padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.28);
}
.sd-aside-contact > div { min-width: 0; }
.sd-aside-contact-name { font-family: 'Univers', sans-serif; font-size: 14px; font-weight: 700; color: #fff; overflow-wrap: anywhere; }
.sd-aside-contact-role { font-family: 'Univers', sans-serif; font-size: 12px; color: rgba(255,255,255,0.85); overflow-wrap: anywhere; }
.sd-aside-lines {
  display: flex; flex-direction: column; gap: 8px;
  margin-bottom: 18px;
}
.sd-aside-lines a {
  display: inline-flex; align-items: center; gap: 10px;
  color: #fff; text-decoration: none;
  font-family: 'Univers', sans-serif;
  font-size: 13px;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
}
.sd-aside-lines svg { flex-shrink: 0; }
.sd-aside-lines a:hover { color: #000; }
.sd-aside-lines svg { color: #fff; }
.sd-aside-cta {
  display: block; width: 100%;
  background: #000; color: #fff; border: 0;
  border-radius: 999px;
  padding: 16px 28px;
  font-family: 'Univers', sans-serif;
  font-size: 13px; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer; text-align: center; text-decoration: none;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  transition: transform 120ms, background 120ms;
}
.sd-aside-cta:hover { background: #1a1a1a; transform: translateY(-1px); }

/* "Auf einen Blick" — section index card. Brand-signature orange
   register stripe down the left edge; punchy typography. */
.sd-toc {
  background: #fff;
  border: 1px solid #e3e3e2;
  border-left: 8px solid #f08300;
  border-radius: 14px;
  padding: 24px 26px 22px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.06);
  position: relative;
}
.sd-toc::after {
  content: "◆";
  position: absolute;
  top: 22px; right: 22px;
  color: #f08300; font-size: 14px;
  opacity: 0.6;
}
.sd-toc-title {
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #f08300;
  margin: 0 0 6px;
  display: inline-flex; align-items: center; gap: 10px;
}
.sd-toc-title::before {
  content: ""; width: 22px; height: 2px; background: #f08300;
}
.sd-toc-lead {
  font-family: 'Univers', sans-serif;
  font-size: 18px; font-weight: 700; letter-spacing: -0.015em;
  color: #000; line-height: 1.15;
  margin: 0 0 14px;
}
.sd-toc ol {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
  counter-reset: tocstep;
  border-top: 1px solid #ececec;
}
.sd-toc li {
  counter-increment: tocstep;
  border-bottom: 1px solid #ececec;
}
.sd-toc li:last-child { border-bottom: 0; }
.sd-toc a {
  display: flex; align-items: center; gap: 14px;
  text-decoration: none; color: #111;
  font-family: 'Univers', sans-serif;
  font-size: 14px; font-weight: 600;
  padding: 11px 4px;
  transition: color 160ms, padding-left 200ms;
}
.sd-toc a::before {
  content: counter(tocstep, decimal-leading-zero);
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.1em;
  color: #f08300;
  width: 22px;
  flex-shrink: 0;
}
.sd-toc a::after {
  content: "→";
  margin-left: auto;
  color: #c5c5c4;
  font-size: 14px;
  transition: transform 200ms, color 200ms;
}
.sd-toc a:hover { color: #f08300; padding-left: 10px; }
.sd-toc a:hover::after { color: #f08300; transform: translateX(4px); }

/* ───────────── Section frame ───────────── */
.sd-section { padding: 96px 0; border-top: 1px solid #ececec; }
.sd-section:first-of-type { border-top: 0; }
.sd-section.alt { background: #f7f7f6; }
.sd-section.dark { background: #000; color: #fff; }
.sd-section.orange { background: #f08300; color: #000; border-top: 0; }

/* Orange-section heading: section-number flips to black; the italic
   accent flips to white for contrast against the orange field. */
.sd-section.orange .sd-section-num { color: #000; }
.sd-section.orange .sd-section-num::before { background: #000; }
.sd-section.orange .sd-h2 { color: #000; }
.sd-section.orange .sd-h2 em { color: #fff; }

/* "Worum geht's?" card on orange becomes a subtle cream island —
   no orange wash (redundant), no orange register (the whole field
   already does that work); use a slim black register instead. The
   tint takes the harshness off pure white against the orange field. */
.sd-section.orange .sd-about {
  background: #fff5ea;
  border-left: 10px solid #000;
}

/* "Für wen?" intro reads darker for contrast on orange. */
.sd-section.orange .sd-zg-intro { color: #1a1a1a; }

/* Audience cards: warm cream floats against orange instead of harsh
   white. Hover goes black (orange-on-orange would vanish). */
.sd-section.orange .sd-audience {
  background: #fff5ea;
  border-color: rgba(0,0,0,0.08);
}
.sd-section.orange .sd-audience:hover { border-color: #000; }

.sd-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 32px;
  margin-bottom: 56px;
  align-items: baseline;
}
.sd-section-num {
  font-family: 'Univers', sans-serif;
  font-size: 14px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #f08300;
  display: flex; align-items: baseline; gap: 12px;
}
.sd-section-num::before {
  content: ""; width: 28px; height: 2px; background: #f08300;
  align-self: center;
}
.sd-section-num.on-dark { color: #f08300; }
.sd-h2 {
  font-family: 'Univers', sans-serif;
  font-weight: 700;
  font-size: clamp(36px, 4.4vw, 60px);
  letter-spacing: -0.025em;
  line-height: 1.0;
  margin: 0;
  color: inherit;
  text-wrap: balance;
}
.sd-h2 em {
  font-family: 'Univers Condensed', sans-serif;
  font-style: italic; font-weight: 400;
  color: #f08300;
}

/* ───────────── Zielgruppe / Zugangsvoraussetzungen ───────────── */

/* "Worum geht's?" — featured explainer card at top of section.
   Brand-signature orange register stripe on the left edge, soft
   orange wash so it reads as the welcoming entry point. Two-column
   inside: lead paragraph + scannable topics list. */
.sd-about {
  background: #fff8f0;
  border-left: 10px solid #f08300;
  border-radius: 14px;
  padding: 36px 40px 32px;
  margin-bottom: 56px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}
.sd-about-eyebrow {
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #f08300;
  margin-bottom: 16px;
  display: inline-flex; align-items: center; gap: 12px;
}
.sd-about-eyebrow::before {
  content: ""; width: 24px; height: 2px; background: #f08300;
}
.sd-about-lead {
  font-family: 'Univers', sans-serif;
  font-size: 22px; line-height: 1.45;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0;
  max-width: 52ch;
  text-wrap: pretty;
}
.sd-about-topics-wrap {
  border-left: 1px solid rgba(240,131,0,0.20);
  padding-left: 32px;
}
.sd-about-topics-label {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #6e6e6d;
  margin-bottom: 14px;
}
.sd-about-topics {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.sd-about-topic {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: baseline;
  padding: 10px 0;
  border-top: 1px solid rgba(240,131,0,0.18);
  font-family: 'Univers', sans-serif;
}
.sd-about-topic:first-child { border-top: 0; padding-top: 0; }
.sd-about-topic:last-child  { padding-bottom: 0; }
.sd-about-topic-num {
  font-size: 11px; font-weight: 800; letter-spacing: 0.08em;
  color: #f08300;
  font-variant-numeric: tabular-nums;
}
.sd-about-topic-label {
  font-size: 14px; font-weight: 600;
  color: #1a1a1a; line-height: 1.35;
}

/* Mini sub-heading inside the section (for "Für wen?") */
.sd-zg-subhead {
  font-family: 'Univers', sans-serif;
  font-size: 22px; font-weight: 700; letter-spacing: -0.015em;
  color: #000;
  margin: 0 0 12px;
  line-height: 1.15;
}

.sd-zg-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.sd-zg-intro {
  font-family: 'Univers', sans-serif;
  font-size: 16px; line-height: 1.55;
  color: #4a4a4a;
  max-width: 56ch;
  margin: 0 0 24px;
}
.sd-audiences {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.sd-audience {
  background: #fff;
  border: 1px solid #e3e3e2;
  border-radius: 14px;
  padding: 22px 22px 24px;
  transition: border-color 200ms, transform 200ms;
}
.sd-audience:hover {
  border-color: #f08300;
  transform: translateY(-2px);
}
.sd-audience-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: #fff2e6; color: #f08300;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}
.sd-audience-label {
  font-family: 'Univers', sans-serif;
  font-size: 16px; font-weight: 700; letter-spacing: -0.01em;
  margin: 0 0 6px;
  color: #000;
}
.sd-audience-desc {
  font-family: 'Univers', sans-serif;
  font-size: 13px; line-height: 1.5;
  color: #4a4a4a;
  margin: 0;
}

/* Voraussetzungen panel (right side) */
.sd-prereq-card {
  background: #000; color: #fff;
  border-radius: 18px;
  padding: 32px 28px;
}
.sd-prereq-eyebrow {
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #f08300;
  margin-bottom: 12px;
  display: inline-flex; align-items: center; gap: 12px;
}
.sd-prereq-eyebrow::before {
  content: ""; width: 24px; height: 2px; background: #f08300;
}
.sd-prereq-title {
  font-family: 'Univers', sans-serif;
  font-size: 22px; font-weight: 700; letter-spacing: -0.015em;
  line-height: 1.2;
  margin: 0 0 20px;
  color: #fff;
}
.sd-prereq-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
}
.sd-prereq-item {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.sd-prereq-item:first-child { border-top: 0; }
.sd-prereq-check {
  color: #f08300;
  margin-top: 1px;
}
.sd-prereq-label {
  font-family: 'Univers', sans-serif;
  font-size: 14px; font-weight: 700;
  color: #fff;
  margin: 0 0 4px;
}
.sd-prereq-detail {
  font-family: 'Univers', sans-serif;
  font-size: 12px; line-height: 1.45;
  color: rgba(255,255,255,0.7);
  margin: 0;
}

/* ───────────── Module / Inhalte ───────────── */
.sd-modules {
  border-top: 1px solid #e3e3e2;
}
.sd-module {
  display: grid;
  grid-template-columns: 80px minmax(0, 1.2fr) minmax(0, 1.6fr) 1fr;
  gap: 32px;
  padding: 28px 8px;
  border-bottom: 1px solid #e3e3e2;
  align-items: baseline;
  transition: background 200ms, padding 200ms;
}
.sd-module:hover { background: #fff8f0; padding-left: 20px; }
.sd-module-num {
  font-family: 'Univers', sans-serif;
  font-size: 36px; font-weight: 700; letter-spacing: -0.02em;
  color: #000; line-height: 1;
  transition: color 200ms;
}
.sd-module:hover .sd-module-num { color: #f08300; }
.sd-module-eyebrow {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #f08300;
  margin-bottom: 6px;
}
.sd-module-title {
  font-family: 'Univers', sans-serif;
  font-size: 22px; font-weight: 700;
  letter-spacing: -0.015em; line-height: 1.2;
  margin: 0;
  color: #000;
}
.sd-module-desc {
  font-family: 'Univers', sans-serif;
  font-size: 15px; line-height: 1.55;
  color: #4a4a4a;
  margin: 0;
}
.sd-module-arrow {
  justify-self: end;
  color: #c5c5c4;
  transition: color 200ms, transform 200ms;
}
.sd-module:hover .sd-module-arrow {
  color: #f08300; transform: translateX(4px);
}

/* BootCamp callout below modules */
.sd-bootcamp {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 0;
  background: #f08300;
  color: #fff;
  border-radius: 18px;
  overflow: hidden;
  margin-top: 32px;
}
.sd-bootcamp-body { padding: 32px 36px; }
.sd-bootcamp-eyebrow {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #fff;
  margin-bottom: 10px; opacity: 0.85;
}
.sd-bootcamp-title {
  font-family: 'Univers', sans-serif;
  font-size: 32px; font-weight: 700;
  letter-spacing: -0.02em; line-height: 1.05;
  margin: 0 0 12px; color: #fff;
}
.sd-bootcamp-subtitle {
  font-family: 'Univers Condensed', 'Univers', sans-serif;
  font-style: italic;
  font-size: 18px; line-height: 1.3;
  color: #fff; opacity: 0.9; margin: 0 0 16px;
}
.sd-bootcamp-desc {
  font-family: 'Univers', sans-serif;
  font-size: 15px; line-height: 1.55;
  color: #fff; opacity: 0.95; margin: 0;
  max-width: 50ch;
}
.sd-bootcamp-meta-col {
  background: rgba(0,0,0,0.18);
  padding: 32px 36px;
  display: flex; flex-direction: column; justify-content: space-between;
  gap: 20px;
}
.sd-bootcamp-meta-label {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #fff;
  opacity: 0.7; margin-bottom: 6px;
}
.sd-bootcamp-meta-value {
  font-family: 'Univers', sans-serif;
  font-size: 18px; font-weight: 700; line-height: 1.3; color: #fff;
}

/* ───────────── Lernwege ───────────── */
.sd-lw-intro {
  font-family: 'Univers', sans-serif;
  font-size: 18px; line-height: 1.55;
  color: #2a2a2a;
  max-width: 64ch;
  margin: -16px 0 40px;
  grid-column: 2 / -1;
}
.sd-section-head + .sd-lw-intro { margin-top: -32px; }

.sd-lw-tabs {
  display: flex; gap: 10px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.sd-lw-tab {
  display: inline-flex; align-items: center; gap: 12px;
  background: #fff;
  border: 1.5px solid #e3e3e2;
  border-radius: 999px;
  padding: 12px 22px 12px 14px;
  font-family: 'Univers', sans-serif;
  font-size: 14px; font-weight: 700;
  color: #2a2a2a;
  cursor: pointer;
  transition: all 160ms;
}
.sd-lw-tab .num {
  width: 28px; height: 28px;
  border-radius: 999px;
  background: #f7f7f6;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800;
  color: #6e6e6d;
}
.sd-lw-tab:hover { border-color: #000; color: #000; }
.sd-lw-tab.active {
  background: #000; color: #fff; border-color: #000;
}
.sd-lw-tab.active .num {
  background: #f08300; color: #fff;
}
.sd-lw-tab-tagline {
  font-family: 'Univers Condensed', 'Univers', sans-serif;
  font-style: italic; font-weight: 400;
  font-size: 13px;
  color: #6e6e6d;
}
.sd-lw-tab.active .sd-lw-tab-tagline { color: rgba(255,255,255,0.7); }

.sd-lw-panel {
  background: #fff;
  border: 1px solid #e3e3e2;
  border-radius: 18px;
  padding: 36px 36px 32px;
}
.sd-lw-panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto;
  gap: 24px;
  align-items: baseline;
  padding-bottom: 28px;
  border-bottom: 1px solid #ececec;
  margin-bottom: 32px;
}
.sd-lw-panel-title {
  font-family: 'Univers', sans-serif;
  font-size: 26px; font-weight: 700; letter-spacing: -0.02em;
  color: #000; margin: 0 0 6px;
}
.sd-lw-panel-desc {
  font-family: 'Univers', sans-serif;
  font-size: 14px; line-height: 1.5;
  color: #4a4a4a; margin: 0; max-width: 56ch;
}
.sd-lw-bookings {
  display: inline-flex; align-items: baseline; gap: 8px;
  text-align: right;
}
.sd-lw-bookings-num {
  font-family: 'Univers', sans-serif;
  font-size: 56px; font-weight: 800;
  color: #f08300; letter-spacing: -0.03em;
  line-height: 0.9;
}
.sd-lw-bookings-label {
  font-family: 'Univers Condensed', sans-serif;
  font-style: italic; font-size: 14px;
  color: #6e6e6d;
}

/* The track: connected steps */
.sd-track {
  display: grid;
  gap: 0;
  align-items: stretch;
  /* steps + arrows: each step is its own column, arrows between */
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}
.sd-step {
  display: flex; flex-direction: column;
  background: #f7f7f6;
  border: 1.5px solid #e3e3e2;
  border-radius: 14px;
  padding: 20px 22px 22px;
  position: relative;
  min-height: 180px;
}
.sd-step.kind-seminar  { background: #fff8f0; border-color: #ffd9a8; }
.sd-step.kind-bootcamp { background: #000; color: #fff; border-color: #000; }
.sd-step.kind-bootcamp .sd-step-title  { color: #fff; }
.sd-step.kind-bootcamp .sd-step-detail { color: #fff; opacity: 0.85; }
.sd-step.kind-bootcamp .sd-step-note   { color: #fff; opacity: 0.65; }
.sd-step.kind-moodle   { background: #f0f5ff; border-color: #cfdcf5; }
.sd-step.kind-webinar  { background: #f7f0f5; border-color: #e8cbd8; }
.sd-step-booking-tag {
  position: absolute; top: -12px; left: 20px;
  background: #f08300; color: #fff;
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 5px 10px; border-radius: 999px;
}
.sd-step.kind-bootcamp .sd-step-booking-tag { background: #fff; color: #000; }
.sd-step-kind {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #f08300;
  margin: 8px 0 8px;
}
.sd-step.kind-bootcamp .sd-step-kind { color: #f08300; }
.sd-step.kind-moodle .sd-step-kind   { color: #2a6fdb; }
.sd-step.kind-webinar .sd-step-kind  { color: #a8407a; }
.sd-step-title {
  font-family: 'Univers', sans-serif;
  font-size: 18px; font-weight: 700;
  letter-spacing: -0.015em; line-height: 1.2;
  margin: 0 0 8px;
  color: inherit;
}
.sd-step-detail {
  font-family: 'Univers', sans-serif;
  font-size: 13px; line-height: 1.45;
  margin: 0 0 12px;
  opacity: 0.9;
}
.sd-step-note {
  margin-top: auto;
  font-family: 'Univers Condensed', sans-serif;
  font-style: italic;
  font-size: 12px;
  opacity: 0.7;
}
.sd-track-arrow {
  align-self: center; justify-self: center;
  color: #c5c5c4;
  padding: 0 8px;
  flex-shrink: 0;
}

/* Final outcome chip after last step */
.sd-track-end {
  align-self: center;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 6px;
  padding: 16px 12px;
  background: transparent;
  text-align: center;
}
.sd-track-end-icon {
  width: 48px; height: 48px; border-radius: 999px;
  background: #f08300; color: #fff;
  display: flex; align-items: center; justify-content: center;
}
.sd-track-end-label {
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #000;
}

.sd-lw-note {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 14px;
  margin-top: 24px;
  padding: 16px 20px;
  background: #fff8f0;
  border-left: 4px solid #f08300;
  border-radius: 8px;
}
.sd-lw-note-icon { color: #f08300; }
.sd-lw-note-body {
  font-family: 'Univers', sans-serif;
  font-size: 13px; line-height: 1.55;
  color: #2a2a2a;
}

/* Termine list under tabs */
.sd-termine {
  margin-top: 28px;
  border-top: 1px solid #ececec;
  padding-top: 24px;
}
.sd-termine-head {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #6e6e6d;
  margin-bottom: 12px;
}
.sd-termin {
  display: grid;
  grid-template-columns: 200px 1fr 140px 110px auto;
  gap: 20px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #ececec;
  font-family: 'Univers', sans-serif;
  font-size: 14px;
}
.sd-termin:last-child { border-bottom: 0; }
.sd-termin-date { font-weight: 700; color: #000; }
.sd-termin-loc  { color: #4a4a4a; }
.sd-termin-spots { color: #f08300; font-weight: 700; font-size: 12px; letter-spacing: 0.04em; }
.sd-termin-spots::before { content: "● "; font-size: 10px; }
.sd-termin-price { font-weight: 700; color: #000; text-align: right; }
.sd-termin-cta {
  background: #000; color: #fff; border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer; text-decoration: none;
  transition: background 120ms;
}
.sd-termin-cta:hover { background: #f08300; }

/* ───────────── Lehrgangs-Pyramide ───────────── */
.sd-pyr-intro {
  font-family: 'Univers', sans-serif;
  font-size: 18px; line-height: 1.55;
  color: rgba(255,255,255,0.85);
  max-width: 64ch;
  margin: -16px 0 48px;
  grid-column: 2 / -1;
}
.sd-section.dark .sd-section-head { margin-bottom: 32px; }
.sd-section.dark .sd-h2 { color: #fff; }
.sd-section.dark .sd-h2 em { color: #f08300; }

.sd-pyr-stack {
  display: grid;
  gap: 12px;
  max-width: 880px;
}
.sd-pyr-row {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 24px 32px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  transition: background 200ms;
}
.sd-pyr-row.current {
  background: #f08300;
  border-color: #f08300;
}
.sd-pyr-level {
  font-family: 'Univers', sans-serif;
  font-size: 48px; font-weight: 800;
  letter-spacing: -0.03em;
  color: rgba(255,255,255,0.4);
  line-height: 1;
}
.sd-pyr-row.current .sd-pyr-level { color: #fff; }
.sd-pyr-title {
  font-family: 'Univers', sans-serif;
  font-size: 26px; font-weight: 700; letter-spacing: -0.02em;
  margin: 0 0 4px;
  color: #fff;
  line-height: 1.15;
}
.sd-pyr-desc {
  font-family: 'Univers', sans-serif;
  font-size: 14px; line-height: 1.5;
  color: rgba(255,255,255,0.65);
  margin: 0;
}
.sd-pyr-row.current .sd-pyr-desc { color: rgba(255,255,255,0.95); }
.sd-pyr-row-here {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase;
  background: #000; color: #f08300;
  padding: 8px 14px; border-radius: 999px;
}
.sd-pyr-parallel {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 22px 32px;
  border: 1px dashed rgba(255,255,255,0.20);
  border-radius: 14px;
  max-width: 880px;
}
.sd-pyr-parallel-tag {
  font-family: 'Univers', sans-serif;
  font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #f08300;
  margin-bottom: 6px;
}
.sd-pyr-parallel-title {
  font-family: 'Univers', sans-serif;
  font-size: 18px; font-weight: 700; color: #fff;
  margin: 0 0 4px;
  line-height: 1.2;
}
.sd-pyr-parallel-desc {
  font-family: 'Univers', sans-serif;
  font-size: 13px; color: rgba(255,255,255,0.6);
  margin: 0;
}

/* ───────────── Contact section ───────────── */
.sd-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 56px;
  align-items: stretch;
}
.sd-contact-card {
  background: #fff;
  border: 1px solid #e3e3e2;
  border-radius: 22px;
  padding: 40px;
  display: flex; flex-direction: column;
  gap: 24px;
}
.sd-contact-portrait {
  display: flex; align-items: center; gap: 20px;
}
.sd-contact-portrait > div { min-width: 0; }
.sd-contact-avatar-lg {
  width: 96px; height: 96px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f08300 0%, #c46900 100%);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Univers', sans-serif;
  font-size: 32px; font-weight: 800; letter-spacing: 0.02em;
  flex-shrink: 0;
}
.sd-contact-name {
  font-family: 'Univers', sans-serif;
  font-size: 28px; font-weight: 700; letter-spacing: -0.02em;
  color: #000; margin: 0 0 4px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.sd-contact-role {
  font-family: 'Univers', sans-serif;
  font-size: 14px; color: #6e6e6d; margin: 0;
}
.sd-contact-note {
  font-family: 'Univers Condensed', 'Univers', sans-serif;
  font-style: italic;
  font-size: 17px; line-height: 1.5;
  color: #2a2a2a;
  margin: 0;
  padding: 16px 20px;
  border-left: 3px solid #f08300;
  background: #fff8f0;
  border-radius: 4px;
}
.sd-contact-lines {
  display: flex; flex-direction: column; gap: 12px;
  border-top: 1px solid #ececec;
  padding-top: 24px;
}
.sd-contact-line {
  display: grid;
  grid-template-columns: 28px 80px 1fr;
  gap: 14px;
  align-items: center;
  font-family: 'Univers', sans-serif;
  font-size: 15px;
  text-decoration: none;
  color: #000;
  padding: 4px 0;
  transition: color 200ms;
}
.sd-contact-line:hover { color: #f08300; }
.sd-contact-line svg { color: #f08300; }
.sd-contact-line-label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #9d9d9c;
}
.sd-contact-line-value { font-weight: 700; min-width: 0; overflow-wrap: anywhere; }

/* CTA panel beside contact */
.sd-final-cta {
  background: #000;
  color: #fff;
  border-radius: 22px;
  padding: 40px;
  display: flex; flex-direction: column; gap: 16px;
  position: relative; overflow: hidden;
}
.sd-final-cta-mark {
  position: absolute; right: -20px; top: -30px;
  font-size: 220px; line-height: 1;
  font-family: 'Univers', sans-serif; font-weight: 700;
  color: #f08300; opacity: 0.12;
  pointer-events: none; user-select: none;
}
.sd-final-cta-eyebrow {
  font-family: 'Univers', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #f08300;
}
.sd-final-cta-title {
  font-family: 'Univers', sans-serif;
  font-size: 36px; font-weight: 700; letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
  position: relative;
  color: #fff;
}
.sd-final-cta-title em {
  font-family: 'Univers Condensed', sans-serif;
  font-style: italic; font-weight: 400;
  color: #f08300;
}
.sd-final-cta-copy {
  font-family: 'Univers', sans-serif;
  font-size: 14px; line-height: 1.55;
  color: rgba(255,255,255,0.75);
  margin: 0;
  max-width: 36ch;
  position: relative;
}
.sd-final-cta-buttons {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: auto;
  position: relative;
}
.sd-final-cta .dakby-cta {
  box-shadow: 0 8px 24px rgba(240,131,0,0.40);
}

/* ───────────── Responsive ───────────── */
@media (max-width: 1100px) {
  .sd-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .sd-aside { position: static; }
  .sd-section-head { grid-template-columns: 1fr; gap: 12px; }
  .sd-zg-grid { grid-template-columns: 1fr; gap: 40px; }
  .sd-about {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 28px 28px 24px;
  }
  .sd-about-topics-wrap { border-left: 0; padding-left: 0; border-top: 1px solid rgba(240,131,0,0.20); padding-top: 24px; }
  .sd-contact-grid { grid-template-columns: 1fr; gap: 24px; }
  .sd-bootcamp { grid-template-columns: 1fr; }
  .sd-module {
    grid-template-columns: 60px 1fr;
    gap: 16px;
  }
  .sd-module-desc { grid-column: 2 / -1; }
  .sd-module-arrow { display: none; }
}
@media (max-width: 760px) {
  .sd-facts { grid-template-columns: repeat(2, 1fr); }
  .sd-fact:nth-child(2) { border-right: 0; }
  .sd-fact { border-bottom: 1px solid #e3e3e2; }
  .sd-fact:nth-last-child(-n+2) { border-bottom: 0; }
  .sd-audiences { grid-template-columns: 1fr; }
  .sd-track { grid-auto-flow: row; grid-auto-columns: auto; }
  .sd-track-arrow { transform: rotate(90deg); padding: 8px 0; }
  .sd-track-end { padding: 8px; }
  .sd-lw-panel-head { grid-template-columns: 1fr; }
  .sd-pyr-row { grid-template-columns: 60px 1fr; }
  .sd-pyr-row-here { grid-column: 1 / -1; justify-self: start; }
  .sd-termin {
    grid-template-columns: 1fr auto;
    gap: 8px;
  }
  .sd-termin > * { font-size: 13px; }
  .sd-termin-cta { grid-column: 1 / -1; justify-self: start; }
}

/* ───────────────────────── Programs (Weiterbildungen) ───────────────────────── */
/* Program hero badges + aside blocks (detail page) */
.pg-badge {
  font-family: 'Univers', sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: 0.04em;
  padding: 6px 12px; border-radius: 999px;
  background: var(--dakby-orange-10, #fff1e0); color: var(--dakby-orange-70, #b85c00);
}
.pg-aside-block { margin-bottom: 16px; }
.pg-aside-label {
  font-family: 'Univers', sans-serif; font-size: 10px; font-weight: 800;
  letter-spacing: 0.16em; text-transform: uppercase; color: #000; margin-bottom: 4px;
}
.pg-aside-value {
  font-family: 'Univers', sans-serif; font-size: 14px; line-height: 1.45; color: #fff;
}

/* Module list (detail page) */
.pg-modules { display: grid; gap: 18px; }
.pg-module {
  background: #fff; border: 1px solid var(--dakby-line, #e6e6e4);
  border-radius: 16px; padding: 22px 24px;
}
.pg-module-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.pg-module-num {
  font-family: 'Univers', sans-serif; font-size: 18px; font-weight: 800;
  color: var(--dakby-orange-50, #f08300); line-height: 1; padding-top: 2px; flex-shrink: 0;
}
.pg-module-title {
  font-family: 'Univers', sans-serif; font-size: 19px; font-weight: 800;
  margin: 0 0 8px; color: #000;
}
.pg-module-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pg-pill {
  font-family: 'Univers', sans-serif; font-size: 11px; font-weight: 800;
  letter-spacing: 0.06em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 999px;
  background: #000; color: #fff;
}
.pg-pill.wahl { background: var(--dakby-orange-50, #f08300); color: #000; }
.pg-module-count {
  font-family: 'Univers', sans-serif; font-size: 12px; color: var(--dakby-grey-50, #8a8a88);
}
.pg-module-intro {
  font-family: 'Univers', sans-serif; font-size: 14px; line-height: 1.55;
  color: var(--dakby-ink-700, #3a3a39); margin: 8px 0 0;
}
.pg-module-empty {
  font-family: 'Univers', sans-serif; font-size: 14px; color: var(--dakby-grey-50, #8a8a88);
}

/* Seminar rows inside a module */
.pg-sem-list { display: grid; gap: 8px; }
.pg-sem {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 14px; border-radius: 10px; text-decoration: none;
  background: var(--dakby-grey-04, #f7f7f6); transition: background 120ms, transform 120ms;
}
.pg-sem:hover { background: var(--dakby-orange-10, #fff1e0); transform: translateX(2px); }
.pg-sem-title {
  font-family: 'Univers', sans-serif; font-size: 15px; font-weight: 700;
  margin: 0 0 3px; color: #000;
}
.pg-sem-attrs {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Univers', sans-serif; font-size: 12px; color: var(--dakby-grey-50, #8a8a88);
}
.pg-sem-attrs .muted { opacity: 0.7; }
.pg-sem-dates { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-sem-end { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.pg-sem-price { font-family: 'Univers', sans-serif; font-size: 13px; color: #000; }
.pg-sem-price.muted { color: var(--dakby-grey-50, #8a8a88); }
.pg-sem-go { color: var(--dakby-orange-50, #f08300); font-weight: 800; }

/* Program band + cards on the /programm explorer */
.pg-band { margin-bottom: 28px; }
.pg-band-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.pg-band-hint {
  font-family: 'Univers', sans-serif; font-size: 12px; color: var(--dakby-grey-50, #8a8a88);
}
.pg-band-grid {
  display: grid; gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.pg-card {
  display: flex; flex-direction: column;
  border: 1px solid var(--dakby-line, #e6e6e4); border-left: 4px solid var(--dakby-orange-50, #f08300);
  border-radius: 14px; padding: 20px 22px; text-decoration: none;
  background: #fff; transition: box-shadow 140ms, transform 140ms;
}
.pg-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.08); transform: translateY(-2px); }
.pg-card-kicker {
  font-family: 'Univers', sans-serif; font-size: 10px; font-weight: 800;
  letter-spacing: 0.14em; color: var(--dakby-orange-70, #b85c00); margin-bottom: 8px;
}
.pg-card-title {
  font-family: 'Univers', sans-serif; font-size: 18px; font-weight: 800;
  line-height: 1.25; margin: 0 0 8px; color: #000;
}
.pg-card-lead {
  font-family: 'Univers', sans-serif; font-size: 13px; line-height: 1.5;
  color: var(--dakby-ink-700, #3a3a39); margin: 0 0 14px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pg-card-meta {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: auto;
  font-family: 'Univers', sans-serif; font-size: 12px; color: var(--dakby-grey-50, #8a8a88);
}
.pg-card-cert {
  font-weight: 800; color: #000;
  background: var(--dakby-orange-10, #fff1e0); border-radius: 999px; padding: 3px 9px;
}
.pg-card-foot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--dakby-line, #e6e6e4);
}
.pg-card-price { font-family: 'Univers', sans-serif; font-size: 14px; color: #000; }
.pg-card-price.muted { color: var(--dakby-grey-50, #8a8a88); }
.pg-card-go { color: var(--dakby-orange-50, #f08300); font-weight: 800; font-size: 18px; }

/* Choice group — one module-slot offering alternative tracks ("eines wählen"), as tabs */
.pg-module.pg-choice { border-left: 4px solid var(--dakby-orange-50, #f08300); }
.pg-track-tabs {
  display: flex; flex-wrap: wrap; gap: 2px;
  border-bottom: 1px solid var(--dakby-line, #e6e6e4);
  margin-bottom: 16px;
}
.pg-track-tab {
  appearance: none; background: none; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 16px; margin-bottom: -1px;
  font-family: 'Univers', sans-serif; font-size: 14px; font-weight: 700;
  color: var(--dakby-grey-50, #8a8a88);
  border-bottom: 3px solid transparent;
  transition: color 120ms;
}
.pg-track-tab:hover { color: var(--dakby-black, #000); }
.pg-track-tab.is-active {
  color: var(--dakby-black, #000);
  border-bottom-color: var(--dakby-orange-50, #f08300);
}
.pg-track-tab-count {
  font-family: 'Univers', sans-serif; font-size: 11px; font-weight: 800;
  color: #fff; background: var(--dakby-grey-50, #8a8a88);
  border-radius: 999px; padding: 1px 7px; min-width: 20px; text-align: center;
}
.pg-track-tab.is-active .pg-track-tab-count {
  background: var(--dakby-orange-50, #f08300); color: #000;
}

/* „Andere Kunden interessiert auch" — one-line related-seminar grid */
.sd-related-section { border-top: 1px solid var(--dakby-line, #e6e6e4); }
.sd-related-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 1fr);
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.sd-related-card {
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--dakby-line, #e6e6e4);
  border-radius: 14px;
  padding: 20px;
  text-decoration: none;
  transition: box-shadow 140ms, transform 140ms;
}
.sd-related-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.08); transform: translateY(-2px); }
.sd-related-kicker {
  font-family: 'Univers', sans-serif; font-size: 10px; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--dakby-orange-70, #b85c00); margin-bottom: 8px;
}
.sd-related-title {
  font-family: 'Univers', sans-serif; font-size: 17px; font-weight: 800;
  line-height: 1.3; margin: 0 0 8px; color: var(--dakby-black, #000);
}
.sd-related-tagline {
  font-family: 'Univers', sans-serif; font-size: 13px; line-height: 1.5;
  color: var(--dakby-ink-700, #3a3a39); margin: 0 0 14px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sd-related-meta {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: auto;
  font-family: 'Univers', sans-serif; font-size: 12px; color: var(--dakby-grey-50, #8a8a88);
}
