/* =====================================================================
   Landingpage „KI im Betrieb: der Praxiskurs zum Einstieg“
   Werbeagentur Hoffmann. Eigenständige Fassung: alle Stile in dieser Datei,
   keine Abhängigkeit von der Hauptseite.
   Aufbau: 1. Schriften  2. Basis  3. Kopf und Fuß  4. Danke-Fenster
           5. Grundgerüst der Landingpage (.wh39)  6. Kursseite (.whkk)
   ===================================================================== */

/* ---------- 1. Schriften (lokal, keine Google-Verbindung) ---------- */
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/jost-v14-latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/jost-v14-latin-500.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/jost-v14-latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/jost-v14-latin-700.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/montserrat-v25-latin-regular.woff2') format('woff2'); }

/* ---------- 2. Basis ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body { margin: 0; font-family: "Montserrat", "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.5; color: #333333; background: #FFFFFF; overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
address { font-style: normal; }
.skip-link { position: absolute; left: 10px; top: -60px; z-index: 3000; background: #FFFFFF; color: #000000; padding: 10px 16px; }
.skip-link:focus { top: 10px; }
.hp-feld { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- 3. Kopf und Fuß ---------- */
.lp-kopf { position: sticky; top: 0; z-index: 950; background: #FFFFFF; box-shadow: 0 1px 0 rgba(0,0,0,.08); }
.lp-kopf__innen { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1200px; height: 68px; margin: 0 auto; padding: 0 20px; }
.lp-kopf__logo img { width: auto; height: 44px; }
.lp-kopf__aktionen { display: flex; align-items: center; gap: 18px; }
.lp-kopf__tel { display: inline-flex; align-items: center; gap: 8px; font-family: "Jost", Arial, sans-serif; font-weight: 600; font-size: 18px; color: #000000; white-space: nowrap; }
.lp-kopf__tel svg { width: 36px; height: 36px; padding: 9px; border-radius: 50%; background: #0062C3; fill: #FFFFFF; }
.lp-kopf__tel span { display: none; }
.lp-kopf__tel:hover span { color: #0062C3; }
.lp-kopf__zurueck { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 14px; border: 1px solid #0062C3; color: #0062C3; font-size: 15px; white-space: nowrap; transition: background-color .25s, color .25s; }
.lp-kopf__zurueck svg { width: 16px; height: 16px; fill: currentColor; }
.lp-kopf__zurueck:hover { background: #0062C3; color: #FFFFFF; }
.lp-kopf__zurueck-lang { display: none; }
.lp-kopf__btn { display: none; align-items: center; min-height: 44px; padding: 10px 20px; background: #0062C3; color: #FFFFFF; font-size: 15px; transition: background-color .25s; }
.lp-kopf__btn:hover { background: #0057AD; }

.lp-fuss { background: #0B0C0F; color: #B8BEC9; font-size: 15px; line-height: 1.7; }
.lp-fuss__innen { display: grid; gap: 28px; max-width: 1200px; margin: 0 auto; padding: 50px 20px 40px; }
.lp-fuss__logo { display: inline-block; }
.lp-fuss__logo img { width: 190px; height: auto; }
.lp-fuss__claim { margin: 14px 0 0; max-width: 22em; }
.lp-fuss__titel { margin: 0 0 10px; font-family: "Jost", Arial, sans-serif; font-weight: 600; font-size: 18px; color: #FFFFFF; }
.lp-fuss p { margin: 0 0 8px; }
.lp-fuss a { color: #FFFFFF; }
.lp-fuss a:hover { color: #4C9BEA; }
.lp-fuss__links { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.lp-fuss__unten { border-top: 1px solid rgba(255,255,255,.1); }
.lp-fuss__unten p { max-width: 1200px; margin: 0 auto; padding: 18px 20px; font-size: 13px; color: #7C8492; }

.to-top { position: fixed; right: 16px; bottom: 16px; z-index: 900; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #222B3A; color: #FFFFFF;
  box-shadow: 0 8px 20px rgba(11,12,15,.25); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s, background-color .3s; }
.to-top svg { width: 20px; height: 20px; }
.to-top.is-visible { opacity: 1; visibility: visible; }
.to-top:hover { background: #0062C3; }

@media (min-width: 600px) {
  .lp-kopf__tel span { display: inline; }
}
@media (min-width: 992px) {
  .lp-kopf__innen { height: 84px; }
  .lp-kopf__logo img { height: 52px; }
  .lp-kopf__btn { display: inline-flex; }
  .lp-kopf__zurueck-lang { display: inline; }
  .lp-kopf__zurueck-kurz { display: none; }
  .lp-fuss__innen { grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; padding: 70px 20px 50px; }
  .to-top { right: 30px; bottom: 30px; width: 50px; height: 50px; }
}

/* ---------- 4. Danke-Fenster nach dem Absenden ---------- */
.danke-popup { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(6,22,35,.62); opacity: 0; transition: opacity .25s ease; }
.danke-popup.is-open { opacity: 1; }
.danke-popup__dialog { position: relative; width: 100%; max-width: 440px; padding: 44px 32px 32px; background: #FFFFFF; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.3); border-top: 4px solid #0C4C93; transform: translateY(16px) scale(.97); transition: transform .25s ease; }
.danke-popup.is-open .danke-popup__dialog { transform: none; }
.danke-popup__x { position: absolute; top: 8px; right: 10px; width: 40px; height: 40px; border: 0; background: none; font-size: 30px; line-height: 1; color: #999999; cursor: pointer; }
.danke-popup__x:hover { color: #333333; }
.danke-popup__icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 18px; border-radius: 50%; background: #E8F5E9; }
.danke-popup__icon svg { width: 32px; height: 32px; fill: none; stroke: #1B8A3A; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.danke-popup__titel { margin: 0 0 10px; font-family: "Jost", Arial, sans-serif; font-weight: 500; font-size: 30px; line-height: 1.2; color: #333333; }
.danke-popup__text { margin: 0 0 26px; font-size: 16px; line-height: 1.6; color: #555555; overflow-wrap: anywhere; }
.danke-popup__ok { display: inline-block; min-width: 160px; padding: 13px 28px; border: 0; background: #0C4C93; color: #FFFFFF; font-family: "Jost", Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: .02em; cursor: pointer; transition: background .2s ease; }
.danke-popup__ok:hover, .danke-popup__ok:focus-visible { background: #0062C3; }
body.danke-popup-offen { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .danke-popup, .danke-popup__dialog, .to-top { transition: none; } }

/* ---------- 5. Grundgerüst der Landingpage (.wh39) ---------- */
.wh39 {
  --wh-schwarz: #000000;
  --wh-hell: #F6F6F6;
  --wh-weiss: #FFFFFF;
  --wh-text: #333333;
  --wh-grau: #666666;
  --wh-grau-hell: #DDDDDD;
  --wh-linie: #E4E4E4;
  --wh-navy: #222B3A;
  --wh-navy-hover: #1F2836;
  --wh-blau: #0062C3;
  --wh-blau-hell: #4C9BEA;
  --wh-head: "Jost", "Futura", "Century Gothic", Arial, sans-serif;
  --wh-body: "Montserrat", "Segoe UI", Arial, sans-serif;

  position: relative;
  overflow-x: clip;
  font-family: var(--wh-body);
  font-size: 15px;
  line-height: 1.75;
  color: var(--wh-text);
  -webkit-font-smoothing: antialiased;
}
.wh39 *, .wh39 *::before, .wh39 *::after { box-sizing: border-box; }
.wh39 h1, .wh39 h2, .wh39 h3, .wh39 h4, .wh39 p, .wh39 ul, .wh39 ol, .wh39 dl, .wh39 dd { margin: 0; padding: 0; }
.wh39 ul, .wh39 ol { list-style: none; }
.wh39 img, .wh39 video, .wh39 svg { display: block; max-width: 100%; }
.wh39 a { color: inherit; }
.wh39 :focus-visible { outline: 3px solid var(--wh-blau-hell); outline-offset: 3px; }
.wh39-sprites { position: absolute; width: 0; height: 0; overflow: hidden; }
.wh39-container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 20px; }
.wh39-schmal { max-width: 900px; text-align: center; }
.wh39-sektion { padding-block: 60px; }
.wh39-hell { background: var(--wh-hell); }
.wh39-weiss { background: var(--wh-weiss); }
.wh39-schwarz { background: var(--wh-schwarz); color: var(--wh-weiss); }
/* ---------- Typografie ---------- */
.wh39-eyebrow { font-family: var(--wh-body); font-size: 15px; font-weight: 600; text-transform: uppercase; color: var(--wh-schwarz); margin-bottom: 6px; letter-spacing: .02em; }
.wh39-eyebrow-hell { color: var(--wh-grau-hell); font-weight: 400; }
.wh39-h2 { font-family: var(--wh-head); font-weight: 600; font-size: 30px; line-height: 1.3; text-transform: uppercase; color: var(--wh-schwarz); margin-bottom: 22px; text-wrap: balance; }
.wh39-h3 { font-family: var(--wh-head); font-weight: 600; font-size: 30px; line-height: 1.25; color: var(--wh-weiss); margin: 4px 0 18px; text-wrap: balance; }
.wh39-schmal p + p { margin-top: 16px; }
.wh39-text-hell { color: var(--wh-weiss); }
/* ---------- Buttons (eckig wie auf der Website) ---------- */
.wh39-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 14px 26px; border: 0; border-radius: 0;
  background: var(--wh-navy); color: var(--wh-weiss) !important; font-family: var(--wh-body); font-size: 16px; font-weight: 400; line-height: 1.3; text-decoration: none !important;
  cursor: pointer; transition: background-color .25s, transform .25s; }
.wh39-btn::after { content: "→"; transition: transform .25s; }
.wh39-btn:hover { background: var(--wh-navy-hover); }
.wh39-btn:hover::after { transform: translateX(4px); }
.wh39-btn-weiss { background: var(--wh-weiss); color: var(--wh-schwarz) !important; }
.wh39-btn-weiss:hover { background: var(--wh-hell); }
.wh39-btn-weiss::after { content: none; }
.wh39-btn-blau { background: var(--wh-blau); }
.wh39-btn-blau:hover { background: #0057AD; }
/* ---------- 1. Hero ---------- */
.wh39-hero { position: relative; color: var(--wh-weiss); text-align: center;
  background: var(--wh-schwarz) url("../images/ki-band.jpg") center / cover no-repeat; }
.wh39-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.72) 100%); }
.wh39-hero-grid { position: relative; display: grid; gap: 44px; padding-block: 64px 70px; }
.wh39-hero-text { display: flex; flex-direction: column; align-items: center; gap: 16px; min-width: 0; }
.wh39-buttons { display: flex; flex-direction: column; gap: 0; width: 100%; max-width: 420px; margin-top: 8px; }
.wh39-buttons .wh39-btn { width: 100%; }
/* ---------- 3. Zweispaltig schwarz ---------- */
.wh39-zweispaltig { display: grid; gap: 36px; }
.wh39-spalte-links { min-width: 0; }
/* ---------- 4. Aufwand ---------- */
.wh39-schritte { display: grid; gap: 34px; counter-reset: none; }
.wh39-schritte li { display: grid; justify-items: center; text-align: center; gap: 10px; min-width: 0; }
.wh39-nr { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--wh-navy); color: var(--wh-weiss); font-family: var(--wh-head); font-weight: 600; font-size: 20px; }
.wh39-schritte h4 { font-family: var(--wh-head); font-weight: 700; font-size: 20px; color: var(--wh-schwarz); }
.wh39-schritte p { color: var(--wh-grau); max-width: 26em; }
/* ---------- 5. Zahlen ---------- */
/* ---------- 6. Paket ---------- */
/* ---------- 7. Fragen ---------- */
.wh39-faq { text-align: left; margin-top: 10px; border-top: 1px solid #D8D8D8; }
.wh39-faq details { border-bottom: 1px solid #D8D8D8; }
.wh39-faq summary { display: flex; align-items: flex-start; gap: 10px; padding: 18px 0; cursor: pointer; list-style: none;
  font-family: var(--wh-head); font-weight: 700; font-size: 20px; line-height: 1.3; color: var(--wh-schwarz); }
.wh39-faq summary::-webkit-details-marker { display: none; }
.wh39-faq summary svg { width: 18px; height: 18px; margin-top: 4px; flex: none; color: var(--wh-blau); transition: transform .25s; }
.wh39-faq details[open] summary svg { transform: rotate(90deg); }
.wh39-faq details p { padding: 0 0 20px 28px; color: var(--wh-grau); }
/* ---------- 8. Website-Check ---------- */
.wh39-form { display: grid; gap: 6px; padding: 28px 20px 24px; background: var(--wh-weiss); color: var(--wh-text); min-width: 0; }
.wh39-form h4 { font-family: var(--wh-head); font-weight: 700; font-size: 26px; line-height: 1.2; color: var(--wh-schwarz); }
.wh39-form-sub { color: var(--wh-grau); margin-bottom: 8px; }
.wh39-form label { font-family: var(--wh-head); font-weight: 500; font-size: 15px; color: var(--wh-schwarz); margin-top: 8px; }
.wh39-form input:not([type="checkbox"]) { width: 100%; min-width: 0; height: 52px; padding: 0 14px; border: 1px solid #CCCCCC; border-radius: 0; background: var(--wh-weiss);
  font-family: var(--wh-body); font-size: 16px; color: var(--wh-text); box-shadow: none; margin: 0; }
.wh39-form input:not([type="checkbox"]):focus { outline: none; border-color: var(--wh-navy); box-shadow: 0 0 0 3px rgba(34,43,58,.15); }
.wh39-form label.wh39-einw { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-family: var(--wh-body); font-weight: 400; font-size: 13.5px; line-height: 1.55; color: var(--wh-grau); margin-top: 14px; }
.wh39-einw input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--wh-navy); }
.wh39-einw a { color: var(--wh-blau); }
.wh39-form .wh39-btn { width: 100%; margin-top: 16px; }
.wh39-meldung { margin-top: 12px; padding: 12px 14px; background: #EAF2FB; color: var(--wh-navy); font-size: 14.5px; }
.wh39-meldung.wh39-fehler { background: #FCE8E6; color: #8A1C12; }
.wh39-meldung[hidden] { display: none !important; }
/* ---------- 9. Kontakt ---------- */
/* ---------- Mobile Aktionsleiste ---------- */
.wh39-leiste { position: fixed; z-index: 900; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--wh-navy); color: var(--wh-weiss);
  transform: translateY(110%); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.wh39-leiste.wh39-an { transform: none; }
.wh39-leiste-preis { line-height: 1.1; padding-left: 4px; }
.wh39-leiste-preis b { font-family: var(--wh-head); font-weight: 600; font-size: 26px; }
.wh39-leiste-preis small { display: block; font-size: 12px; opacity: .8; }
.wh39-leiste .wh39-btn { min-height: 48px; padding: 10px 18px; font-size: 15px; }
/* ---------- Ab Tablet ---------- */
@media (min-width: 600px) {
  .wh39-buttons { flex-direction: row; max-width: none; width: auto; }
  .wh39-buttons .wh39-btn { width: auto; }
  .wh39-schritte { grid-template-columns: 1fr 1fr; }
  .wh39-form { padding: 34px 32px 30px; }
}
/* ---------- Ab Desktop ---------- */
@media (min-width: 992px) {
  .wh39 { font-size: 15px; }
  .wh39-sektion { padding-block: 80px; }
  .wh39-hero { text-align: left; }
  .wh39-hero-grid { grid-template-columns: 1.25fr .75fr; align-items: center; padding-block: 90px 100px; gap: 60px; }
  .wh39-hero-text { align-items: flex-start; }
  .wh39-zweispaltig { grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
  .wh39-schritte { grid-template-columns: repeat(4, 1fr); gap: 30px; }
  .wh39-leiste { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .wh39 *, .wh39 *::before, .wh39 *::after { transition: none !important; animation: none !important; }
}
/* ===== Kampagnen-Telefonnummer (oben und unten, gut sichtbar) ===== */
.wh39-anruf { display: inline-flex; align-items: center; gap: 14px; margin-top: 22px; padding: 12px 20px 12px 12px;
  background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .35); color: var(--wh-weiss); text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease; }
.wh39-anruf:hover, .wh39-anruf:focus-visible { background: rgba(255, 255, 255, .18); border-color: var(--wh-weiss); }
.wh39-anruf-icon { flex: 0 0 auto; width: 48px; height: 48px; padding: 12px; border-radius: 50%; background: var(--wh-blau); fill: var(--wh-weiss); }
.wh39-anruf-text { display: flex; flex-direction: column; line-height: 1.15; }
.wh39-anruf-label { font-size: 13px; letter-spacing: .04em; opacity: .85; }
.wh39-anruf-nr { font-family: var(--wh-head); font-weight: 600; font-size: clamp(26px, 6vw, 34px); letter-spacing: .01em; white-space: nowrap; }
.wh39-anruf--gross { margin: 6px 0 4px; background: var(--wh-blau); border-color: var(--wh-blau); }
.wh39-anruf--gross:hover, .wh39-anruf--gross:focus-visible { background: var(--wh-navy); border-color: var(--wh-navy); }
.wh39-anruf--gross .wh39-anruf-icon { background: var(--wh-weiss); fill: var(--wh-blau); }
.wh39-anruf--gross .wh39-anruf-nr { font-size: clamp(30px, 7vw, 44px); }
.wh39-leiste-tel { display: grid; place-items: center; width: 48px; height: 48px; margin-left: auto; border-radius: 50%; background: var(--wh-weiss); }
.wh39-leiste-tel svg { width: 22px; height: 22px; fill: var(--wh-blau); }
.wh39-leiste-tel .wh39-anruf-icon { width: 22px; height: 22px; padding: 0; border-radius: 0; background: none; fill: var(--wh-blau); }
.wh39-leiste .wh39-btn { white-space: nowrap; padding-inline: 14px; }
.wh39-leiste-preis small { white-space: nowrap; }
/* Zurück-nach-oben-Button über die mobile Aktionsleiste schieben */
@media (max-width: 1023px) {
  body:has(.wh39-leiste.wh39-an) .to-top { bottom: 86px; }
}
.wh39-leiste-tel { flex: 0 0 48px; }
/* Telefonnummer links neben dem Formular (Website-Check) */
.wh39-check-tel { margin-top: 28px; }
.wh39-check-tel-label { display: block; margin-bottom: 8px; font-family: var(--wh-head); font-weight: 500; font-size: 18px; color: var(--wh-weiss); }
.wh39-check-tel .wh39-anruf--gross { margin: 0; color: var(--wh-weiss); text-decoration: none; }
.wh39-check-tel .wh39-anruf--gross .wh39-anruf-label { color: rgba(255, 255, 255, .85); }
.wh39-check-tel .wh39-anruf--gross .wh39-anruf-nr { font-size: clamp(26px, 6.4vw, 36px); }
/* ---------- Runde 16 ---------- */
/* Ablauf: Überschriften aller vier Schritte auf einer Höhe */
.wh39-schritte li { align-content: start; align-items: start; }
/* Paket: großes "39 €" genau so breit wie die linke Spalte der Faktentabelle,
   "/ Monat" beginnt auf Höhe von "Mindestlaufzeit" / "12 Monate" */
/* Button so breit wie die linke Spalte */
/* große Telefonnummern: längere Hauptnummer, auf schmalen Handys etwas kleiner */
.wh39-anruf-nr { white-space: nowrap; }
.wh39-check-tel .wh39-anruf--gross .wh39-anruf-nr { font-size: clamp(22px, 6.4vw, 36px); }

/* ---------- 6. Kursseite (.whkk) ---------- */
/* ---------- Hero ---------- */
.whkk .whkk-hero { background-image: url("../images/ki-band.jpg"); }
.whkk .whkk-hero::before { background: linear-gradient(180deg, rgba(0,0,0,.70) 0%, rgba(4,14,32,.86) 100%); }

.whkk-bald { display: inline-flex; align-items: center; gap: 12px; padding: 8px 16px 8px 15px; border: 0;
  font-family: var(--wh-head); font-weight: 600; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: var(--wh-weiss); background: var(--wh-blau); }
.whkk-punkt { position: relative; width: 10px; height: 10px; border-radius: 50%; background: #FFFFFF; flex: none; }
.whkk-punkt::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid #FFFFFF; opacity: 0; animation: whkk-puls 2s ease-out infinite; }
@keyframes whkk-puls { 0% { transform: scale(.5); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }

.whkk-h1 { display: grid; justify-items: center; gap: 8px; margin-top: 4px; }
.whkk-h1-gross { font-family: var(--wh-head); font-weight: 600; font-size: clamp(42px, 11.5vw, 80px); line-height: 1; text-transform: uppercase; letter-spacing: -.01em; text-wrap: balance; }
.whkk-h1-klein { font-family: var(--wh-head); font-weight: 400; font-size: clamp(19px, 4.8vw, 26px); text-transform: uppercase; letter-spacing: .06em; opacity: .9; }
.whkk-lead { max-width: 30em; font-size: 17px; line-height: 1.65; color: rgba(255,255,255,.9); }

/* Bildschirm-Ansicht des Kurses */
.whkk-screen-wrap { position: relative; justify-self: center; width: min(100%, 460px); }
.whkk-screen { background: #FFFFFF; color: var(--wh-text); box-shadow: 0 40px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.12); overflow: hidden; text-align: left; }
.whkk-screen-bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #EEF1F6; border-bottom: 1px solid #E1E5EC; }
.whkk-screen-bar span { width: 10px; height: 10px; border-radius: 50%; background: #C9CFD9; }
.whkk-screen-bar span:first-child { background: #F26B5E; } .whkk-screen-bar span:nth-child(2) { background: #F5BF4F; } .whkk-screen-bar span:nth-child(3) { background: #61C554; }
.whkk-screen-bar b { margin-left: 10px; font-family: var(--wh-head); font-weight: 600; font-size: 13px; color: var(--wh-navy); letter-spacing: .02em; }
.whkk-screen-video { position: relative; aspect-ratio: 16 / 9; background: #F3F5F9; }
.whkk-screen-video img { width: 100%; height: 100%; object-fit: cover; }
.whkk-screen-play { position: absolute; left: 14px; bottom: 14px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
  background: rgba(12,76,147,.92); color: #FFFFFF; box-shadow: 0 8px 24px rgba(12,76,147,.35); }
.whkk-screen-play svg { width: 22px; height: 22px; margin-left: 3px; }
.whkk-screen-info { display: grid; gap: 8px; padding: 14px 16px 6px; }
.whkk-screen-modul { font-family: var(--wh-head); font-weight: 600; font-size: 13px; letter-spacing: .03em; text-transform: uppercase; color: var(--wh-navy); }
.whkk-fortschritt { display: block; height: 6px; background: #E6EAF0; }
.whkk-fortschritt i { display: block; width: 0; height: 100%; background: var(--wh-blau); transition: width 1.6s cubic-bezier(.2,.8,.2,1) .4s; }
.whkk-screen.whkk-an .whkk-fortschritt i { width: 18%; }
.whkk-screen-liste { padding: 4px 8px 12px; }
.whkk-screen-liste li { display: flex; align-items: center; gap: 10px; padding: 8px; font-size: 13.5px; line-height: 1.3; color: var(--wh-text); border-bottom: 1px solid #EEF0F4; }
.whkk-screen-liste li:last-child { border-bottom: 0; }
.whkk-screen-liste svg { width: 22px; height: 22px; padding: 5px; flex: none; border-radius: 50%; background: #E6EAF0; color: var(--wh-navy); }
.whkk-screen-liste small { margin-left: auto; font-size: 12px; color: var(--wh-grau); }
.whkk-screen-liste .whkk-erledigt svg { background: #1E9E5A; color: #FFFFFF; }
.whkk-screen-liste .whkk-aktiv { background: #EEF4FC; font-weight: 600; }
.whkk-screen-liste .whkk-aktiv svg { background: var(--wh-blau); color: #FFFFFF; }




/* ---------- Worum es geht ---------- */
.whkk-intro { margin: 0 auto 40px; }
.whkk-punkte { display: grid; gap: 18px; }
.whkk-punkte li { padding: 28px 26px; background: var(--wh-weiss); border-top: 3px solid var(--wh-blau); }
.whkk-punkte h3 { font-family: var(--wh-head); font-weight: 700; font-size: 22px; line-height: 1.25; color: var(--wh-schwarz); margin-bottom: 8px; }
.whkk-punkte p { color: var(--wh-grau); text-wrap: wrap; }

/* ---------- Kursinhalte ---------- */
.whkk-kopf { text-align: center; margin-bottom: 30px; }
.whkk-module { display: grid; gap: 24px; }
.whkk-modul { position: relative; display: grid; align-content: start; gap: 10px; padding: 26px 22px; background: var(--wh-weiss); min-width: 0; }
.whkk-modul h3 { font-family: var(--wh-head); font-weight: 700; font-size: 24px; line-height: 1.25; color: var(--wh-schwarz); }
.whkk-modul p { color: var(--wh-grau); }
.whkk-modul-nr { justify-self: start; padding: 3px 10px; background: var(--wh-navy); color: var(--wh-weiss); font-family: var(--wh-head); font-weight: 600; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.whkk-modul { border-top: 3px solid var(--wh-blau); }
.whkk-modul .whkk-modul-nr { background: var(--wh-blau); }
.whkk-modul .whkk-modul-umfang { font-family: var(--wh-head); font-weight: 600; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: var(--wh-navy); }
.whkk-modul-kopf { display: grid; gap: 10px; }
.whkk-module-weitere { display: grid; gap: 24px; align-content: start; }
.whkk-tag { justify-self: start; margin-top: 4px; padding: 4px 10px; border: 1px dashed #9AA3B2; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--wh-grau); }

.whkk-abschnitte { margin-top: 8px; border-top: 1px solid var(--wh-linie); }
.whkk-abschnitte details { border-bottom: 1px solid var(--wh-linie); }
.whkk-abschnitte summary { display: flex; align-items: center; gap: 10px; padding: 14px 0; cursor: pointer; list-style: none;
  font-family: var(--wh-head); font-weight: 600; font-size: 18px; line-height: 1.3; color: var(--wh-schwarz); }
.whkk-abschnitte summary::-webkit-details-marker { display: none; }
.whkk-abschnitte summary svg { width: 16px; height: 16px; flex: none; color: var(--wh-blau); transition: transform .25s; }
.whkk-abschnitte details[open] summary svg { transform: rotate(90deg); }
.whkk-abschnitte summary small { margin-left: auto; font-family: var(--wh-body); font-weight: 400; font-size: 13px; color: var(--wh-grau); white-space: nowrap; }
.whkk-abschnitte ul { display: grid; gap: 2px; padding: 0 0 16px 26px; }
.whkk-abschnitte li { position: relative; padding-left: 18px; color: var(--wh-text); }
.whkk-abschnitte li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--wh-blau-hell); }

/* ---------- Formular ---------- */
.whkk .wh39-form .wh39-btn { margin-top: 18px; }

/* ---------- Mobile Leiste ---------- */
.whkk-leiste-text b { font-size: 22px; }

/* ---------- Ab Tablet ---------- */
@media (min-width: 600px) {
  .whkk-modul { padding: 32px 30px; }
  .whkk .whkk-schritte { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Ab Desktop ---------- */
@media (min-width: 992px) {
  .whkk .wh39-hero-grid { grid-template-columns: 1.05fr .95fr; }
  .whkk-h1 { justify-items: start; }
  .whkk-punkte { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .whkk .whkk-schritte { grid-template-columns: repeat(3, 1fr); gap: 40px; }
  .whkk-screen-wrap { width: 100%; max-width: 500px; justify-self: end; }
  .whkk-module { grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
  .whkk-modul { padding: 30px 26px; }
}

/* ---------- Fassung „KI im Betrieb“ (11/2026) ---------- */
.whkk-zitat { margin: 30px auto 0; max-width: 720px; padding: 26px 28px; background: var(--wh-weiss); border-left: 4px solid var(--wh-blau); text-align: left; }
.whkk-zitat blockquote { margin: 0; }
.whkk-zitat blockquote p { font-family: var(--wh-head); font-weight: 500; font-size: 20px; line-height: 1.45; color: var(--wh-schwarz); }
.whkk-zitat figcaption { margin-top: 12px; font-size: 14px; color: var(--wh-grau); }
.whkk-buchen { margin-top: 22px; }
.wh39-form textarea { width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid #CCCCCC; border-radius: 0; background: var(--wh-weiss); font-family: var(--wh-body); font-size: 16px; line-height: 1.5; color: var(--wh-text); resize: vertical; }
.wh39-form textarea:focus { outline: none; border-color: var(--wh-navy); box-shadow: 0 0 0 3px rgba(34,43,58,.15); }
.whkk-bald { letter-spacing: .06em; }
@media (max-width: 599px) { .whkk-bald { font-size: 12.5px; letter-spacing: .04em; } }
/* Module als schlanke Karten, gleich hoch, Lektionsanzahl unten */
.whkk-modul { display: flex; flex-direction: column; gap: 10px; }
.whkk-modul .whkk-modul-nr { align-self: flex-start; }
.whkk-modul .whkk-modul-umfang { margin-top: auto; padding-top: 6px; }
@media (min-width: 992px) { .whkk .whkk-module { align-items: stretch; } }

/* ---------- Preis: Einführungspreis mit durchgestrichenem Normalpreis (11/2026) ---------- */
.whkk-preis { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 4px 0 2px; color: var(--wh-weiss); }
.whkk-preis-alt { font-family: var(--wh-head); font-weight: 500; font-size: 26px; opacity: .7; }
.whkk-preis-alt s { text-decoration-thickness: 2px; text-decoration-color: #FF6B5E; }
.whkk-preis-neu { display: grid; line-height: 1; }
.whkk-preis-neu small { font-family: var(--wh-body); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .85; margin-bottom: 4px; }
.whkk-preis-neu b { font-family: var(--wh-head); font-weight: 600; font-size: 56px; letter-spacing: -.01em; }
.whkk-preis-info { font-size: 13px; line-height: 1.45; opacity: .8; text-align: left; }
.whkk-preis-dunkel { justify-content: flex-start; margin: 20px 0 0; }
.whkk-leiste-text small s { opacity: .75; }
@media (min-width: 992px) { .whkk-hero .whkk-preis { justify-content: flex-start; } }
