/*
	Окно «Войдите или зарегистрируйтесь» (js/nwa-access.js), 26.09.2026.
	Подключается на всех страницах из uni_new_data.php, включая главную, —
	там нет nwa-inner.css, поэтому цвета заданы здесь, по его палитре
	(--nwa-text #2A2C2E, --nwa-text-secondary #5A5D60, --nwa-accent #DE4E10).
	Типографика — по эталону главной: рубрика оранжевая 12px/500/.16em,
	заголовок тонкий 300 капсом .14em. Кнопки и поля — как в кабинете
	(nwa-account.css).
*/
html.nwa-auth-open{
	overflow:hidden;
}
/* Появление — по образцу окна «Попробовать бесплатно» (владелец, 26.09.2026:
   «резко открывается… посмотри, как сделано у „Попробовать бесплатно“, там
   прям норм»). Замер того окна по кадрам: фон — чёрный 50%, темнеет за
   .25s ease-in-out, окно появляется на середине затемнения; закрытие —
   окно пропадает, потом гаснет фон. Здесь та же последовательность, только
   окно не выскакивает, а проявляется (на телефоне — выезжает снизу).
   Окно не display:none, а прозрачное и невидимое: visibility переключается
   сразу при открытии и с задержкой при закрытии, иначе затухание оборвётся.

   Скорость — ЗДЕСЬ, в переменных (владелец после первой пробы: «всё равно
   „Попробовать бесплатно“ работает медленнее» — всё замедлено почти вдвое).
   Попросят быстрее или медленнее — менять только эти числа. */
