@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');

:root {
	--digiauth-primary: #ef394e;
	--digiauth-primary-hover: #e0243b;
	--digiauth-primary-light: rgba(239, 57, 78, 0.08);
	--digiauth-bg-card: #ffffff;
	--digiauth-text-main: #0c0c0c;
	--digiauth-text-muted: #81858b;
	--digiauth-border-color: #e0e0e2;
	--digiauth-input-bg: #ffffff;
	--digiauth-radius: 12px;
	--digiauth-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
	--digiauth-font: var(--digiauth-theme-font, var(--wd-primary-font, var(--wd-text-font, var(--wd-entities-font, var(--primary-font, "IRANSansX", "IRANSans", "iranyekan", "Yekan Bakh", "Dana", "Shabnam", "Vazirmatn", "Vazir", "B Yekan", Tahoma, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)))));
}

/* Modal Overlay & Backdrop */
.digiauth-modal {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 9999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity 0.25s ease, visibility 0.25s ease !important;
	font-family: var(--digiauth-font) !important;
	box-sizing: border-box !important;
	direction: rtl !important;
	text-align: right !important;
}

.digiauth-modal,
.digiauth-modal *,
.digiauth-card-box,
.digiauth-card-box *,
.digiauth-standalone-page,
.digiauth-standalone-page *,
.digiauth-title,
.digiauth-subtitle,
.digiauth-input,
.digiauth-btn,
.digiauth-link-btn,
.digiauth-terms,
.digiauth-alert,
.digiauth-text-logo,
.digiauth-logged-in-box {
	box-sizing: border-box !important;
	font-family: var(--digiauth-font) !important;
}

.digiauth-modal.digiauth-open {
	opacity: 1 !important;
	visibility: visible !important;
}

.digiauth-modal-backdrop {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(0, 0, 0, 0.45) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
}

/* Modal Container & Card Box */
.digiauth-modal-container {
	position: relative !important;
	width: 100% !important;
	max-width: 410px !important;
	padding: 20px !important;
	z-index: 2 !important;
	transform: scale(0.96) translateY(8px) !important;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.digiauth-modal.digiauth-open .digiauth-modal-container {
	transform: scale(1) translateY(0) !important;
}

.digiauth-card-box {
	position: relative !important;
	background: #ffffff !important;
	border: 1px solid var(--digiauth-border-color) !important;
	border-radius: var(--digiauth-radius) !important;
	padding: 32px 28px !important;
	box-shadow: var(--digiauth-shadow) !important;
}

/* Close Button - Complete Reset */
.digiauth-close-btn {
	all: unset !important;
	position: absolute !important;
	top: 16px !important;
	left: 16px !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	color: #81858b !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	z-index: 10 !important;
	transition: color 0.15s ease, background 0.15s ease !important;
}

.digiauth-close-btn:hover {
	color: #0c0c0c !important;
	background: #f0f0f1 !important;
}

/* Logo */
.digiauth-logo-container {
	margin-bottom: 24px !important;
	display: flex !important;
}

.digiauth-logo-center { justify-content: center !important; }
.digiauth-logo-right { justify-content: flex-start !important; }
.digiauth-logo-left { justify-content: flex-end !important; }

.digiauth-logo-container img {
	display: block !important;
	max-height: 60px !important;
	object-fit: contain !important;
	margin: 0 !important;
}

/* Typography */
.digiauth-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--digiauth-text-main) !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.5 !important;
	text-align: right !important;
}

.digiauth-subtitle {
	font-size: 12px !important;
	color: var(--digiauth-text-muted) !important;
	margin: 0 0 20px 0 !important;
	line-height: 1.6 !important;
	text-align: right !important;
}

.digiauth-step-header {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 8px !important;
}

.digiauth-step-header .digiauth-title {
	margin-bottom: 0 !important;
}

.digiauth-back-btn {
	all: unset !important;
	font-size: 20px !important;
	color: var(--digiauth-text-main) !important;
	cursor: pointer !important;
	padding: 4px !important;
	display: flex !important;
	align-items: center !important;
	transition: transform 0.15s ease !important;
}

.digiauth-back-btn:hover {
	transform: translateX(3px) !important;
}

/* Step Switching */
.digiauth-step {
	display: none !important;
	animation: digiauthFadeIn 0.2s ease-out !important;
}

.digiauth-step.active {
	display: block !important;
}

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

/* Form Groups & Inputs */
.digiauth-form-group {
	margin-bottom: 16px !important;
}

.digiauth-input-wrap {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
}

.digiauth-input {
	all: unset !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 48px !important;
	padding: 0 16px !important;
	background: #ffffff !important;
	border: 1px solid var(--digiauth-border-color) !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	color: var(--digiauth-text-main) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	text-align: right !important;
	direction: rtl !important;
}

textarea.digiauth-input {
	height: auto !important;
	min-height: 70px !important;
	padding: 10px 16px !important;
	resize: vertical !important;
}

.digiauth-input::placeholder {
	color: #a1a3a8 !important;
	font-size: 13px !important;
	text-align: right !important;
}

