.voroodafzar-otp {
	--voroodafzar-accent: #2563eb;
	--voroodafzar-accent-dark: #1d4ed8;
	--voroodafzar-ink: #151515;
	--voroodafzar-muted: #6f7378;
	--voroodafzar-border: #e5e6e8;
	--voroodafzar-soft: #f7f7f8;
	box-sizing: border-box;
	direction: rtl;
	width: min(100%, 470px);
	margin: 28px auto;
	padding: 30px;
	border: 1px solid var(--voroodafzar-border);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(18, 18, 18, .08);
	color: var(--voroodafzar-ink);
	font-family: inherit;
	text-align: right;
}

.voroodafzar-otp *,
.voroodafzar-otp *::before,
.voroodafzar-otp *::after {
	box-sizing: border-box;
}

.voroodafzar-otp__mark {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin: 0 0 18px auto;
	border-radius: 15px;
	background: var(--voroodafzar-accent);
	box-shadow: 0 8px 22px rgba(37, 99, 235, .22);
	color: #fff;
	font: 800 15px/1 Arial, sans-serif;
	letter-spacing: -.5px;
	overflow: hidden;
}

.voroodafzar-otp__mark--image {
	width: auto;
	max-width: 140px;
	height: auto;
	padding: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.voroodafzar-otp__mark--image img {
	display: block;
	max-width: 140px;
	max-height: 52px;
	width: auto;
	height: auto;
	object-fit: contain;
}


.voroodafzar-otp.is-code-stage .voroodafzar-otp__header {
	display: none;
}

.voroodafzar-otp.is-code-stage .voroodafzar-otp__mark {
	margin-bottom: 28px;
}

.voroodafzar-otp__header h2 {
	margin: 0 0 8px;
	color: var(--voroodafzar-ink);
	font-size: clamp(21px, 4vw, 26px);
	font-weight: 800;
	line-height: 1.45;
}

.voroodafzar-otp__header p,
.voroodafzar-otp__sent {
	margin: 0 0 24px;
	color: var(--voroodafzar-muted);
	font-size: 14px;
	line-height: 1.9;
}

.voroodafzar-otp__sent strong {
	color: var(--voroodafzar-ink);
	font-family: Arial, sans-serif;
	font-weight: 800;
}

.voroodafzar-otp__stage > label {
	display: block;
	margin: 0 0 9px;
	font-size: 14px;
	font-weight: 700;
}

.voroodafzar-otp__phone-wrap {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 56px;
	border: 1px solid var(--voroodafzar-border);
	border-radius: 14px;
	background: var(--voroodafzar-soft);
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.voroodafzar-otp__phone-wrap:focus-within {
	border-color: var(--voroodafzar-accent);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.voroodafzar-otp__country {
	display: inline-grid;
	place-items: center;
	align-self: stretch;
	min-width: 66px;
	padding: 0 12px;
	border-right: 1px solid var(--voroodafzar-border);
	background: #fff;
	color: #34363a;
	font: 700 14px/1 Arial, sans-serif;
}

.voroodafzar-otp input[data-phone] {
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 16px;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--voroodafzar-ink) !important;
	font: 600 17px/1.2 Arial, sans-serif;
	text-align: left;
}

.voroodafzar-otp__stage > small {
	display: block;
	margin-top: 7px;
	color: #8a8d91;
	font-size: 12px;
	line-height: 1.8;
}

.voroodafzar-otp__code-shell {
	position: relative;
	width: 100%;
	min-height: 58px;
	cursor: text;
}

.voroodafzar-otp__digits {
	display: flex;
	gap: 8px;
	width: 100%;
	direction: ltr;
}

.voroodafzar-otp__digit {
	display: grid;
	flex: 1 1 0;
	place-items: center;
	min-width: 0;
	height: 58px;
	border: 1px solid var(--voroodafzar-border);
	border-radius: 12px;
	background: var(--voroodafzar-soft);
	color: var(--voroodafzar-ink);
	font: 800 22px/1 Arial, sans-serif;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}

.voroodafzar-otp__digit.is-filled {
	border-color: #cfd1d4;
	background: #fff;
}

.voroodafzar-otp__digit.is-current {
	border-color: var(--voroodafzar-accent);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.voroodafzar-otp__code-shell.is-complete .voroodafzar-otp__digit {
	border-color: rgba(37, 99, 235, .55);
}

.voroodafzar-otp__code-shell.is-expired .voroodafzar-otp__digit,
.voroodafzar-otp.has-error .voroodafzar-otp__code-shell .voroodafzar-otp__digit {
	border-color: #e6b6b0;
}

.voroodafzar-otp__code-input {
	position: absolute !important;
	z-index: 3;
	inset: 0;
	width: 100% !important;
	height: 58px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: transparent !important;
	caret-color: transparent !important;
	opacity: .01;
	font-size: 16px !important;
	letter-spacing: 1em;
	cursor: text;
}

.voroodafzar-otp__code-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 23px;
	margin-top: 9px;
	color: #85898e;
	font-size: 11.5px;
	line-height: 1.7;
}

.voroodafzar-otp__code-meta b {
	color: #55595e;
	font-family: Arial, sans-serif;
}

.voroodafzar-otp button.voroodafzar-otp__primary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	min-height: 52px;
	margin: 20px 0 0;
	padding: 12px 18px;
	border: 0 !important;
	border-radius: 14px;
	background: #343434 !important;
	box-shadow: none;
	color: #aeb0b3 !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.6;
	cursor: not-allowed;
	transition: transform .15s ease, background .2s ease, box-shadow .2s ease;
}

.voroodafzar-otp button.voroodafzar-otp__primary.is-ready:not(:disabled) {
	background: var(--voroodafzar-accent) !important;
	box-shadow: 0 8px 18px rgba(255, 105, 0, .25);
	color: #fff !important;
	cursor: pointer;
}

.voroodafzar-otp button.voroodafzar-otp__primary.is-ready:not(:disabled):hover,
.voroodafzar-otp button.voroodafzar-otp__primary.is-ready:not(:disabled):focus-visible {
	background: var(--voroodafzar-accent-dark) !important;
	box-shadow: 0 10px 22px rgba(255, 105, 0, .3);
	transform: translateY(-1px);
}

.voroodafzar-otp button.voroodafzar-otp__primary:disabled {
	opacity: 1 !important;
	cursor: not-allowed;
	transform: none;
}

.voroodafzar-otp button.voroodafzar-otp__primary.is-busy:disabled {
	background: var(--voroodafzar-accent-dark) !important;
	color: #fff !important;
	cursor: wait;
}

.voroodafzar-otp__spinner {
	display: none;
	width: 17px;
	height: 17px;
	border: 2px solid rgba(255, 255, 255, .35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: voroodafzar-otp-spin .7s linear infinite;
}

.voroodafzar-otp__primary.is-busy .voroodafzar-otp__spinner {
	display: inline-block;
}

@keyframes voroodafzar-otp-spin {
	to { transform: rotate(360deg); }
}

.voroodafzar-otp__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
}

.voroodafzar-otp__link {
	padding: 4px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #55595e !important;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	cursor: pointer;
}

.voroodafzar-otp__link:hover,
.voroodafzar-otp__link:focus-visible {
	color: var(--voroodafzar-accent) !important;
}

.voroodafzar-otp__link:disabled {
	opacity: .48;
	cursor: default;
}

.voroodafzar-otp__divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 22px 0 12px;
	color: #a0a3a7;
	font-size: 12px;
}

