/**
 * Ortak form validasyon görünümü — checkout, hesap paneli, myAccount vb.
 */
:root {
	--fv-error: var(--primary-color, #717fe0);
	--fv-error-soft: color-mix(in srgb, var(--primary-color, #717fe0) 22%, transparent);
	--fv-focus: var(--primary-color, #717fe0);
	--fv-focus-ring: color-mix(in srgb, var(--fv-focus) 28%, transparent);
	--fv-border-default: #e6e6e6;
}

.bor8,
.bor10,
.js-fv-wrap,
.js-input-container {
	position: relative;
}

.bor8.fv-invalid,
.bor10.fv-invalid,
.js-fv-wrap.fv-invalid,
.js-input-container.fv-invalid {
	border-color: var(--fv-error) !important;
	box-shadow: 0 0 0 3px var(--fv-error-soft) !important;
	background-color: color-mix(in srgb, var(--primary-color, #717fe0) 6%, #ffffff) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

/* Select2: dış bor8 çerçevesini devre dışı bırak, sadece görünür seçim kutusunu vurgula */
.rs1-select2.bor8.fv-invalid {
	border-color: #e6e6e6 !important;
	box-shadow: none !important;
	background-color: transparent !important;
}

.select2-container.fv-invalid .select2-selection--single {
	border: 1px solid var(--fv-error) !important;
	border-radius: 12px;
	box-shadow: 0 0 0 3px var(--fv-error-soft) !important;
	background-color: color-mix(in srgb, var(--primary-color, #717fe0) 6%, #ffffff) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.premium-form-surface .checkout-rounded-field.rs1-select2.fv-invalid {
	border-color: #e5e9f2 !important;
	box-shadow: none !important;
	background-color: transparent !important;
}

.premium-form-surface .select2-container.fv-invalid .select2-selection--single {
	border: 1px solid var(--fv-error) !important;
	box-shadow: 0 0 0 3px var(--fv-error-soft) !important;
	background-color: color-mix(in srgb, var(--primary-color, #717fe0) 6%, #ffffff) !important;
}

.premium-form-surface .checkout-rounded-field.fv-invalid:not(.rs1-select2) {
	overflow: visible;
}

.js-fv-field.fv-has-msg {
	padding-bottom: 0;
}

.rs1-select2.bor8 {
	display: block;
}

.select2-container.fv-attention .select2-selection--single {
	animation: fv-attention 0.55s ease;
}

.bor8.fv-attention,
.bor10.fv-attention,
.js-fv-wrap.fv-attention,
.js-input-container.fv-attention {
	animation: fv-attention 0.55s ease;
}

@keyframes fv-attention {
	0% { transform: translateX(0); }
	18% { transform: translateX(-3px); }
	36% { transform: translateX(3px); }
	54% { transform: translateX(-2px); }
	72% { transform: translateX(2px); }
	100% { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
	.bor8.fv-attention,
	.bor10.fv-attention,
	.js-fv-wrap.fv-attention,
	.js-input-container.fv-attention,
	.select2-container.fv-attention .select2-selection--single {
		animation: none;
	}
}

.bor8:not(.fv-invalid):focus-within,
.bor10:not(.fv-invalid):focus-within,
.js-input-container:not(.fv-invalid):focus-within {
	border-color: var(--fv-focus) !important;
	box-shadow: 0 0 0 2px var(--fv-focus-ring) !important;
}

.fv-help-invalid {
	position: static;
	display: block;
	width: 100%;
	clear: both;
	font-size: 12px;
	line-height: 1.35;
	color: var(--fv-error);
	margin: 6px 0 0;
	font-weight: 500;
	letter-spacing: 0.01em;
	pointer-events: none;
}
