/* Pantallas de acceso: /tm-login/, /recuperar-password/ y
   /restablecer-password/ (/registro/ tiene su propio layout de dos columnas
   pero usa la misma paleta).

   Paleta del sitio: negro, dorado (#C9A86A / #A8893A) y crema. Fondo con foto
   de viaje y velo cálido; tarjeta crema con texto oscuro para que el
   formulario se lea bien. Se carga DESPUÉS de wp_head() para ganarle al body
   del style.css global. */
:root {
    --lg-gold:       #C9A86A;
    --lg-gold-dark:  #A8893A;
    --lg-ink:        #1A1A1A;
    --lg-muted:      #6F6556;
    --lg-card:       #FAF7F2;
    --lg-line:       #E4DCCD;
    --lg-input:      #FFFFFF;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: 'Inter', sans-serif; color: #fff; min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background:
        linear-gradient(180deg, rgba(14,11,6,.55) 0%, rgba(14,11,6,.72) 55%, rgba(14,11,6,.88) 100%),
        url('https://images.unsplash.com/photo-1476514525535-07fb3b4ae5f1?w=1920&q=75&auto=format&fit=crop') center / cover no-repeat fixed,
        #14110C;
}
.login-wrap { width: 100%; max-width: 400px; padding: 2.5rem 1rem; }
.login-brand { text-align: center; margin-bottom: 2rem; }
.login-brand-img { width: 260px; height: auto; max-width: 100%; object-fit: contain; display: block; margin: 0 auto; filter: drop-shadow(0 2px 12px rgba(0,0,0,.45)); }
.login-card {
    background: var(--lg-card); color: var(--lg-ink);
    border-top: 3px solid var(--lg-gold); border-radius: 12px; padding: 2rem;
    box-shadow: 0 24px 60px rgba(0,0,0,.35), 0 4px 12px rgba(0,0,0,.12);
}
.login-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; color: var(--lg-ink); margin-bottom: .25rem; }
.login-sub { font-size: .875rem; color: var(--lg-muted); margin-bottom: 1.75rem; }
.login-error { background: #FDECEA; border: 1px solid #F5C2BC; color: #A4281B; border-radius: 6px; padding: .75rem 1rem; font-size: .8125rem; margin-bottom: 1.25rem; }
.login-field { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.125rem; }
.login-label { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lg-muted); }
.login-input { padding: .75rem .875rem; background: var(--lg-input); border: 1px solid var(--lg-line); border-radius: 6px; color: var(--lg-ink); font-family: 'Inter', sans-serif; font-size: .9375rem; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.login-input:hover { border-color: #D3C7B1; }
.login-input:focus { border-color: var(--lg-gold); box-shadow: 0 0 0 3px rgba(201,168,106,.22); }
.login-input::placeholder { color: #B5AB9B; }
.login-remember { display: flex; align-items: center; gap: .5rem; margin-bottom: 1.5rem; font-size: .8125rem; color: var(--lg-muted); cursor: pointer; }
.login-remember input { accent-color: var(--lg-gold-dark); width: 16px; height: 16px; }
.login-btn { width: 100%; padding: .875rem; background: var(--lg-gold); color: #000; border: none; border-radius: 6px; font-family: 'Inter', sans-serif; font-size: .875rem; font-weight: 700; letter-spacing: .04em; cursor: pointer; transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.login-btn:hover { background: var(--lg-gold-dark); box-shadow: 0 6px 16px rgba(168,137,58,.35); transform: translateY(-1px); }
.login-btn:focus-visible { outline: 2px solid var(--lg-ink); outline-offset: 2px; }
.login-btn:disabled { opacity: .6; cursor: not-allowed; transform: none; box-shadow: none; }
.login-footer { text-align: center; margin-top: 1.5rem; font-size: .8125rem; color: rgba(255,255,255,.8); text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.login-footer a { color: #fff; text-decoration: none; transition: color .2s ease; }
.login-footer a:hover { color: var(--lg-gold); }
.login-footer--register { margin-top: .625rem; }
.login-footer--register a { color: var(--lg-gold); font-weight: 700; }
.login-footer--register a:hover { color: #E2C98F; }
.grecaptcha-badge { z-index: 999; }
@media (max-width: 480px) {
    body { background-attachment: scroll, scroll, scroll; }
    .login-card { padding: 1.5rem; }
    .login-brand-img { width: 220px; }
}

/* Recuperar / restablecer contraseña */
.login-success { background: #EAF6EE; border: 1px solid #BFE3CB; color: #1E6B3A; border-radius: 6px; padding: .875rem 1rem; font-size: .8125rem; line-height: 1.6; margin-bottom: 1rem; }
.login-success a { color: #1E6B3A; font-weight: 700; }
.login-hint { font-size: .75rem; color: var(--lg-muted); margin: -.5rem 0 1rem; }
.login-btn--link { display: block; text-align: center; text-decoration: none; }
