/* start (Selbstregistrierung): service-spezifische Ergänzungen. Nur was
   mastercomponents nicht liefert; token-basiert, Light/Dark über vars.css. */

/* [hidden] verliert sonst gegen display:flex/grid (Upstream-Quirk). */
[hidden] { display: none !important; }

/* Bewusst gekappt: eine öffentliche Registrierungsseite ohne Navigation ist
   ein einzelnes Formular. Volle 100rem wären hier Leerraum, kein Layout. */
.start-main {
    max-width: 40rem;
    margin: 0 auto;
}

.start-brand {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    max-width: 40rem;
    margin: 0 auto var(--padding_large);
    padding: var(--padding) 0 0;
}
.start-brand img { display: block; }
.start-brand__name {
    display: block;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--text_highlight_twux);
    line-height: 1.2;
}
.start-brand small {
    display: block;
    color: var(--text_subtitle);
    font-size: var(--text_size_small);
}

.start-footer {
    max-width: 40rem;
    margin: var(--padding_large) auto 0;
    text-align: center;
    color: var(--text_subtitle);
    font-size: var(--text_size_small);
}
.start-footer a { color: inherit; }
.start-footer span { margin: 0 0.5rem; }

.start-legal {
    margin: 0;
    color: var(--text_subtitle);
    font-size: var(--text_size_small);
    line-height: 1.5;
}

.start-steps {
    margin: 0 0 var(--padding);
    padding-left: 1.4rem;
    line-height: 1.6;
}
.start-steps li + li { margin-top: 0.4rem; }

/* Honeypot: aus dem Sichtfeld, nicht display:none (manche Bots prüfen das). */
.start-hp {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ALTCHA-Widget an die Design-Tokens hängen (Variablen aus altcha.css v3). */
altcha-widget {
    display: block;
    --altcha-color-base: var(--bg_primary);
    --altcha-color-base-content: var(--text_body);
    --altcha-color-neutral: var(--border_color_light);
    --altcha-color-neutral-content: var(--text_subtitle);
    --altcha-color-primary: var(--bg_highlight);
    --altcha-color-primary-content: var(--text_body_invert);
    --altcha-color-success: var(--bg_green);
    --altcha-color-error: var(--bg_red);
    --altcha-border-color: var(--border_color_light);
    --altcha-border-radius: var(--border_radius);
    --altcha-max-width: 100%;
}

/* Click-Wrap: Upstream zentriert .form-check absolut in einer 100%-hohen
   Zeile (form.css); für ein mehrzeiliges Label brauchen wir Fluss-Layout. */
.start-terms.form-group { height: auto; }
.start-terms .form-check {
    position: static;
    transform: none;
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}
.start-terms .form-check-input { flex: 0 0 auto; margin-top: 0.15em; }
.start-terms .form-check-label { line-height: 1.5; }
.start-terms .form-check-label a { color: inherit; text-decoration: underline; }
