/* Auth pages (login, register, forgot password) */

/* main.css sets body { overflow: hidden } for the app shell — auth pages must scroll */
body.auth-page {
	overflow-x: hidden !important;
	overflow-y: auto !important;
	height: auto;
	min-height: 100dvh;
	-webkit-overflow-scrolling: touch;
}

body.auth-page .auth-layout {
	min-height: auto;
	height: auto;
	padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 767px) {
	body.auth-page .auth-layout {
		align-items: flex-start !important;
		padding-top: 72px;
		padding-bottom: calc(36px + env(safe-area-inset-bottom, 0px));
	}

	body.auth-page.login-classic .auth-layout {
		padding-top: 72px;
	}

	body.auth-page.login-celebration-active .auth-layout {
		padding-top: 68px;
	}

	body.auth-page .auth-shell {
		padding-bottom: 8px;
	}

	body.login-celebration-active .celebration-hero {
		margin-bottom: 0.85rem;
	}
}

@media (max-width: 767px) and (max-height: 740px) {
	body.login-celebration-active .celebration-hero {
		margin-bottom: 0.5rem;
	}

	body.login-celebration-active .celebration-badge {
		margin-bottom: 0.4rem;
		padding: 0.3rem 0.75rem;
		font-size: 0.62rem;
	}

	body.login-celebration-active .celebration-headline-text {
		font-size: clamp(1rem, 4.2vw, 1.35rem);
		line-height: 1.2;
	}

	body.login-celebration-active .celebration-tagline {
		font-size: 0.85rem;
		line-height: 1.35;
	}

	body.login-celebration-active .auth-title {
		font-size: 1.15rem;
		margin-bottom: 2px;
	}

	body.login-celebration-active .auth-subtitle {
		margin-bottom: 10px;
		font-size: 0.86rem;
	}

	body.login-celebration-active .auth-form-wrap {
		padding: 1rem;
	}
}