.voroodafzar-otp__divider::before,
.voroodafzar-otp__divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ebebed;
}

.voroodafzar-otp__secondary {
	display: block;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none !important;
	width: 100%;
	min-height: 46px;
	padding: 10px 16px !important;
	border: 1px solid #d9dadd !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #34363a !important;
	font-family: inherit;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.voroodafzar-otp__secondary:hover,
.voroodafzar-otp__secondary:focus-visible {
	border-color: #b9bbc0 !important;
	background: #fafafa !important;
}

.voroodafzar-otp__status {
	min-height: 24px;
	margin-top: 14px;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.8;
}

.voroodafzar-otp__status.is-error,
.voroodafzar-otp__error {
	color: #b42318;
}

.voroodafzar-otp__status.is-success {
	color: #18794e;
}

.voroodafzar-otp__legal {
	margin: 10px 0 0;
	color: #8a8d91;
	font-size: 11px;
	line-height: 1.8;
	text-align: center;
}

.voroodafzar-otp__legal a {
	color: #5b5f64;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.voroodafzar-otp__trap {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.voroodafzar-otp [hidden],
.voroodafzar-otp-modal[hidden] {
	display: none !important;
}

.voroodafzar-otp-logged-in,
.voroodafzar-otp-disabled {
	max-width: 620px;
	margin: 24px auto;
	padding: 14px 18px;
	border: 1px solid #e7e7e9;
	border-radius: 12px;
	background: #fff;
	direction: rtl;
}

/* WooCommerce My Account: OTP is primary; password remains an explicit fallback. */
body.voroodafzar-otp-myaccount-replaced #customer_login,
body.voroodafzar-otp-myaccount-replaced form.woocommerce-form-login,
body.voroodafzar-otp-myaccount-replaced form.woocommerce-form-register {
	display: none !important;
}

body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible #customer_login {
	display: block !important;
	max-width: 620px;
	margin-inline: auto;
}

body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible #customer_login .u-column1,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible #customer_login .col-1,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible form.woocommerce-form-login {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 620px;
	margin-inline: auto;
}

