/* Shared form validation + success modal (tour-like UX) */

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

.form-check-input.is-invalid {
	border-color: #dc3545 !important;
}

[data-form-ux-check-wrap].is-invalid .form-check-label,
.rostur-auth-consent.is-invalid {
	color: #dc3545;
}

.rostur-form-success-modal .modal-content {
	border: 0;
	border-radius: 16px;
}

.rostur-form-success-modal__icon {
	width: 64px;
	height: 64px;
	margin: 0 auto;
	border-radius: 50%;
	background: #e8f5e9;
	position: relative;
}

.rostur-form-success-modal__icon::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 45%;
	width: 14px;
	height: 26px;
	border: solid #2e7d32;
	border-width: 0 3px 3px 0;
	transform: translate(-50%, -50%) rotate(45deg);
}

.rostur-form-notice--error .rostur-form-success-modal__icon {
	background: #fdecea;
}

.rostur-form-notice--error .rostur-form-success-modal__icon::before {
	content: '×';
	width: auto;
	height: auto;
	border: 0;
	transform: translate(-50%, -50%);
	color: #c62828;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.rostur-form-success-modal__message {
	max-width: 360px;
}
