/* Ergaenzungen fuer die Coming-soon-Seite. Basis: style.css (Tokens, Header, Hero, Buttons). */
.hero-single { min-height: calc(100vh - var(--header-h) - 120px); display: flex; align-items: center; padding: 3rem 0 4rem; }
.hero-single > .container { width: 100%; }
.hero-narrow { max-width: 640px; }
.hero-narrow h1 { font-size: clamp(1.9rem, 5vw, 3rem); }
.hero-narrow .lead { margin-bottom: 2rem; }

.anmeldung { display: grid; gap: 1rem; max-width: 460px; margin-bottom: 1.75rem; }
.feld label { display: block; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 0.4rem; }
.feld input {
  width: 100%; padding: 0.85rem 1rem; font: inherit; font-size: 1rem; color: var(--text);
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 6px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.feld input:focus-visible { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-dim); }
.feld input[aria-invalid="true"] { border-color: #c0504d; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.anmeldung .btn { justify-self: start; cursor: pointer; }
.anmeldung .btn[disabled] { opacity: 0.6; cursor: wait; }
.meldung { font-size: 0.95rem; line-height: 1.6; padding: 0.9rem 1.1rem; border-radius: 6px; border: 1px solid var(--border); background: var(--bg-card); color: var(--text); }
.meldung.ok { border-color: var(--primary-soft); }
.meldung.fehler { border-color: #c0504d; }
.meldung[hidden] { display: none; }
.einwilligung { font-size: 0.78rem; line-height: 1.6; color: var(--text-faint); }
.einwilligung a { color: var(--text-dim); text-decoration: underline; }

.site-footer { border-top: 1px solid var(--border-soft); padding: 2rem 0 2.5rem; }
.site-footer-links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; margin-bottom: 1rem; }
.site-footer-links a { font-size: 0.85rem; color: var(--text-dim); }
.site-footer-links a:hover { color: var(--primary-bright); }
.site-footer .footer-copy { font-size: 0.75rem; color: var(--text-faint); }