.digiauth-input:focus {
	border-color: var(--digiauth-primary) !important;
	box-shadow: 0 0 0 3px var(--digiauth-primary-light) !important;
}

.digiauth-phone-input {
	font-size: 15px !important;
}

.digiauth-phone-input:not(:placeholder-shown) {
	direction: ltr !important;
	text-align: left !important;
	letter-spacing: 1.5px !important;
	font-weight: 600 !important;
}

.digiauth-toggle-pwd-btn {
	all: unset !important;
	position: absolute !important;
	left: 12px !important;
	cursor: pointer !important;
	font-size: 18px !important;
	color: #81858b !important;
	padding: 4px !important;
}

/* OTP Single Input (Digikala Clean High-Speed Style) */
.digiauth-otp-single-wrap {
	width: 100% !important;
	margin: 16px 0 10px !important;
}

.digiauth-otp-single-input {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 52px !important;
	padding: 0 16px !important;
	border: 1.5px solid var(--digiauth-border-color) !important;
	background: #ffffff !important;
	border-radius: 8px !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: 12px !important;
	text-align: center !important;
	direction: ltr !important;
	color: var(--digiauth-text-main) !important;
	transition: all 0.2s ease !important;
	outline: none !important;
	font-family: var(--digiauth-font), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-variant-numeric: tabular-nums !important;
}

.digiauth-otp-single-input:focus {
	border-color: var(--digiauth-primary) !important;
	box-shadow: 0 0 0 3px var(--digiauth-primary-light) !important;
}

/* Buttons */
.digiauth-btn {
	all: unset !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 48px !important;
	padding: 0 20px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	text-align: center !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
}

.digiauth-btn-primary {
	background: var(--digiauth-primary) !important;
	color: #ffffff !important;
}

.digiauth-btn-primary:hover {
	background: var(--digiauth-primary-hover) !important;
	box-shadow: 0 4px 12px rgba(239, 57, 78, 0.25) !important;
}

.digiauth-btn-block {
	width: 100% !important;
}

