/**
 * WTO OTP Modern Field — v3.20.0
 *
 * فیلد OTP در فرم‌های Gravity و Elementor — قبلاً به‌صورت inline در هر صفحه‌ای
 * که فیلد OTP داشت inject می‌شد. حالا یک‌بار enqueue می‌شود و browser cache می‌کند.
 *
 * Scope: .farazsms-otp-modern (در GF + Elementor) — leak به سایر افزونه‌ها ندارد.
 */

.farazsms-otp-modern { direction: rtl; font-family: inherit; margin: 8px 0; }
.farazsms-otp-modern * { box-sizing: border-box; }
.farazsms-otp-modern .farazsms-otp-row,
.farazsms-otp-modern .farazsms-otp-code-row {
	display: flex;
	gap: 8px;
	align-items: stretch;
	background: #f8fafc;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	padding: 8px;
	transition: border-color .2s, box-shadow .2s;
}
.farazsms-otp-modern .farazsms-otp-row:focus-within,
.farazsms-otp-modern .farazsms-otp-code-row:focus-within {
	border-color: #4338ca;
	box-shadow: 0 0 0 3px rgba(67, 56, 202, 0.12);
	background: #fff;
}
.farazsms-otp-modern .farazsms-otp-code-row { margin-top: 10px; }
.farazsms-otp-modern .farazsms-otp-icon {
	font-size: 22px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	flex-shrink: 0;
}
.farazsms-otp-modern .farazsms-otp-mobile,
.farazsms-otp-modern .farazsms-otp-code,
.farazsms-otp-modern input[type="tel"].elementor-field-textual,
.farazsms-otp-modern input[type="text"].elementor-field-textual {
	flex: 1;
	border: 0 !important;
	background: transparent !important;
	padding: 11px 12px !important;
	font-size: 14.5px !important;
	direction: ltr;
	text-align: right;
	font-family: Menlo, Consolas, monospace !important;
	min-width: 0;
	box-shadow: none !important;
	outline: 0 !important;
}
.farazsms-otp-modern .farazsms-otp-code { letter-spacing: 4px; font-size: 18px !important; text-align: center; }
.farazsms-otp-modern .farazsms-otp-send-btn,
.farazsms-otp-modern .farazsms-otp-verify-btn {
	background: #4338ca !important;
	color: #fff !important;
	border: 0 !important;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	flex-shrink: 0;
	transition: background .15s, transform .1s !important;
	box-shadow: 0 4px 12px rgba(67, 56, 202, 0.18) !important;
	text-shadow: none !important;
	line-height: 1.3 !important;
	font-family: inherit !important;
}
.farazsms-otp-modern .farazsms-otp-send-btn:hover,
.farazsms-otp-modern .farazsms-otp-verify-btn:hover {
	background: #3730a3 !important;
	transform: translateY(-1px);
}
.farazsms-otp-modern .farazsms-otp-send-btn:disabled,
.farazsms-otp-modern .farazsms-otp-verify-btn:disabled {
	background: #cbd5e1 !important;
	cursor: not-allowed !important;
	box-shadow: none !important;
	transform: none;
}
.farazsms-otp-modern .farazsms-otp-verify-btn { background: #16a34a !important; box-shadow: 0 4px 12px rgba(22, 163, 74, 0.18) !important; }
.farazsms-otp-modern .farazsms-otp-verify-btn:hover { background: #15803d !important; }
.farazsms-otp-modern .farazsms-otp-msg {
	display: none;
	margin: 10px 0 0;
	padding: 9px 14px;
	border-radius: 8px;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.6;
}
.farazsms-otp-modern .farazsms-otp-msg:not(:empty) { display: block; }
.farazsms-otp-modern .farazsms-otp-msg-ok {
	background: #dcfce7;
	color: #166534;
	border: 1px solid #86efac;
}
.farazsms-otp-modern .farazsms-otp-msg-err {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}
.farazsms-otp-modern .farazsms-otp-hint {
	margin-top: 8px;
	font-size: 11.5px;
	color: #64748b;
	line-height: 1.6;
	padding: 0 4px;
}
@media (max-width: 480px) {
	.farazsms-otp-modern .farazsms-otp-row,
	.farazsms-otp-modern .farazsms-otp-code-row { flex-direction: column; gap: 6px; padding: 10px; }
	.farazsms-otp-modern .farazsms-otp-icon { padding: 0; align-self: flex-start; }
	.farazsms-otp-modern .farazsms-otp-send-btn,
	.farazsms-otp-modern .farazsms-otp-verify-btn { width: 100%; }
}
