/* Shared register / onboarding validation UX */

.form-error-banner {
    border: 1px solid #f1aeb5;
    background: #f8d7da;
    color: #58151c;
    border-radius: 0.75rem;
    padding: 0.85rem 1rem;
    margin-bottom: 1.1rem;
}

.form-error-banner__title {
    font-weight: 700;
    margin-bottom: 0.45rem;
    font-size: 0.95rem;
}

.form-error-banner .validation-summary-errors {
    margin: 0;
    padding: 0;
    color: inherit;
}

.form-error-banner .validation-summary-errors ul {
    margin: 0;
    padding-inline-start: 1.2rem;
}

.form-error-banner .validation-summary-errors li {
    margin: 0.2rem 0;
    font-size: 0.9rem;
}

.validation-summary-valid {
    display: none !important;
}

input.input-validation-error,
select.input-validation-error,
textarea.input-validation-error,
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.18) !important;
}

.field-validation-error:not(:empty) {
    display: block;
    color: #dc3545;
    font-size: 0.8rem;
    margin-top: 0.25rem;
}

.po-field:has(.input-validation-error) .po-field-label,
.po-field:has(.is-invalid) .po-field-label {
    color: #b02a37;
}