.digiauth-btn:disabled,
.digiauth-btn.digiauth-loading {
	opacity: 0.75 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

.digiauth-btn-loader {
	display: none !important;
	width: 18px !important;
	height: 18px !important;
	border: 2px solid #ffffff !important;
	border-top-color: transparent !important;
	border-radius: 50% !important;
	animation: digiauthSpin 0.7s linear infinite !important;
	margin-right: 8px !important;
}

.digiauth-loading .digiauth-btn-loader {
	display: inline-block !important;
}

@keyframes digiauthSpin {
	to { transform: rotate(360deg); }
}

/* Link Buttons */
.digiauth-link-btn {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: var(--digiauth-primary) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	transition: opacity 0.15s ease !important;
}

.digiauth-link-btn:hover {
	opacity: 0.8 !important;
	text-decoration: underline !important;
}

/* Timer Wrap */
.digiauth-timer-wrap {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	font-size: 13px !important;
	color: var(--digiauth-text-muted) !important;
	margin: 14px 0 18px !important;
	min-height: 26px !important;
	text-align: center !important;
}

.digiauth-timer-text {
	display: inline-block !important;
	color: var(--digiauth-text-muted) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

.digiauth-countdown {
	color: var(--digiauth-text-main) !important;
	font-weight: 700 !important;
	margin-left: 3px !important;
	direction: ltr !important;
	display: inline-block !important;
	font-variant-numeric: tabular-nums !important;
}

.digiauth-resend-btn {
	display: none !important;
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: var(--digiauth-primary) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	transition: opacity 0.15s ease !important;
}

.digiauth-resend-btn:hover {
	opacity: 0.85 !important;
	text-decoration: underline !important;
}

/* State-Driven Countdown Container Controls */
.digiauth-timer-wrap.is-counting .digiauth-timer-text {
	display: inline-block !important;
}
.digiauth-timer-wrap.is-counting .digiauth-resend-btn {
	display: none !important;
}

.digiauth-timer-wrap.is-expired .digiauth-timer-text {
	display: none !important;
}
.digiauth-timer-wrap.is-expired .digiauth-resend-btn {
	display: inline-block !important;
}

.digiauth-switch-wrap,
.digiauth-extra-actions {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-top: 16px !important;
}

.digiauth-switch-wrap {
	justify-content: center !important;
}

/* Terms Footer */
.digiauth-terms {
	margin-top: 24px !important;
	text-align: center !important;
	font-size: 11px !important;
	color: #81858b !important;
	line-height: 1.8 !important;
}

.digiauth-terms a {
	color: #0288d1 !important;
	text-decoration: none !important;
}

.digiauth-terms a:hover {
	text-decoration: underline !important;
}

/* Alerts */
.digiauth-alert {
	padding: 10px 14px !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
	margin-bottom: 16px !important;
	display: flex !important;
	align-items: center !important;
}

.digiauth-alert.digiauth-alert-error {
	background: #ffebee !important;
	color: #d32f2f !important;
	border: 1px solid #ffcdd2 !important;
}

.digiauth-alert.digiauth-alert-success {
	background: #e8f5e9 !important;
	color: #2e7d32 !important;
	border: 1px solid #c8e6c9 !important;
}

/* Mobile Screen Responsive */
@media (max-width: 576px) {
	.digiauth-modal:not(.digiauth-embedded) {
		align-items: flex-end !important;
	}

	.digiauth-modal:not(.digiauth-embedded) .digiauth-modal-container {
		max-width: 100% !important;
		padding: 0 !important;
		transform: translateY(100%) !important;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	}

	.digiauth-modal.digiauth-open .digiauth-modal-container {
		transform: translateY(0) !important;
	}

	.digiauth-modal:not(.digiauth-embedded) .digiauth-card-box {
		border-bottom-left-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
		border-top-left-radius: 20px !important;
		border-top-right-radius: 20px !important;
		padding: 28px 20px 36px !important;
		max-height: 90vh !important;
		overflow-y: auto !important;
	}

	.digiauth-otp-box {
		width: 44px !important;
		height: 48px !important;
		font-size: 18px !important;
	}
}

/* ==========================================================================
   Dark Mode Support (Active ONLY when enabled in settings or dark class)
   ========================================================================== */
.digiauth-dark-enabled .digiauth-card-box,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-card-box {
	background: #1e2026 !important;
	border-color: #313540 !important;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45) !important;
}

.digiauth-dark-enabled .digiauth-title,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-title {
	color: #ffffff !important;
}

.digiauth-dark-enabled .digiauth-subtitle,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-subtitle {
	color: #9ea2ac !important;
}

.digiauth-dark-enabled .digiauth-input,
.digiauth-dark-enabled .digiauth-otp-single-input,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-input,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-otp-single-input {
	background: #272a33 !important;
	border-color: #3b3f4d !important;
	color: #ffffff !important;
}

.digiauth-dark-enabled .digiauth-timer-text,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-timer-text {
	color: #9ea2ac !important;
}

.digiauth-dark-enabled .digiauth-input::placeholder,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-input::placeholder {
	color: #717582 !important;
}

.digiauth-dark-enabled .digiauth-close-btn,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-close-btn {
	color: #9ea2ac !important;
}

.digiauth-dark-enabled .digiauth-close-btn:hover,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-close-btn:hover {
	color: #ffffff !important;
	background: #2c303a !important;
}

.digiauth-dark-enabled .digiauth-back-btn,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-back-btn {
	color: #ffffff !important;
}

.digiauth-dark-enabled .digiauth-countdown,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-countdown {
	color: #ffffff !important;
}

.digiauth-dark-enabled .digiauth-terms,
body.woodmart-dark .digiauth-modal.digiauth-dark-enabled .digiauth-terms {
	color: #9ea2ac !important;
}

/* Suppress WooCommerce Unwanted Guest Order Email Verification Notice */
.woocommerce-account .woocommerce-info:has(a[href*="wc_send_verification"]),
.woocommerce-account .woocommerce-message:has(a[href*="wc_send_verification"]),
.woocommerce-MyAccount-content .woocommerce-info:has(a[href*="wc_send_verification"]),
.woocommerce-MyAccount-content .woocommerce-message:has(a[href*="wc_send_verification"]) {
	display: none !important;
}

/* Hide third-party chat, WhatsApp (UWAC), Goftino, Crisp, Raychat, and floating widgets on standalone auth page */
body.digiauth-standalone-body #myBtnds,
body.digiauth-standalone-body #mywidgetmulti,
body.digiauth-standalone-body #mywidgetfaq,
body.digiauth-standalone-body .widgetmulti,
body.digiauth-standalone-body .widgetmulti-content,
body.digiauth-standalone-body .widgetmulti-content-faq,
body.digiauth-standalone-body .btn-multi-single,
body.digiauth-standalone-body .txt-single-btn-multi,
body.digiauth-standalone-body div[id^="myBtn"],
body.digiauth-standalone-body div[id^="mywidget"],
body.digiauth-standalone-body .crisp-client,
body.digiauth-standalone-body #crisp-chatbox,
body.digiauth-standalone-body #raychatFrame,
body.digiauth-standalone-body #raychatBtn,
body.digiauth-standalone-body .raychat_main_button,
body.digiauth-standalone-body [id*="raychat"],
body.digiauth-standalone-body #goftino_w,
body.digiauth-standalone-body #goftino_btn,
body.digiauth-standalone-body [id*="goftino"],
body.digiauth-standalone-body .chaty-widget,
body.digiauth-standalone-body .chaty-outer-forms,
body.digiauth-standalone-body .wp-chatbot-container,
body.digiauth-standalone-body #tidio-chat,
body.digiauth-standalone-body #tidio-chat-iframe,
body.digiauth-standalone-body .joinchat,
body.digiauth-standalone-body .njv-bell-container,
body.digiauth-standalone-body .najva-prompt,
body.digiauth-standalone-body #yn-widget {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	z-index: -9999 !important;
}


