/*
 * Log in, forgot password and reset password pages (views/login.php, forgot.php,
 * reset_password.php, partials/auth_aside.php). The form pieces (.auth-form,
 * .auth-field, .auth-message…) are in components.css, shared with the pop-ups.
 * Mobile first, Bootstrap breakpoints (576/768/992/1200).
 */
.auth {
	background: var(--color-cream);
	color: var(--color-text);
}
.auth__grid {
	display: grid;
	gap: 24px;
	padding-top: 32px;
	padding-bottom: 64px;
}

/* ---------- Form card ---------- */
.auth-card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	padding: 28px 24px;
	border: 1px solid var(--color-border-strong);
	border-top: 6px solid var(--color-navy);
	border-radius: var(--radius-lg);
	background: var(--color-white);
	box-shadow: var(--shadow-md);
}
.auth-card__title {
	margin: 0;
	font-size: 32px;
	line-height: 1.1;
	font-weight: 600;
	color: var(--color-navy);
}

/* ---------- Navy panel: hidden on phones, the form comes first ---------- */
.auth-aside {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	padding: 48px 44px;
	border-radius: var(--radius-lg);
}
.auth-aside .brand-panel__blob {
	top: auto;
	right: -110px;
	bottom: -130px;
	width: 320px;
	height: 320px;
	opacity: .4;
}
.auth-aside .brand-panel__dot {
	top: 36px;
	right: 44px;
}
.auth-aside__note {
	font-size: 26px;
	color: var(--color-orange-glow);
	transform: rotate(-3deg);
	transform-origin: left;
}
.auth-aside__title {
	max-width: 420px;
	margin: 0;
	font-family: var(--font-display);
	font-size: 34px;
	line-height: 1.15;
	font-weight: 600;
	color: var(--color-white);
	text-wrap: balance;
}
.auth-aside__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
.auth-aside__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	color: var(--color-text-on-dark-muted);
}
.auth-aside__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--color-orange);
	color: var(--color-navy);
}

/* ---------- Larger screens ---------- */
@media (min-width: 768px) {
	.auth__grid {
		padding-top: 56px;
		padding-bottom: 96px;
	}
	.auth-card {
		padding: 40px 40px 36px;
	}
	.auth-card__title {
		font-size: 38px;
	}
}
@media (min-width: 992px) {
	.auth__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
		align-items: stretch;
		gap: 32px;
		max-width: 1040px;
	}
	.auth-aside {
		display: flex;
	}
	.auth-card {
		justify-content: center;
		margin: 0;
	}
}
