/*
 * ANIMOTION login/register/password-reset (wp-login.php) -- presentation
 * only, restyling WordPress' own native auth pages. Depends on
 * design-system.css (loaded first, see LoginBranding::enqueue_assets()) for
 * every color/spacing/radius token used below; nothing here duplicates or
 * overrides WordPress' actual authentication behavior.
 */

body.login {
	background: var(--animotion-bg-gradient);
	font-family: var(--animotion-font);
}

body.login div#login {
	max-width: 400px;
	width: 100%;
	padding: var(--animotion-space-6) var(--animotion-space-5);
}

body.login h1 {
	text-align: center;
}

body.login h1 a {
	width: 100%;
	max-width: 220px;
	height: 60px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin: 0 auto var(--animotion-space-5);
}

.animotion-auth-welcome {
	max-width: 340px;
	margin: 0 auto var(--animotion-space-6);
	padding: 0;
	color: var(--animotion-text-muted);
	font-size: var(--animotion-font-size-sm);
	line-height: 1.6;
	text-align: center;
}

body.login form {
	background: var(--animotion-surface);
	border: 1px solid var(--animotion-border);
	border-radius: var(--animotion-radius-lg);
	box-shadow: var(--animotion-shadow-md);
	padding: var(--animotion-space-6);
}

body.login form label {
	color: var(--animotion-text);
	font-size: var(--animotion-font-size-sm);
	font-weight: 600;
}

body.login form .input,
body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"] {
	background: var(--animotion-surface-raised);
	border: 1px solid var(--animotion-border-strong);
	border-radius: var(--animotion-radius-sm);
	color: var(--animotion-white);
	box-shadow: none;
	width: 100%;
	padding: 0.65rem 0.85rem;
	font-size: var(--animotion-font-size-md);
}

body.login form .input:focus,
body.login input[type="text"]:focus,
body.login input[type="password"]:focus,
body.login input[type="email"]:focus {
	border-color: var(--animotion-accent);
	box-shadow: 0 0 0 1px var(--animotion-accent);
	outline: none;
}

body.login form p.animotion-auth-terms {
	font-weight: 400;
}

body.login form p.animotion-auth-terms label {
	display: flex;
	align-items: flex-start;
	gap: var(--animotion-space-2);
	font-weight: 400;
	font-size: var(--animotion-font-size-xs);
	color: var(--animotion-text-muted);
}

body.login form p.animotion-auth-terms a {
	color: var(--animotion-accent);
}

body.login .forgetmenot label {
	display: flex;
	align-items: center;
	gap: var(--animotion-space-2);
	font-weight: 400;
}

body.login .button-primary {
	width: 100%;
	background: var(--animotion-blue-dim);
	border: none;
	border-radius: var(--animotion-radius-sm);
	color: #fff;
	text-shadow: none;
	box-shadow: none;
	padding: 0.7rem 1rem;
	height: auto;
	font-size: var(--animotion-font-size-md);
	font-weight: 700;
	transition: background var(--animotion-transition);
}

body.login .button-primary:hover,
body.login .button-primary:focus {
	background: var(--animotion-violet-dim);
	color: #fff;
}

body.login #nav,
body.login #backtoblog {
	text-align: center;
	margin-top: var(--animotion-space-4);
}

body.login #nav a,
body.login #backtoblog a {
	color: var(--animotion-text-muted) !important;
	font-size: var(--animotion-font-size-sm);
	text-decoration: none;
}

body.login #nav a:hover,
body.login #backtoblog a:hover {
	color: var(--animotion-accent) !important;
}

body.login .message,
body.login #login_error,
body.login .notice {
	background: var(--animotion-surface-raised);
	border: 1px solid var(--animotion-border-strong);
	border-left: 4px solid var(--animotion-accent);
	border-radius: var(--animotion-radius-sm);
	color: var(--animotion-text);
	box-shadow: none;
	padding: var(--animotion-space-4);
	font-size: var(--animotion-font-size-sm);
}

body.login #login_error {
	border-left-color: var(--animotion-error);
}

body.login form p.submit {
	margin-top: var(--animotion-space-5);
}

/* WordPress core's own register form shows "A password will be emailed to
   you" (#reg_passmail) -- true of its default flow, but no longer true
   here, since RegistrationController takes a password directly and sets it
   immediately. Hidden rather than fought with a text override, since core
   doesn't expose that string through a dedicated filter. */
body.login #reg_passmail {
	display: none;
}

body.login p#registerform,
body.login p.register {
	color: var(--animotion-text-muted);
}

/* Focus visibility, consistent with the rest of the platform. */
body.login a:focus-visible,
body.login input:focus-visible,
body.login button:focus-visible {
	outline: 2px solid var(--animotion-blue);
	outline-offset: 2px;
}

@media (max-width: 480px) {
	body.login div#login {
		padding: var(--animotion-space-4);
	}

	body.login form {
		padding: var(--animotion-space-5);
	}
}
