/**
 * Kontaktformular.
 *
 * Bewusst minimal: Eingabefelder, Labels, Fehlermeldungen und Buttons kommen
 * unverändert aus den bestehenden Theme-Komponenten (.form-field, .btn in
 * 02-components.css). Hier stehen nur die beiden Bausteine, die es dort noch
 * nicht gibt — Zustimmungszeile und Statusmeldung. Alle Farben und Abstände
 * über die Theme-Tokens, damit das Formular bei einer Designänderung
 * automatisch mitzieht.
 */

.neptun-contact-form__consent {
    display: flex;
    align-items: flex-start;
    gap: var(--space-s, 0.75rem);
    margin: var(--space-m, 1rem) 0 var(--space-xs, 0.5rem);
    font-size: var(--fs-body-s, 0.9375rem);
    line-height: var(--lh-body, 1.6);
    color: var(--color-text-on-light, #17171a);
    cursor: pointer;
}

.neptun-contact-form__consent input {
    accent-color: var(--neptun-orange, #f6931e);
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 18px;
}

.neptun-contact-form__consent a {
    color: inherit;
    text-decoration: underline;
}

.neptun-contact-form__status {
    margin: var(--space-m, 1rem) 0;
    font-size: var(--fs-body-s, 0.9375rem);
    min-height: 1.25em;
}

.neptun-contact-form__status.is-error {
    color: var(--neptun-error, #c0392b);
}

.neptun-contact-form__status.is-success {
    color: var(--neptun-success, #3e8e5c);
    font-weight: var(--fw-semibold, 600);
}

/* Fehlerzustand auch für einzeilige Felder — 02-components.css deckt
   bisher nur textarea ab. */
.neptun-contact-form .form-field.has-error input,
.neptun-contact-form .form-field.has-error textarea {
    border-color: var(--neptun-error, #c0392b);
}
