/**
 * AMA Forms — additions to Bootstrap 5 validation (theme/css/bootstrap.css).
 * Used with theme/js/ama-forms.js (forms with class "needs-validation").
 */

/* Checkbox inside its <label> (theme markup): the feedback follows the label,
 * so Bootstrap's "input ~ .invalid-feedback" can't reach it. */
.was-validated .ama-form__check:has(input:invalid) > .invalid-feedback,
.was-validated .ama-comments__check:has(input:invalid) > .invalid-feedback,
.was-validated .form-check:has(input:invalid) > .invalid-feedback,
.ama-form__check:has(input.is-invalid) > .invalid-feedback,
.ama-comments__check:has(input.is-invalid) > .invalid-feedback,
.form-check:has(input.is-invalid) > .invalid-feedback,
.was-validated [data-ama-group]:has(input:invalid) > .invalid-feedback,
[data-ama-group].is-invalid > .invalid-feedback {
	display: block;
}

/* Green "valid" state only on required fields — optional fields stay neutral. */
.was-validated .form-control:valid:not([required]) {
	padding-right: var(--ama-input-padding-x);
	border-color: var(--ama-input-border-color);
	background-image: none;
}
.was-validated .form-control:valid:not([required]):focus {
	border-color: var(--ama-input-border-color-focus);
	box-shadow: none;
}
.was-validated .form-check-input:valid:not([required]) {
	border-color: var(--ama-input-border-color);
}
.was-validated .form-check-input:valid:not([required]):checked {
	border-color: var(--ama-input-border-color-focus);
	background-color: var(--ama-input-border-color-focus);
}

.invalid-feedback {
	line-height: 1.35;
}

/* Safety net: some theme bootstrap.css builds had ".was-validated," as a
 * separate selector in the invalid <select> rule, which painted the warning
 * icon over the whole form. */
form.was-validated {
	padding-right: 0;
	background-image: none;
}
