/* ── EPOFW Custom Validation Styling ────────────────────────────────── */

/* Field with validation error */
.epofw-field-invalid {
	border-color: #dc3545 !important;
	background-color: #fff5f5;
}

.epofw-field-invalid:focus {
	border-color: #dc3545 !important;
	box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Field with valid input */
.epofw-field-valid {
	border-color: #28a745;
}

.epofw-field-valid:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

/* Error message styling */
.epofw-validation-error-message {
	display: block;
	color: #dc3545;
	font-size: 13px;
	margin-top: 6px;
	padding: 8px 10px;
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 3px;
	margin-bottom: 10px;
	animation: fadeIn 0.3s ease-in-out;
}

/* Error message text */
.epofw-error-text {
	font-weight: 500;
}



/* Fade in animation */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Disabled add to cart button */
button[name="add-to-cart"].disabled,
button.single_add_to_cart_button.disabled,
.single_add_to_cart_button.disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}


/* Accessibility: reduce motion */
@media ( prefers-reduced-motion: reduce ) {
	.epofw-field-invalid,
	.epofw-field-valid {
		transition: none;
	}

	.epofw-validation-error-message {
		animation: none;
	}
}

/* Mobile responsiveness */
@media ( max-width: 768px ) {
	.epofw-validation-error-message {
		font-size: 12px;
		padding: 5px 6px;
		margin-top: 4px;
	}

	.epofw-field-invalid {
		font-size: 14px;
	}
}
