/* Formulare im Theme-Look (Figma: SST Formularfeld – Unterstrich, Label oben, Fokus Porphyr) */
.fuz-form .fuz-form__fields { gap: var(--fuz-space-6) var(--fuz-space-5); }
.fuz-form .fuz-form__label { margin-bottom: var(--fuz-space-2); font-size: var(--fuz-fs-label); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; line-height: 1.2; color: var(--fuz-text-secondary); }
.fuz-form .fuz-form__required { color: var(--fuz-accent); }
.fuz-form .fuz-form__control,
.fuz-form select.fuz-form__control,
.fuz-form .fuz-request-form__field input:not([type="checkbox"]):not([type="radio"]),
.fuz-form .fuz-request-form__field textarea {
	width: 100%; padding: 10px 0 12px; font-size: var(--fuz-fs-body); line-height: 1.5;
	color: var(--fuz-text-primary); background: transparent; border: 0; border-bottom: 1px solid var(--fuz-line-strong); border-radius: 0;
	transition: border-color var(--fuz-dur) var(--fuz-ease), box-shadow var(--fuz-dur) var(--fuz-ease);
}
.fuz-form .fuz-form__control::placeholder { color: var(--fuz-text-muted); opacity: 1; }
.fuz-form .fuz-form__control:focus,
.fuz-form .fuz-form__control:focus-visible { outline: none; border-bottom-color: var(--fuz-accent); box-shadow: 0 1px 0 0 var(--fuz-accent); }
.fuz-form select.fuz-form__control { appearance: none; padding-right: 28px; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 10px) 55%, calc(100% - 5px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
.fuz-form textarea.fuz-form__control { min-height: 0; resize: vertical; }
.fuz-form .fuz-form__hint { font-size: var(--fuz-fs-caption); color: var(--fuz-text-secondary); opacity: 1; }
.fuz-form .fuz-form__error { font-size: var(--fuz-fs-caption); color: var(--fuz-accent); }
.fuz-form .is-invalid .fuz-form__control { border-bottom-color: var(--fuz-accent); border-bottom-width: 2px; }
.fuz-form .fuz-form__check, .fuz-form .fuz-form__option { font-size: var(--fuz-fs-body-s); line-height: 1.5; }
.fuz-form .fuz-form__check input, .fuz-form .fuz-form__option input { accent-color: var(--fuz-c-basalt-950); width: 20px; height: 20px; margin-top: 1px; }
[data-fuz-theme="dunkel"] .fuz-form .fuz-form__check input { accent-color: var(--fuz-c-weiss); }
.fuz-form .fuz-form__check a { color: inherit; text-decoration: underline; }
.fuz-form .fuz-form__legend { font-size: var(--fuz-fs-caption); color: var(--fuz-text-secondary); }
.fuz-form .fuz-form__summary { border: 2px solid var(--fuz-accent); border-radius: var(--fuz-radius-s); padding: var(--fuz-space-4) var(--fuz-space-5); }
.fuz-form .fuz-form__summary-title { font-weight: 700; }
.fuz-form .fuz-form__summary a { color: var(--fuz-accent); }
.fuz-form__status:not([hidden]) { padding: var(--fuz-space-4) var(--fuz-space-5); margin-bottom: var(--fuz-space-5); border-radius: var(--fuz-radius-s); border: 1px solid var(--fuz-line-strong); font-weight: 500; }
.fuz-form__status.fuz-request-form__status--success { border-color: currentColor; }

/* Absenden: der Button trägt .fuz-button.fuz-button--primary und übernimmt das Theme-Styling. */
.fuz-form .fuz-form__submit { margin-top: var(--fuz-space-2); }
