/* Ladezeit vor Aesthetik (Playbook §4). Ein Stylesheet, keine Webfonts,
   keine Frameworks — das Skelett traegt spaeter die Copy, nicht umgekehrt. */
:root { --text:#141414; --grau:#5a5a5a; --linie:#e3e3e3; --akzent:#1a4fd6; --max:42rem; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--text); background:#fff; }
main { max-width:var(--max); margin:0 auto; padding:2rem 1.25rem 4rem; }
section { margin:0 0 3rem; }
h1 { font-size:clamp(1.9rem,5vw,2.8rem); line-height:1.15; margin:0 0 .75rem; }
h2 { font-size:1.4rem; margin:0 0 .5rem; }
.subline { font-size:1.15rem; color:var(--grau); margin:0 0 1.5rem; }
.termin { font-weight:600; margin:0 0 .25rem; }
.kein-replay { color:var(--grau); margin:0 0 .5rem; }
.countdown { font-variant-numeric:tabular-nums; color:var(--grau); margin:0 0 1.5rem; }

.cta { display:inline-block; background:var(--akzent); color:#fff; border:0;
  border-radius:.4rem; padding:.9rem 1.6rem; font-size:1.05rem; font-weight:600;
  cursor:pointer; text-decoration:none; }
.cta:disabled { opacity:.5; cursor:default; }
.cta.sekundaer { background:#fff; color:var(--akzent); border:1px solid var(--akzent); }
.cta-sub { font-size:.9rem; color:var(--grau); margin:.5rem 0 0; }

.inhalt ul { padding-left:1.2rem; margin:0; }
.inhalt li { margin:0 0 .6rem; }
.faq details { border-bottom:1px solid var(--linie); padding:.75rem 0; }
.faq summary { cursor:pointer; font-weight:600; }

dialog { border:0; border-radius:.6rem; padding:2rem; max-width:26rem; width:92vw;
  box-shadow:0 1.5rem 3rem rgba(0,0,0,.25); }
dialog::backdrop { background:rgba(0,0,0,.45); }
dialog label { display:block; font-weight:600; margin:1rem 0 .3rem; }
dialog input { width:100%; padding:.7rem; border:1px solid var(--linie);
  border-radius:.35rem; font-size:1rem; }
.optional { font-weight:400; color:var(--grau); }
.feldhinweis, .mailhinweis { font-size:.85rem; color:var(--grau); margin:.4rem 0 0; }
.mailhinweis { margin:1.25rem 0; }
.schliessen { position:absolute; top:.5rem; right:.75rem; background:0; border:0;
  font-size:1.6rem; line-height:1; cursor:pointer; color:var(--grau); }
.fehler { color:#b00020; font-size:.9rem; margin:.75rem 0 0; }
.bestaetigt { font-weight:600; }

.danke .qr { display:block; width:9rem; height:9rem; margin:1rem 0; }
.danke video { width:100%; border-radius:.5rem; background:#000; }

footer { border-top:1px solid var(--linie); padding:1.5rem 1.25rem;
  max-width:var(--max); margin:0 auto; font-size:.9rem; }
footer a { color:var(--grau); margin-right:1.25rem; }

/* Ungefuellte Platzhalter muessen auffallen — die Abnahme prueft auf null Marker. */
.platzhalter { background:#ffe8a3; color:#5a4500; font-family:ui-monospace,monospace;
  font-size:.85em; padding:.1em .45em; border-radius:.25em; font-weight:600; }
