/* ==========================================================================
 * Seemerce Admin UI — wp-login.php
 *
 * wp-login.php runs outside the admin, so there is no `admin_body_class` to
 * hang the marker on. Everything here is scoped to `body.login`, which core
 * has printed on that page since 2.8.
 *
 * Note the site's own unified login lives at /login/ in the theme; this
 * covers the WordPress screen that still answers on wp-login.php.
 * ========================================================================== */

body.login {
	background: var(--rgb-bg);
	color: var(--rgb-text-2);
	font-family: var(--rgb-font);
	min-height: 100vh;
}

body.login::before {
	content: '';
	position: fixed;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(900px 480px at 78% -6%, rgba(176, 107, 255, .16), transparent 62%),
		radial-gradient(760px 440px at 12% 8%, rgba(77, 159, 255, .14), transparent 60%),
		radial-gradient(600px 380px at 50% 108%, rgba(46, 230, 168, .10), transparent 62%);
}

body.login * {
	font-family: var(--rgb-font);
	letter-spacing: normal;
}

body.login #login {
	position: relative;
	z-index: 1;
	padding-top: 6vh;
	width: 340px;
}

/* Logo: a Seemerce gradient wordmark instead of the WordPress mark. */
body.login h1 a {
	background: none;
	width: auto;
	height: auto;
	margin: 0 auto 24px;
	text-indent: 0;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.2;
	color: transparent;
	overflow: visible;
}

body.login h1 a::before {
	content: 'Seemerce';
	display: block;
	background: var(--rgb-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	letter-spacing: 1px;
}

/* Scoped to the real auth forms by ID. `body.login form` also matches the
   language-switcher form that core prints in the footer, which then picked up
   the card chrome and drew a stray gradient rule across the bottom of the
   page. */
body.login #loginform,
body.login #registerform,
body.login #lostpasswordform,
body.login #resetpassform {
	background: rgba(16, 22, 36, .78);
	backdrop-filter: saturate(150%) blur(20px);
	-webkit-backdrop-filter: saturate(150%) blur(20px);
	border: 1px solid var(--rgb-border);
	border-radius: var(--rgb-r-lg);
	box-shadow: var(--rgb-shadow);
	padding: 28px 26px 24px;
	margin-top: 0;
	overflow: hidden;
	position: relative;
}

body.login #loginform::before,
body.login #registerform::before,
body.login #lostpasswordform::before,
body.login #resetpassform::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: var(--rgb-grad);
}

body.login #loginform label,
body.login #registerform label,
body.login #lostpasswordform label,
body.login #resetpassform label,
body.login .forgetmenot label {
	color: var(--rgb-text-2);
	font-size: 13.5px;
	font-weight: 600;
}

body.login #loginform .input,
body.login input[type='text'],
body.login input[type='password'],
body.login input[type='email'] {
	background: var(--rgb-surface-2);
	border: 1px solid var(--rgb-border-2);
	border-radius: var(--rgb-r-xs);
	box-shadow: none;
	color: var(--rgb-text);
	font-family: var(--rgb-font);
	font-size: 15px;
	padding: 10px 12px;
	margin-bottom: 16px;
	transition: border-color var(--rgb-fast), box-shadow var(--rgb-fast);
}

body.login #loginform .input:focus,
body.login input[type='text']:focus,
body.login input[type='password']:focus {
	background: var(--rgb-surface-3);
	border-color: var(--rgb-blue);
	box-shadow: var(--rgb-ring);
	outline: none;
}

body.login input[type='checkbox'] {
	background: var(--rgb-surface-2);
	border: 1px solid var(--rgb-border-3);
	border-radius: 5px;
	width: 18px;
	height: 18px;
}

body.login input[type='checkbox']:checked {
	background: var(--rgb-blue);
	border-color: var(--rgb-blue);
}

body.login input[type='checkbox']:checked::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	background-color: #04122a;
	-webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;
	mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;
}

body.login .button.wp-hide-pw {
	color: var(--rgb-text-3);
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.login .button.wp-hide-pw:hover {
	color: var(--rgb-blue);
}

body.login .button-primary,
body.login #wp-submit {
	background: var(--rgb-blue);
	border: 0;
	border-radius: var(--rgb-r-xs);
	box-shadow: 0 8px 24px -8px rgba(77, 159, 255, .8);
	color: #04122a;
	float: none;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	padding: 11px 20px;
	text-shadow: none;
	transition: background var(--rgb-fast), box-shadow var(--rgb-fast);
	width: 100%;
}

body.login .button-primary:hover,
body.login #wp-submit:hover {
	background: #6cb0ff;
	box-shadow: 0 10px 30px -8px rgba(77, 159, 255, .95);
}

body.login .submit {
	margin-top: 6px;
}

body.login #nav,
body.login #backtoblog {
	margin: 14px 0 0;
	padding: 0 4px;
	text-align: center;
}

body.login #nav a,
body.login #backtoblog a {
	color: var(--rgb-text-3);
	font-size: 13px;
	transition: color var(--rgb-fast);
}

body.login #nav a:hover,
body.login #backtoblog a:hover {
	color: var(--rgb-blue);
}

body.login .message,
body.login .notice,
body.login #login_error,
body.login .success {
	background: var(--rgb-surface);
	border: 1px solid var(--rgb-border);
	border-radius: var(--rgb-r-sm);
	box-shadow: var(--rgb-shadow-sm);
	color: var(--rgb-text-2);
	padding: 12px 16px;
}

body.login #login_error {
	border-color: var(--rgb-red);
	background: var(--rgb-red-soft), var(--rgb-surface);
}

body.login .success,
body.login .notice-success {
	border-color: var(--rgb-green);
	background: var(--rgb-green-soft), var(--rgb-surface);
}

body.login .privacy-policy-page-link {
	margin: 24px 0 0;
}

body.login .privacy-policy-page-link a {
	color: var(--rgb-text-4);
}

body.login .language-switcher select {
	background: var(--rgb-surface-2);
	border-color: var(--rgb-border-2);
	color: var(--rgb-text-2);
	border-radius: var(--rgb-r-xs);
}

body.login #pass-strength-result {
	background: var(--rgb-surface-2);
	border-color: var(--rgb-border-2);
	color: var(--rgb-text-2);
	border-radius: var(--rgb-r-xs);
}
