/* Public CSS Stylesheet for Smart Pincode Address Validator */

/* Locked inputs visual styling */
.spav-locked-input,
input.spav-locked-input[readonly] {
	background-color: #f1f5f9 !important;
	color: #64748b !important;
	border-color: #e2e8f0 !important;
	cursor: not-allowed !important;
	outline: none !important;
}

/* Locked Select Dropdown styling */
.spav-locked-select,
select.spav-locked-select {
	background-color: #f1f5f9 !important;
	color: #64748b !important;
	border-color: #e2e8f0 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	touch-action: none !important;
}

.spav-locked-select + .select2-container--default .select2-selection--single {
	background-color: #f1f5f9 !important;
	color: #64748b !important;
	border-color: #e2e8f0 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

/* Loading Spinners */
.spav-postcode-wrapper {
	position: relative;
	display: block;
}

.spav-loading-spinner {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border: 2px solid #cbd5e1;
	border-top-color: #4f46e5;
	border-radius: 50%;
	animation: spav-spin 0.6s linear infinite;
	z-index: 10;
	pointer-events: none;
	display: inline-block;
}

@keyframes spav-spin {
	to {
		transform: translateY(-50%) rotate(360deg);
	}
}

/* Inline notice/feedback messages */
.spav-field-feedback {
	display: block;
	font-size: 11px;
	line-height: 1.3;
	margin-top: 4px;
	font-weight: 500;
	transition: all 0.2s ease;
	animation: spav-fadeIn 0.2s ease-out;
}

.spav-field-feedback.error {
	color: #ef4444;
}

.spav-field-feedback.success {
	color: #10b981;
}

@keyframes spav-fadeIn {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
