/* Acceder / Registrarse igual que la web original (medido a 1440 y 390 px, 26/10/2026), en dos sitios con el mismo diseño:
   - el modal de «Mi cuenta» (inc/cuenta-modal.php + assets/js/cuenta-modal.js): caja de 838 px, velo negro al 60 %, aspa;
   - la página de Mi cuenta sin sesión y «¿Olvidaste la contraseña?»: fondo blanco y una caja con sombra (960 / 520 px)
     a 70 px de la cabecera y 100 px del pie.
   Títulos en mayúsculas con raya roja, campos grises, botones rojos. La zona con sesión sigue en assets/css/cuenta.css. */

/* ── Modal ─────────────────────────────────────────────────────────────── */
html.upb-cuenta-abierta { overflow: hidden; }
.upb-cuenta { width: min(838px, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: 0; border: 0; border-radius: 20px; background: #fff; color: #4a4a4a; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); overflow: visible; }
.upb-cuenta::backdrop { background: rgb(11 11 11 / .6); }
.upb-cuenta[open] { animation: upb-cuenta-in .25s var(--ease, ease-out); }
@keyframes upb-cuenta-in { from { opacity: 0; translate: 0 12px; } }
.upb-cuenta__cerrar { position: fixed; top: 0; right: 0; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.upb-cuenta__cerrar svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
.upb-cuenta__cerrar:hover { opacity: .75; }
.upb-cuenta__in { max-height: calc(100dvh - 2rem); padding: 36px 15px; overflow: auto; border-radius: inherit; }
/* Cargando: rueda en el centro mientras llega el formulario. */
.upb-cuenta__in[aria-busy] { display: grid; place-items: center; min-height: 320px; }
.upb-cuenta__in[aria-busy]::after { content: ""; width: 34px; height: 34px; border: 3px solid #eee; border-top-color: #e32c2b; border-radius: 50%; animation: upb-cuenta-giro .8s linear infinite; }
@keyframes upb-cuenta-giro { to { rotate: 1turn; } }
@media (prefers-reduced-motion: reduce) { .upb-cuenta[open], .upb-cuenta__in[aria-busy]::after { animation: none; } }
.upb-cuenta #customer_login > div { padding: 0 30px; }

/* ── Página de Mi cuenta sin sesión y «¿Olvidaste la contraseña?» ───────── */
.woocommerce-account:not(.logged-in) .s-contenido.section { min-height: 0; padding-block: 70px 100px; background: #fff; }
.woocommerce-account:not(.logged-in) .s-contenido__box { max-width: 1050px; margin-inline: auto; padding: 0; border-radius: 0; background: none; box-shadow: none; }
/* Avisos sin formulario («Correo electrónico de restablecimiento de contraseña enviado»): texto verde con marca, sin caja,
   a 30 px de la cabecera, como el original. */
.woocommerce-account:not(.logged-in) .s-contenido.section:not(:has(#customer_login, form.lost_reset_password)) { padding-block: 30px 60px; }
.woocommerce-account:not(.logged-in) .s-contenido .woocommerce-message { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 0 0 8px; border: 0; border-radius: 0; background: none; color: #81d742; font-size: 16px; line-height: 25.6px; outline: none; }
.woocommerce-account:not(.logged-in) .s-contenido .woocommerce-message::before { content: ""; position: static; flex: none; width: 16px; height: 16px; margin-top: 4px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.woocommerce-account:not(.logged-in) .s-contenido .woocommerce-message + p { margin: 0 0 21px; color: #4a4a4a; font-size: 16px; line-height: 25.6px; }
.woocommerce-account:not(.logged-in) .s-contenido #customer_login,
.woocommerce-account:not(.logged-in) .s-contenido form.lost_reset_password { width: auto; max-width: 960px; margin-inline: auto; padding: 35px 30px; border: 1px solid rgb(0 0 0 / .05); border-radius: 20px; background: #fff; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .08); }
.woocommerce-account:not(.logged-in) .s-contenido form.lost_reset_password { max-width: 520px; border-color: rgb(0 0 0 / .06); box-shadow: 0 20px 40px -12px rgb(0 0 0 / .08); }
.woocommerce-account:not(.logged-in) .s-contenido #customer_login > div { margin: 0; padding: 0; border: 0; border-radius: 0; }
.woocommerce-account:not(.logged-in) .s-contenido form.lost_reset_password > p:first-child { margin: 0 0 16px; color: #4b5563; font-size: 14px; line-height: 22.5px; }
.woocommerce-account:not(.logged-in) .s-contenido form.lost_reset_password .form-row-first { float: none; width: auto; }
.woocommerce-account:not(.logged-in) .s-contenido form.lost_reset_password .clear { display: none; }

/* ── Formularios (los dos sitios) ──────────────────────────────────────── */
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) #customer_login > div { min-width: 0; float: none; width: auto; }
.woocommerce-account:not(.logged-in) .s-contenido #customer_login > div:first-child { padding-right: 30px; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) #customer_login > div + div { padding-left: 30px; border-left: 1px solid #ececec; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) h2 { position: relative; margin: 0 0 24px; color: #111; font-size: 20px; font-weight: 800; line-height: 24px; text-transform: uppercase; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) h2::after { content: ""; position: absolute; left: 0; bottom: -9px; width: 28px; height: 3px; background: #e32c2b; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) form { margin: 0; padding: 0; border: 0; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) :is(.form-row, p) { margin: 0 0 8px; padding: 0; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .woocommerce-form-register p { margin-bottom: 14px; color: #6b7280; font-size: 12.5px; line-height: 18.7px; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) label { display: block; margin-bottom: 6px; color: #222; font-size: 13px; font-weight: 700; line-height: 21px; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .required { color: inherit; text-decoration: none; border: 0; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) input:is([type="text"], [type="email"], [type="password"]) { width: 100%; height: 46px; margin: 0; padding: 0 16px; border: 1px solid #e5e7eb; border-radius: 12px; background: #f9fafb; color: #111; font: inherit; font-size: 14.4px; box-shadow: none; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) input:focus-visible { outline: 2px solid #e32c2b; outline-offset: 1px; border-color: transparent; background: #fff; box-shadow: none; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .password-input { position: relative; display: block; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .show-password-input { position: absolute; inset: 0 8px 0 auto; display: grid; place-items: center; width: 36px; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; translate: none; transform: none; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 12px; color: #4b5563; font-weight: 500; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .form-row:has(.woocommerce-form-login__rememberme) { display: block; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) input[type="checkbox"] { flex: none; width: 17px; height: 17px; margin: 0; accent-color: #e32c2b; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) form button[type="submit"] { display: block; width: 100%; min-height: 48px; margin: 4px 0 16px; padding: 0 17px; border: 0; border-radius: 999px; background: #e32c2b; color: #fff; font: inherit; font-size: 14px; font-weight: 700; text-transform: uppercase; box-shadow: 0 4px 14px rgb(227 44 43 / .28); cursor: pointer; transform: none; transition: background-color var(--dur, .2s); }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) form button[type="submit"]:hover { background: #c81f1e; transform: none; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) a:not(.button) { color: #e32c2b; font-weight: 600; text-decoration: none; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) a:not(.button):hover { text-decoration: underline; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .lost_password { font-size: 13px; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .woocommerce-privacy-policy-text p { margin: 0 0 14px; }
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .woocommerce-notices-wrapper:empty { display: none; }

/* Móvil: columnas una debajo de otra, caja de 294 px a 48 px de los bordes (como el original a 390 px). */
@media (max-width: 849px) {
	.woocommerce-account:not(.logged-in) .s-contenido.section { padding-top: 72px; }
	.woocommerce-account:not(.logged-in) .s-contenido__box { padding-inline: 33px; } /* Avisos a 33 px del borde; las cajas, a 48 px. */
	.woocommerce-account:not(.logged-in) .s-contenido #customer_login,
	.woocommerce-account:not(.logged-in) .s-contenido form.lost_reset_password { margin-inline: 15px; padding: 25px 18px; border-radius: 16px; }
	.woocommerce-account:not(.logged-in) .s-contenido form.lost_reset_password { padding-inline: 20px; }
	.woocommerce-account:not(.logged-in) .s-contenido #customer_login { grid-template-columns: 1fr; padding-inline: 4px; } /* El original deja los campos a 4 px del borde (286 px a 390). */
	.woocommerce-account:not(.logged-in) .s-contenido #customer_login > div:first-child { padding-right: 0; }
	.woocommerce-account:not(.logged-in) .s-contenido #customer_login > div + div { margin-top: 52px; padding: 62px 0 0; border-left: 0; border-top: 1px solid #ececec; }
}
/* Captcha del plugin Advanced Google reCAPTCHA (cuenta «Are you human? Please solve:», sin Google): la imagen de la cuenta
   en la misma línea que la pregunta, como en el original; el campo con el estilo de los demás (regla de los inputs). */
:is(.upb-cuenta, .woocommerce-account:not(.logged-in) .s-contenido) .wpcaptcha-captcha-img { display: inline; margin-left: 2px; vertical-align: text-top; }
