/*
 * ATLASYN Framework - login branding.
 *
 * Clean, premium, accessible wp-login.php treatment. Avoids
 * over-decorated defaults and stays readable at small widths.
 *
 * All values reference ATLASYN brand CSS variables (set inline
 * by Branding::enqueue_login()), so a filter on
 * atlasyn/branding/colors changes the entire palette.
 */

body.login {
	background: var(--atlasyn-cream);
	color: var(--atlasyn-navy);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
		"Oxygen-Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

body.login::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(60% 50% at 20% 10%, rgba(0, 188, 235, 0.08), transparent 70%),
		radial-gradient(40% 35% at 90% 90%, rgba(0, 88, 235, 0.08), transparent 70%);
	pointer-events: none;
}

#login {
	padding: 4% 0 0;
	width: 100%;
	max-width: 360px;
}

#login h1 {
	margin: 0 0 18px;
	padding: 0;
}

#login h1 a,
.login h1.wp-login-logo a {
	background-color: transparent !important;
	display: inline-block;
	margin: 0 auto;
	background-image: var(--atlasyn-login-logo, none) !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	width: 240px !important;
	height: 80px !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
}

#loginform {
	background: #ffffff;
	border: 1px solid rgba(15, 27, 39, 0.08);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(15, 27, 39, 0.08);
	padding: 26px 26px 22px;
}

#loginform p {
	color: var(--atlasyn-navy);
}

#loginform label {
	color: var(--atlasyn-navy);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.01em;
}

#loginform .input,
#loginform input[type="text"],
#loginform input[type="password"] {
	background: #ffffff;
	border: 1px solid rgba(15, 27, 39, 0.18);
	border-radius: 6px;
	color: var(--atlasyn-navy);
	font-size: 15px;
	padding: 8px 10px;
	box-shadow: none;
	transition: border-color 120ms ease, box-shadow 120ms ease;
}

#loginform .input:focus,
#loginform input[type="text"]:focus,
#loginform input[type="password"]:focus {
	border-color: var(--atlasyn-royal);
	box-shadow: 0 0 0 3px rgba(0, 188, 235, 0.25);
	outline: none;
}

#loginform .forgetmenot {
	margin-bottom: 14px;
}

#loginform .forgetmenot label {
	font-weight: 500;
}

#loginform .button-primary,
.wp-core-ui .button-primary {
	background: var(--atlasyn-navy);
	border: 1px solid var(--atlasyn-navy);
	border-radius: 6px;
	box-shadow: none;
	color: #ffffff;
	float: none;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 6px 18px;
	text-shadow: none;
	transition: background-color 120ms ease, border-color 120ms ease,
		box-shadow 120ms ease;
	width: 100%;
	height: auto;
	line-height: 1.6;
	margin-top: 8px;
}

#loginform .button-primary:hover,
.wp-core-ui .button-primary:hover {
	background: var(--atlasyn-royal);
	border-color: var(--atlasyn-royal);
}

#loginform .button-primary:focus {
	background: var(--atlasyn-royal);
	border-color: var(--atlasyn-royal);
	box-shadow: 0 0 0 3px rgba(0, 188, 235, 0.35);
	outline: none;
}

#loginform .button-primary:active {
	background: var(--atlasyn-navy);
}

#nav,
#backtoblog {
	color: var(--atlasyn-navy);
	padding: 0;
	text-align: center;
}

#nav a,
#backtoblog a {
	color: var(--atlasyn-royal);
	text-decoration: none;
	font-weight: 500;
	transition: color 120ms ease;
}

#nav a:hover,
#backtoblog a:hover,
#nav a:focus,
#backtoblog a:focus {
	color: var(--atlasyn-cyan);
}

#nav {
	margin: 18px 0 6px;
}

#backtoblog {
	margin: 6px 0 0;
}

.login .message,
.login .notice,
.login .success,
#login_error {
	background: #ffffff;
	border: 1px solid rgba(15, 27, 39, 0.12);
	border-inline-start: 4px solid var(--atlasyn-cyan);
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(15, 27, 39, 0.06);
	color: var(--atlasyn-navy);
}

.login #login_error {
	border-inline-start-color: #c0392b;
}

.login .message {
	border-inline-start-color: var(--atlasyn-blue);
}

.login .privacy-policy-page-link {
	color: var(--atlasyn-royal);
}

.login .privacy-policy-page-link:hover {
	color: var(--atlasyn-cyan);
}

/* Focus state for any interactive element. */
#login a:focus,
#login button:focus,
#login input:focus {
	outline: 2px solid var(--atlasyn-cyan);
	outline-offset: 2px;
	box-shadow: none;
}

/* Responsive: mobile-safe simplified layout. */
@media screen and (max-width: 480px) {
	#login {
		padding: 16px;
		max-width: none;
	}
	#login h1 a,
	.login h1.wp-login-logo a {
		width: 200px !important;
		height: 64px !important;
	}
	#loginform {
		padding: 20px 18px;
	}
	#nav,
	#backtoblog {
		text-align: start;
	}
}

@media screen and (max-width: 360px) {
	#login h1 a,
	.login h1.wp-login-logo a {
		width: 180px !important;
		height: 56px !important;
	}
}

/* High-contrast / forced-colors support. */
@media (forced-colors: active) {
	#loginform .button-primary,
	.wp-core-ui .button-primary {
		border: 1px solid CanvasText;
	}
	#loginform .input,
	#loginform input[type="text"],
	#loginform input[type="password"] {
		border: 1px solid CanvasText;
	}
}
