/* ARCE Admin · Pantalla de acceso de WordPress (wp-login.php) con la identidad de la web.
   Colores y tipografías en variables --aa-* que calcula el plugin (ver Arce_Admin_Panel::colores()):
   --aa-tema es el color principal con contraste AA garantizado y --aa-tema-texto el texto sobre él. */
body.login.aa-login {
	background: var(--aa-fondo-login);
	font-family: var(--aa-f-texto);
	color: var(--aa-tinta);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
body.aa-login::before { /* trazo doble de la marca arriba: principal y secundario */
	content: "";
	position: fixed;
	inset: 0 0 auto 0;
	height: 6px;
	background: linear-gradient(90deg, var(--aa-tema) 0 50%, var(--aa-secundario) 50% 100%);
	z-index: 1;
}
.aa-login #login { width: 360px; max-width: calc(100% - 32px); padding: 40px 0 24px; margin: auto; } /* margen automático: si no cabe, no se corta por arriba */

/* Logo de la web, enlazado a la portada */
.aa-login h1 a {
	background-image: var(--aa-logo);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 260px;
	max-width: 100%;
	height: 80px;
	margin: 0 auto 28px;
}
/* Logo claro (blanco para cabecera oscura): sobre una placa del color del menú */
.aa-login.aa-logo-claro h1 a {
	box-sizing: border-box;
	height: 104px;
	padding: 16px 28px;
	background-color: var(--aa-placa);
	background-origin: content-box;
	background-clip: border-box;
	border-radius: 6px;
}
.aa-login h1 a:focus { box-shadow: none; outline: 3px solid var(--aa-tema); outline-offset: 6px; }
.aa-login.aa-sin-logo h1 a { /* sin logo: el nombre de la web con la tipografía de titulares */
	background: none;
	width: auto;
	height: auto;
	text-indent: 0;
	overflow: visible;
	font: 400 1.9rem/1.2 var(--aa-f-titulos);
	color: var(--aa-tinta);
	text-decoration: none;
}

/* Tarjeta del formulario */
.aa-login form {
	margin-top: 0;
	padding: 32px 30px 28px;
	background: #fff;
	border: 1px solid var(--aa-linea);
	border-top: 4px solid var(--aa-tema);
	border-radius: 0;
	box-shadow: 0 24px 50px -34px rgba(20, 20, 20, .45);
}
.aa-login label {
	font: 600 .74rem/1.4 var(--aa-f-acento);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--aa-tinta);
}
.aa-login form .input,
.aa-login input[type="text"],
.aa-login input[type="password"],
.aa-login input[type="email"] {
	margin: 6px 0 18px;
	padding: 10px 14px;
	min-height: 46px;
	font: 400 1rem var(--aa-f-texto);
	color: var(--aa-tinta);
	background: #fff;
	border: 1px solid var(--aa-linea);
	border-radius: 0;
	box-shadow: none;
}
.aa-login form .input:focus,
.aa-login input[type="text"]:focus,
.aa-login input[type="password"]:focus,
.aa-login input[type="email"]:focus {
	border-color: var(--aa-tema);
	box-shadow: 0 0 0 3px rgba(var(--aa-tema-rgb), .18);
	outline: none;
}
.aa-login .button.wp-hide-pw { height: 46px; min-height: 46px; margin-top: 6px; color: var(--aa-gris); border: 0; border-radius: 0; background: transparent; }
.aa-login .button.wp-hide-pw:focus { border-color: var(--aa-tema); box-shadow: 0 0 0 2px rgba(var(--aa-tema-rgb), .3); }
.aa-login .button.wp-hide-pw .dashicons { color: var(--aa-gris); }
.aa-login .forgetmenot { margin-top: 10px; }
.aa-login .forgetmenot label { font: 400 .9rem var(--aa-f-texto); letter-spacing: 0; text-transform: none; color: var(--aa-gris); }
.aa-login input[type="checkbox"] { border-color: var(--aa-gris); border-radius: 0; accent-color: var(--aa-tema); }
.aa-login input[type="checkbox"]:checked { background: var(--aa-tema); border-color: var(--aa-tema); }
.aa-login input[type="checkbox"]:checked::before { filter: brightness(0) invert(1); }
.aa-login input[type="checkbox"]:focus { border-color: var(--aa-tema); box-shadow: 0 0 0 2px rgba(var(--aa-tema-rgb), .3); }