body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible #customer_login .u-column2,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible #customer_login .col-2,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible form.woocommerce-form-register {
	display: none !important;
}

body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible .voroodafzar-otp[data-context="account"] .voroodafzar-otp__mark,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible .voroodafzar-otp[data-context="account"] .voroodafzar-otp__header,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible .voroodafzar-otp[data-context="account"] .voroodafzar-otp__stage,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible .voroodafzar-otp[data-context="account"] .voroodafzar-otp__divider,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible .voroodafzar-otp[data-context="account"] .voroodafzar-otp__status,
body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible .voroodafzar-otp[data-context="account"] .voroodafzar-otp__legal {
	display: none !important;
}

body.voroodafzar-otp-myaccount-replaced.voroodafzar-otp-password-visible .voroodafzar-otp[data-context="account"] {
	padding: 14px;
	box-shadow: none;
}

body.voroodafzar-otp-checkout-locked form.checkout.woocommerce-checkout,
body.voroodafzar-otp-checkout-locked .wc-block-checkout,
body.voroodafzar-otp-checkout-locked .wc-block-components-notices + .wc-block-checkout {
	display: none !important;
}

/* Site-wide registration/login modal; especially useful for Woodmart login drawer links. */
body.voroodafzar-otp-modal-open {
	overflow: hidden !important;
}

.voroodafzar-otp-modal {
	position: fixed;
	z-index: 2147483000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 20px;
	direction: rtl;
}

.voroodafzar-otp-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11, 11, 12, .72);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.voroodafzar-otp-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 510px);
	max-height: min(92vh, 760px);
	overflow: auto;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .3);
	overscroll-behavior: contain;
}

.voroodafzar-otp-modal__dialog .voroodafzar-otp {
	width: 100%;
	margin: 0;
	border: 0;
	box-shadow: none;
}

.voroodafzar-otp-modal__close {
	position: absolute;
	z-index: 5;
	top: 13px;
	left: 13px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #f2f2f3 !important;
	box-shadow: none !important;
	color: #404348 !important;
	font: 400 26px/1 Arial, sans-serif;
	cursor: pointer;
}

.voroodafzar-otp-modal__close:hover,
.voroodafzar-otp-modal__close:focus-visible {
	background: #e9e9eb !important;
	color: #111 !important;
}

