/* KI-Schulung 17. 12. 2026 (/ki-schulung/): Eckdaten, Preis, Anmeldung, Bedingungen.
   Baut auf sub.css, sub-ki.css und sub-kontakt.css auf und nutzt nur deren Farbräume. */

/* ---------- Eckdaten ---------- */
.ks-facts { padding-block: clamp(28px, 4vw, 48px); }
.ks-facts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 36px); margin: 0; }
.ks-facts__grid > div { padding-top: 1rem; border-top: 2px solid var(--red); }
.ks-facts__grid dt { margin-bottom: 0.4rem; color: var(--muted); font-size: 0.78rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.ks-facts__grid dd { margin: 0; color: var(--ink); font-weight: 600; line-height: 1.45; }
@media (max-width: 899px) { .ks-facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .ks-facts__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Preis ---------- */
.ks-amount { font-family: var(--f-display); font-size: clamp(2.6rem, 6vw, 4.4rem); font-weight: 900; line-height: 0.95; letter-spacing: -0.01em; text-transform: uppercase; }
.ks-price .ki-node--primary .ks-amount { color: var(--red); }
.ks-note { margin-top: clamp(24px, 3vw, 40px); max-width: var(--measure); }
.ks-small { margin-top: 1rem; font-size: 0.95rem; opacity: 0.85; }

/* Nach Ablauf der Frühbucherfrist blendet ki-schulung.js die Hinweise aus. */
[data-earlybird][hidden] { display: none !important; }

/* Nach dem Anmeldeschluss tauscht ki-schulung.js das Formular gegen den Hinweis. */
[data-ks-open][hidden], [data-ks-closed][hidden], [data-ks-newsletter][hidden] { display: none !important; }
.ks-closed { padding: 1.2rem 1.3rem; border-left: 3px solid var(--red); background: color-mix(in srgb, var(--paper) 70%, #fff); line-height: 1.55; }
.ks-closed:focus { outline: none; }

/* ---------- Anmeldung ---------- */
.ks-signup__split { align-items: start; }
/* sub-kontakt.css stellt das Formular in Spalte 1; hier steht der Text links, das Formular rechts. */
.ks-signup .contact-form-wrap { grid-column: 2; grid-row: 1; }
.ks-signup__split > .sub-section__head { grid-column: 1; grid-row: 1; }
.ks-steps { margin: 1.4rem 0 0; padding: 0; list-style: none; counter-reset: ks; }
.ks-steps li { position: relative; padding: 0.55rem 0 0.55rem 2.6rem; border-bottom: 1px solid var(--line); counter-increment: ks; font-weight: 600; }
.ks-steps li::before { position: absolute; left: 0; top: 0.45rem; width: 1.8rem; height: 1.8rem; border: 1.5px solid var(--red); border-radius: 50%; color: var(--red); content: counter(ks); font-size: 0.85rem; line-height: 1.7rem; text-align: center; }
.ks-pay { margin-top: 1.6rem; }
.ks-form .field small { display: block; margin-top: 0.3rem; }
.ks-summary { margin: 0.4rem 0 0; padding: 0.9rem 1rem; border-left: 3px solid var(--red); background: color-mix(in srgb, var(--paper) 70%, #fff); line-height: 1.5; }

/* ---------- Bedingungen und Aufzeichnung ---------- */
.ks-terms__list { display: grid; gap: 0.9rem; max-width: 70ch; margin: 0; padding-left: 1.3rem; }
.ks-terms__list li { color: var(--ink-2); line-height: 1.55; }
.ks-terms__list strong { color: var(--ink); }
.ks-rec__body p { max-width: var(--measure); color: var(--ink-2); line-height: 1.6; }
.ks-rec__body p + p { margin-top: 1rem; }

@media (max-width: 899px) {
  .ks-signup__split, .ks-recording .sub-split { grid-template-columns: minmax(0, 1fr); }
  .ks-signup .contact-form-wrap, .ks-signup__split > .sub-section__head { grid-column: 1; grid-row: auto; }
}
.ks-vat-status:empty { display: none; }
.ks-vat-status[data-state="valid"] { color: var(--ink); font-weight: 600; }