/* Botón principal */
body.aa-login.wp-core-ui .button-primary,
body.aa-login .button-primary {
	float: none;
	display: block;
	width: 100%;
	min-height: 48px;
	height: auto;
	margin-top: 22px;
	padding: 12px 18px;
	white-space: normal; /* «Obtener una contraseña nueva» no cabe en una línea en el móvil */
	font: 700 .78rem/1.4 var(--aa-f-acento); /* el atajo «font» lleva line-height: va dentro */
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--aa-tema-texto);
	background: var(--aa-tema);
	border: 1px solid var(--aa-tema);
	border-radius: 0;
	box-shadow: none;
	text-shadow: none;
	transition: background-color .25s ease, border-color .25s ease;
}
body.aa-login.wp-core-ui .button-primary:hover,
body.aa-login.wp-core-ui .button-primary:focus {
	background: var(--aa-tinta);
	border-color: var(--aa-tinta);
	color: #fff;
	box-shadow: none;
}
body.aa-login.wp-core-ui .button-primary:focus-visible { outline: 3px solid var(--aa-tema); outline-offset: 3px; }
.aa-login .submit { margin: 0; }
.aa-login p.submit::after { content: ""; display: table; clear: both; }
/* Botones secundarios (p. ej. los de la verificación en dos pasos) */
body.aa-login.wp-core-ui .button:not(.button-primary):not(.wp-hide-pw) { border-radius: 0; color: var(--aa-tema); border-color: var(--aa-tema); }

/* Avisos y errores */
.aa-login .message,
.aa-login .notice,
.aa-login .success,
.aa-login #login_error {
	margin: 0 0 18px;
	padding: 14px 16px;
	font-size: .92rem;
	background: #fff;
	border: 1px solid var(--aa-linea);
	border-left: 4px solid var(--aa-secundario);
	border-radius: 0;
	box-shadow: none;
}
.aa-login #login_error,
.aa-login .notice-error { border-left-color: #b32d2e; }
.aa-login .message a,
.aa-login .notice a,
.aa-login #login_error a { color: var(--aa-tema); }

/* Enlaces de debajo */
.aa-login #nav,
.aa-login #backtoblog { margin: 18px 0 0; padding: 0 4px; text-align: center; font-size: .88rem; }
.aa-login #nav a,
.aa-login #backtoblog a,
.aa-login .privacy-policy-page-link a {
	color: var(--aa-gris);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .2s ease, border-color .2s ease;
}
.aa-login #nav a:hover,
.aa-login #backtoblog a:hover,
.aa-login .privacy-policy-page-link a:hover { color: var(--aa-tema); border-bottom-color: var(--aa-secundario); }
.aa-login #nav a:focus-visible,
.aa-login #backtoblog a:focus-visible,
.aa-login .privacy-policy-page-link a:focus-visible { outline: 2px solid var(--aa-tema); outline-offset: 3px; box-shadow: none; }
.aa-login .privacy-policy-page-link { margin: 24px 0 0; text-align: center; font-size: .82rem; }

/* Selector de idioma */
.aa-login .language-switcher { margin-top: 28px; }
.aa-login .language-switcher label .dashicons { color: var(--aa-gris); }
.aa-login .language-switcher select { border-radius: 0; border-color: var(--aa-linea); font-family: var(--aa-f-texto); }
.aa-login .language-switcher .button { border-radius: 0; color: var(--aa-tema); border-color: var(--aa-tema); }

@media (max-width: 480px) {
	.aa-login #login { padding-top: 28px; }
	.aa-login h1 a { width: 220px; height: 68px; margin-bottom: 22px; }
	.aa-login form { padding: 26px 20px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	body.aa-login .button-primary, .aa-login #nav a, .aa-login #backtoblog a { transition: none; }
}