@media (max-width: 520px) {
	.voroodafzar-otp {
		margin: 18px auto;
		padding: 22px 18px;
		border-radius: 18px;
	}

	.voroodafzar-otp__digits {
		gap: 6px;
	}

	.voroodafzar-otp__digit {
		height: 54px;
		border-radius: 10px;
		font-size: 20px;
	}

	.voroodafzar-otp__code-input {
		height: 54px !important;
	}

	.voroodafzar-otp-modal {
		align-items: end;
		padding: 0;
	}

	.voroodafzar-otp-modal__dialog {
		width: 100%;
		max-height: 94vh;
		border-radius: 22px 22px 0 0;
	}

	.voroodafzar-otp-modal__dialog .voroodafzar-otp {
		padding-top: 28px;
		border-radius: 22px 22px 0 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.voroodafzar-otp *,
	.voroodafzar-otp *::before,
	.voroodafzar-otp *::after,
	.voroodafzar-otp-modal * {
		scroll-behavior: auto !important;
		animation: none !important;
		transition: none !important;
	}
}


/* VoroodAfzar mobile-login entry inside theme/Woodmart login drawers. */
.voroodafzar-otp-drawer-entry {
	width: 100%;
	margin: 14px 0 4px;
}

.voroodafzar-otp-drawer-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 11px 18px;
	border: 1px solid var(--wd-primary-color, #ff6900) !important;
	border-radius: 3px;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--wd-primary-color, #ff6900) !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.6;
	text-align: center;
	text-decoration: none !important;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.voroodafzar-otp-drawer-link:hover,
.voroodafzar-otp-drawer-link:focus-visible {
	border-color: #ff6900 !important;
	background: #ff6900 !important;
	color: #fff !important;
}

.voroodafzar-otp__captcha {
	margin: 12px 0 14px;
	min-height: 1px;
	overflow: hidden;
}
.voroodafzar-otp__captcha > div,
.voroodafzar-otp__captcha iframe {
	max-width: 100%;
}

.voroodafzar-otp__methods {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 14px;
}
.voroodafzar-otp__methods button {
	border: 1px solid rgba(0,0,0,.12);
	background: #fff;
	border-radius: 10px;
	padding: 9px 12px;
	cursor: pointer;
	font: inherit;
}
.voroodafzar-otp__methods button.is-active {
	border-color: var(--voroodafzar-accent);
	box-shadow: 0 0 0 1px var(--voroodafzar-accent) inset;
}
.voroodafzar-otp__email-input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(0,0,0,.15);
	border-radius: 12px;
	padding: 12px 14px;
	margin: 7px 0 4px;
	font: inherit;
}

/* Form Builder profile fields */
.voroodafzar-otp__profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}.voroodafzar-otp__profile-field{display:flex;flex-direction:column;gap:6px;font-size:14px}.voroodafzar-otp__profile-field span{font-weight:600}.voroodafzar-otp__profile-field input{width:100%;min-height:44px;border:1px solid #d0d5dd;border-radius:10px;padding:10px 12px;background:#fff;color:#101828;box-sizing:border-box}.voroodafzar-otp__profile-field input:focus{outline:2px solid color-mix(in srgb,var(--voroodafzar-accent) 22%,transparent);border-color:var(--voroodafzar-accent)}@media(max-width:520px){.voroodafzar-otp__profile{grid-template-columns:1fr}}



/* Mobile-first account flow: OTP is the default page; email/password is explicit. */
.voroodafzar-otp-password-page-switch {
	max-width: 620px;
	margin: 18px auto 22px;
	text-align: center;
	direction: rtl;
}
.voroodafzar-otp-password-page-switch a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 13px 18px;
	border: 1px solid var(--voroodafzar-accent, #2563eb);
	border-radius: 12px;
	color: var(--voroodafzar-accent, #2563eb);
	background: transparent;
	font-weight: 800;
	text-decoration: none;
}

/* Theme/Woodmart off-canvas: show only mobile entry by default. */
.voroodafzar-otp-drawer-entry--mobile-first {
	display: grid;
	gap: 10px;
	width: 100%;
	margin: 0 0 14px;
}
.voroodafzar-otp-drawer-entry--mobile-first .voroodafzar-otp-drawer-link {
	background: var(--wd-primary-color, var(--voroodafzar-accent, #2563eb)) !important;
	border-color: var(--wd-primary-color, var(--voroodafzar-accent, #2563eb)) !important;
	color: #fff !important;
}
.voroodafzar-otp-drawer-password-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	padding: 8px 12px;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font-family: inherit;
	font-size: 14px;
	font-weight: 650;
	text-align: center;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}
.voroodafzar-otp-drawer-password-form,
.voroodafzar-otp-drawer-password-form[hidden] {
	display: none !important;
}


/* Real OTP form embedded directly inside theme/Woodmart login drawers. */
.voroodafzar-otp-drawer-inline {
	width: 100%;
	box-sizing: border-box;
	direction: rtl;
}
.voroodafzar-otp-drawer-inline .voroodafzar-otp {
	margin: 0;
	padding: 18px 14px;
	max-width: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}
.voroodafzar-otp-drawer-inline .voroodafzar-otp__mark--image img {
	max-height: 46px;
}
.voroodafzar-otp-drawer-inline .voroodafzar-otp__header h2 {
	font-size: 20px;
}
.voroodafzar-otp-drawer-inline .voroodafzar-otp__secondary {
	background: transparent !important;
}
