/**
 * پنجرهٔ ورود / ثبت نام
 *
 * افزونهٔ simplemodal-login مارک‌آپ خود را با کلاس‌های بوت‌استرپ ۳ چاپ می‌کند
 * (‎.modal‏، ‎.modal-dialog‏، ‎.form-control‏، ‎.btn-theme‏) و هیچ CSS ای همراه ندارد؛
 * پوستهٔ قبلی بوت‌استرپ را بارگذاری می‌کرد. این فایل جایگزین همان بخش است.
 */

/* ------------------------------------------------------------------ *
 *  دکمهٔ سربرگ
 * ------------------------------------------------------------------ */

.header-auth {
	flex-shrink: 0;
	gap: 7px;
	padding: 9px 20px;
}
.header-auth .n-icon { flex-shrink: 0; }

.mobile-drawer .header-auth {
	width: 100%;
	margin-block: 4px 14px;
}

@media (max-width: 560px) {
	.header-auth { padding: 9px 12px; }
	.header-auth__label { display: none; }
}

/* ------------------------------------------------------------------ *
 *  پوشش تیره
 * ------------------------------------------------------------------ */

/*
 * پیش‌فرض پنهان است. اگر جاوااسکریپت هم اجرا نشود، فرم دیگر
 * ته صفحه رها نمی‌شود و دکمهٔ سربرگ به صفحهٔ ورود لینک می‌دهد.
 */
.pt-user-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 400;
	overflow-y: auto;
	padding: 24px 16px;
	background: rgba(6, 24, 17, .62);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.pt-user-modal.is-open { display: block; }

body.nosakh-modal-open { overflow: hidden; }

/* ------------------------------------------------------------------ *
 *  کادر
 * ------------------------------------------------------------------ */

.pt-user-modal .modal-dialog {
	width: 100%;
	max-width: 430px;
	margin: 6vh auto;
	animation: nosakh-modal-in .28s var(--n-ease) both;
}

@keyframes nosakh-modal-in {
	from { opacity: 0; transform: translateY(-18px) scale(.97); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.pt-user-modal .modal-dialog { animation: none; }
}

.pt-user-modal .modal-content {
	position: relative;
	background: var(--n-paper);
	border: 1px solid var(--n-line);
	border-radius: var(--n-radius-lg);
	box-shadow: var(--n-shadow-3);
	overflow: hidden;
}

/* نوار تذهیب بالای کادر */
.pt-user-modal .modal-content::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--n-gold-500), var(--n-green-600), var(--n-gold-500));
}

.pt-user-modal .modal-body {
	position: relative;
	padding: 34px 30px 26px;
}

.pt-user-modal h3 {
	margin: 0 0 6px;
	font-size: 1.12rem;
	text-align: center;
	color: var(--n-green-700);
}

.pt-user-modal hr {
	height: 0;
	margin: 14px auto 20px;
	max-width: 190px;
	border: 0;
	border-top: 1px solid var(--n-gold-300);
}

.pt-user-modal p {
	font-size: .88rem;
	line-height: 1.85;
	color: var(--n-ink-2);
	text-align: center;
	margin-bottom: .8em;
}

/* دکمهٔ بستن */
.pt-user-modal .close {
	position: absolute;
	top: 12px;
	inset-inline-end: 14px;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--n-ink-3);
	font-size: 1.5rem;
	line-height: 1;
	transition: background .2s var(--n-ease), color .2s var(--n-ease);
}
.pt-user-modal .close:hover { background: var(--n-paper-3); color: var(--n-ink); }

/* ------------------------------------------------------------------ *
 *  فیلدها
 * ------------------------------------------------------------------ */

.pt-user-modal .form-field { margin-bottom: 13px; }
.pt-user-modal .form-field:last-child { margin-bottom: 0; }

.pt-user-modal .form-control {
	display: block;
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--n-line);
	border-radius: var(--n-radius-sm);
	background: var(--n-paper-2);
	color: var(--n-ink);
	font-size: .95rem;
	outline: none;
	transition: border-color .2s var(--n-ease), box-shadow .2s var(--n-ease);
}
.pt-user-modal .form-control::placeholder { color: var(--n-ink-3); }
.pt-user-modal .form-control:focus {
	border-color: var(--n-green-400);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--n-green-500) 18%, transparent);
}

/* کروم فیلدهای پرشده‌ی خودکار را آبی می‌کند؛ به رنگ کاغذ برمی‌گردانیم */
.pt-user-modal .form-control:-webkit-autofill,
.pt-user-modal .form-control:-webkit-autofill:hover,
.pt-user-modal .form-control:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--n-ink);
	-webkit-box-shadow: 0 0 0 40px var(--n-paper-2) inset;
	box-shadow: 0 0 0 40px var(--n-paper-2) inset;
	caret-color: var(--n-ink);
}

