/* ════════════════════════════════════════════════════════════════
   صفحه ورود — موبایل فرست
   ════════════════════════════════════════════════════════════════ */

body.ad-login {
	background: linear-gradient(160deg, #E8F4F5 0%, #F2F9FA 50%, #ECF7F0 100%);
	min-height: 100vh;
	min-height: 100dvh;
}

.ad-login-shell {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	min-height: 100dvh;
	padding: var(--ad-sp-4);
}

.ad-login-card {
	width: 100%;
	max-width: 420px;
	background: var(--ad-surface);
	border: 1px solid var(--ad-border-soft);
	border-radius: var(--ad-r-2xl);
	padding: var(--ad-sp-7) var(--ad-sp-5);
	position: relative;
}

@media (max-width: 480px) {
	.ad-login-shell {
		padding: 0;
		align-items: stretch;
	}
	.ad-login-card {
		border-radius: 0;
		max-width: 100%;
		min-height: 100vh;
		min-height: 100dvh;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: var(--ad-sp-7) var(--ad-sp-5);
		border: 0;
	}
}

/* ───── Logo ───── */
.ad-login-logo {
	text-align: center;
	margin-bottom: var(--ad-sp-7);
}
.ad-login-logo__circle {
	width: 96px;
	height: 96px;
	margin: 0 auto var(--ad-sp-3);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ad-tint);
	border: 1px solid var(--ad-border-soft);
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}
.ad-login-logo__img {
	width: 78%;
	height: 78%;
	object-fit: contain;
}
.ad-login-logo__name {
	font-size: var(--ad-fs-2xl);
	font-weight: 700;
	color: var(--ad-text);
	margin: 0 0 4px;
}
.ad-login-logo__tag {
	font-size: var(--ad-fs-sm);
	color: var(--ad-text-3);
	margin: 0;
}

/* ───── Steps ───── */
.ad-login-step {
	display: none;
	animation: ad-fade-in var(--ad-dur-base) var(--ad-easing);
}
.ad-login-step.is-active { display: block; }

.ad-login-title {
	font-size: var(--ad-fs-xl);
	font-weight: 600;
	color: var(--ad-text);
	margin: 0 0 6px;
}
.ad-login-sub {
	font-size: var(--ad-fs-sm);
	color: var(--ad-text-3);
	margin: 0 0 var(--ad-sp-5);
	line-height: 1.7;
}
.ad-login-sub strong { color: var(--ad-text); }

.ad-login-form .ad-btn { margin-top: var(--ad-sp-3); }

.ad-login-back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: var(--ad-fs-sm);
	font-weight: 500;
	color: var(--ad-text-3);
	background: transparent;
	border: 0;
	padding: 6px 10px;
	margin: 0 -10px var(--ad-sp-3);
	border-radius: var(--ad-r-sm);
	cursor: pointer;
}
.ad-login-back:hover { color: var(--ad-primary); background: var(--ad-primary-tint); }

.ad-login-terms {
	font-size: var(--ad-fs-xs);
	color: var(--ad-text-3);
	text-align: center;
	margin: var(--ad-sp-4) 0 0;
	line-height: 1.7;
}

.ad-otp-timer {
	text-align: center;
	font-size: var(--ad-fs-sm);
	color: var(--ad-text-3);
	margin: var(--ad-sp-3) 0 var(--ad-sp-2);
}
.ad-otp-timer.is-expired { color: var(--ad-danger); }