.nwa-auth{
	--nwa-auth-bg-in:.45s;      /* фон темнеет */
	--nwa-auth-box-delay:.2s;   /* окно — после начала затемнения */
	--nwa-auth-box-in:.4s;      /* окно проявляется */
	--nwa-auth-box-move:.6s;    /* окно поднимается / выезжает */
	--nwa-auth-box-out:.2s;     /* закрытие: окно уходит */
	--nwa-auth-bg-out:.3s;      /* закрытие: фон гаснет (после окна) */
}
.nwa-auth{
	position:fixed;
	inset:0;
	z-index:10050;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px;
	background:rgba(0,0,0,.5);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	/* Закрытие: фон гаснет после окна. */
	transition:
		opacity var(--nwa-auth-bg-out) ease-in-out calc(var(--nwa-auth-box-out) * .7),
		visibility 0s linear calc(var(--nwa-auth-box-out) * .7 + var(--nwa-auth-bg-out));
}
.nwa-auth.is-open{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transition:opacity var(--nwa-auth-bg-in) ease-in-out, visibility 0s linear 0s;
}
.nwa-auth__box{
	position:relative;
	width:100%;
	max-width:420px;
	max-height:calc(100vh - 32px);
	overflow:auto;
	padding:28px 28px 24px;
	border-radius:12px;
	background:#FFFFFF;
	color:#2A2C2E;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
	text-align:left;
	opacity:0;
	transform:translateY(10px);
	/* Закрытие: окно уходит первым. */
	transition:opacity var(--nwa-auth-box-out) ease, transform var(--nwa-auth-box-out) ease;
}
/* Открытие: окно — когда фон уже заметно потемнел. */
.nwa-auth.is-open .nwa-auth__box{
	opacity:1;
	transform:none;
	transition:
		opacity var(--nwa-auth-box-in) ease var(--nwa-auth-box-delay),
		transform var(--nwa-auth-box-move) cubic-bezier(.2,.8,.2,1) var(--nwa-auth-box-delay);
}
.nwa-auth .nwa-auth__close{
	position:absolute;
	top:10px;
	right:10px;
	width:36px;
	height:36px;
	padding:0;
	border:0;
	border-radius:8px;
	background:transparent;
	color:#5A5D60;
	font-size:26px;
	font-weight:300;
	line-height:36px;
	cursor:pointer;
}
.nwa-auth .nwa-auth__close:hover{
	background:#F2F1EE;
	color:#2A2C2E;
}
.nwa-auth__rubric{
	margin:0 0 8px;
	font-size:12px;
	font-weight:500;
	line-height:1.4;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:#DE4E10;
}
.nwa-auth__title{
	margin:0 0 10px;
	padding-right:24px;
	font-size:21px;
	font-weight:300;
	line-height:1.3;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:#2A2C2E;
}
.nwa-auth__lead{
	margin:0 0 18px;
	font-size:14px;
	line-height:1.5;
	color:#5A5D60;
}
.nwa-auth__field{
	display:block;
	margin:0 0 12px;
	font-weight:400;
}
.nwa-auth__label{
	display:block;
	margin:0 0 6px;
	font-size:13px;
	color:#5A5D60;
}
/* !important у рамки и скругления: тема задаёт полям свои (как в nwa-account.css). */
.nwa-auth .nwa-auth__input{
	display:block;
	width:100%;
	height:46px;
	margin:0;
	padding:0 14px;
	border:1px solid #D6D3CC !important;
	border-radius:8px !important;
	background:#FFFFFF;
	color:#2A2C2E;
	font-size:16px;
	box-shadow:none;
	outline:none;
}
.nwa-auth .nwa-auth__input:focus{
	border-color:#DE4E10 !important;
	box-shadow:0 0 0 3px rgba(222,78,16,.15);
}
.nwa-auth__error{
	margin:0 0 12px;
	font-size:13px;
	line-height:1.4;
	color:#C0392B;
}
.nwa-auth .nwa-auth__btn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:46px;
	padding:0 20px;
	border:1px solid #D6D3CC;
	border-radius:8px;
	background:#FFFFFF;
	color:#2A2C2E;
	font-size:14px;
	font-weight:600;
	letter-spacing:normal;
	text-transform:none;
	text-decoration:none;
	cursor:pointer;
	transition:border-color .15s, background .15s, color .15s;
}
.nwa-auth .nwa-auth__btn:hover{
	border-color:#DE4E10;
	color:#DE4E10;
}
.nwa-auth .nwa-auth__btn--primary{
	margin-top:4px;
	border-color:#DE4E10;
	background:#DE4E10;
	color:#FFFFFF;
}
.nwa-auth .nwa-auth__btn--primary:hover{
	border-color:#C4440E;
	background:#C4440E;
	color:#FFFFFF;
}
.nwa-auth .nwa-auth__btn:disabled{
	opacity:.6;
	cursor:default;
}
.nwa-auth .nwa-auth__link{
	display:block;
	margin:12px 0 0;
	font-size:13px;
	text-align:center;
	color:#5A5D60;
	text-decoration:underline;
}
.nwa-auth .nwa-auth__link:hover{
	color:#DE4E10;
}
.nwa-auth__sep{
	display:flex;
	align-items:center;
	gap:12px;
	margin:20px 0 14px;
	font-size:12px;
	font-weight:500;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:#8A8D90;
}
.nwa-auth__sep::before,
.nwa-auth__sep::after{
	content:"";
	flex:1;
	height:1px;
	background:#E2E2DE;
}
.nwa-auth__note{
	margin:0 0 12px;
	font-size:13px;
	line-height:1.5;
	color:#5A5D60;
}

/* Телефон: окно выезжает снизу во всю ширину. */
@media (max-width:480px){
	.nwa-auth{
		align-items:flex-end;
		padding:0;
	}
	.nwa-auth__box{
		max-width:none;
		max-height:calc(100vh - 24px);
		padding:24px 16px 20px;
		border-radius:14px 14px 0 0;
		opacity:1;
		transform:translateY(100%);
		transition:transform calc(var(--nwa-auth-box-out) * 1.5) ease-in;
	}
	.nwa-auth.is-open .nwa-auth__box{
		transition:transform var(--nwa-auth-box-move) cubic-bezier(.2,.8,.2,1) calc(var(--nwa-auth-box-delay) * .75);
	}
	.nwa-auth__title{
		font-size:18px;
	}
}

/* Кто попросил систему убрать анимацию — окно просто появляется. */
@media (prefers-reduced-motion:reduce){
	.nwa-auth,
	.nwa-auth.is-open,
	.nwa-auth__box{
		transition:none;
	}
}