/*
 * دکمهٔ افزونه کلاس ‎.btn‏ دارد و شکل قرصی پوسته را می‌گیرد،
 * ولی رنگ نمی‌گیرد؛ ‎.btn-theme‏ را رنگ می‌کنیم.
 */
.pt-user-modal .btn-theme {
	background: linear-gradient(180deg, var(--n-green-500), var(--n-green-700));
	color: #fff;
	box-shadow: 0 4px 14px rgba(14, 144, 89, .28);
}
.pt-user-modal .btn-theme:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(14, 144, 89, .36);
}
.pt-user-modal .btn-theme[disabled] {
	opacity: .6;
	transform: none;
	cursor: progress;
}

/* ردیف دکمهٔ ورود و لینک فراموشی رمز */
.pt-user-modal #pt_login_form .form-field:last-of-type,
.pt-user-modal #pt_registration_form .form-field:last-of-type,
.pt-user-modal #pt_reset_password_form .form-field:last-of-type {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 18px;
}
.pt-user-modal .resetpassnl {
	font-size: .84rem;
	color: var(--n-ink-3);
}
.pt-user-modal .resetpassnl:hover { color: var(--n-green-600); }

/* ------------------------------------------------------------------ *
 *  پیام‌ها
 * ------------------------------------------------------------------ */

.pt-user-modal .alert {
	padding: 12px 16px;
	border-radius: var(--n-radius-sm);
	font-size: .88rem;
	line-height: 1.8;
	text-align: center;
}
.pt-user-modal .alert-warning {
	background: var(--n-gold-50);
	border: 1px solid var(--n-gold-300);
	color: var(--n-gold-700);
}
.pt-user-modal .alert-danger,
.pt-user-modal .pt-errors .error {
	background: color-mix(in srgb, var(--n-shanjarf) 10%, var(--n-paper));
	border: 1px solid color-mix(in srgb, var(--n-shanjarf) 40%, transparent);
	color: var(--n-shanjarf);
}
.pt-user-modal .alert-success {
	background: var(--n-green-50);
	border: 1px solid var(--n-green-300);
	color: var(--n-green-700);
}

.pt-user-modal .pt-errors:not(:empty) {
	margin-top: 16px;
	font-size: .88rem;
	line-height: 1.8;
	text-align: center;
	color: var(--n-shanjarf);
}

/* ------------------------------------------------------------------ *
 *  حالت بارگذاری — بدون FontAwesome
 * ------------------------------------------------------------------ */

.pt-user-modal .pt-loading { padding-block: 26px; }
.pt-user-modal .pt-loading i {
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-bottom: 10px;
	border: 3px solid var(--n-green-200);
	border-top-color: var(--n-green-600);
	border-radius: 50%;
	animation: nosakh-spin .8s linear infinite;
}
@keyframes nosakh-spin { to { transform: rotate(360deg); } }

/* ------------------------------------------------------------------ *
 *  جابه‌جایی بین زبانه‌ها — با data-active-tab روی .modal-dialog
 * ------------------------------------------------------------------ */

.pt-user-modal .pt-register,
.pt-user-modal .pt-reset-password,
.pt-user-modal .pt-loading { display: none; }
.pt-user-modal .pt-login { display: block; }

.pt-user-modal .modal-dialog[data-active-tab="#pt-register"] .pt-login { display: none; }
.pt-user-modal .modal-dialog[data-active-tab="#pt-register"] .pt-register { display: block; }

.pt-user-modal .modal-dialog[data-active-tab="#pt-reset-password"] .pt-login { display: none; }
.pt-user-modal .modal-dialog[data-active-tab="#pt-reset-password"] .pt-reset-password { display: block; }

.pt-user-modal .modal-dialog.loading .pt-login,
.pt-user-modal .modal-dialog.loading .pt-register,
.pt-user-modal .modal-dialog.loading .pt-reset-password { display: none; }
.pt-user-modal .modal-dialog.loading .pt-loading { display: block; }

.pt-user-modal .modal-dialog.registration-complete .pt-register form { display: none; }

/* پانویس کادر */
.pt-user-modal .modal-footer {
	padding: 15px 30px;
	border-top: 1px solid var(--n-line);
	background: var(--n-paper-2);
	text-align: center;
	font-size: .86rem;
	color: var(--n-ink-2);
}
.pt-user-modal .modal-footer a { font-weight: 700; }

.pt-user-modal .modal-footer .pt-register-footer,
.pt-user-modal .modal-footer .pt-login-footer { display: none; }
.pt-user-modal .modal-dialog:not([data-active-tab="#pt-register"]) .pt-register-footer { display: inline; }
.pt-user-modal .modal-dialog[data-active-tab="#pt-register"] .pt-login-footer { display: inline; }

@media (max-width: 480px) {
	.pt-user-modal .modal-body { padding: 30px 20px 22px; }
	.pt-user-modal .modal-footer { padding-inline: 20px; }
	.pt-user-modal .modal-dialog { margin-top: 3vh; }
}
