/*
 * recuperar-clave.css
 * Estilos complementarios para RecuperarClave.aspx.
 * Reutiliza clases lp-* del Login; solo define lo que no cubre el Login.
 * Compatible con modo claro (lp-light) y oscuro (lp-dark).
 */

/* ============================================================
   REGIÓN ARIA-LIVE (fuera del MultiView)
   ============================================================ */
#rc-live-region {
    /* Oculto visualmente cuando está vacío, pero siempre en el DOM
       para que el lector de pantalla lo detecte desde el inicio. */
    min-height: 0;
}

/* Mensaje informativo (genérico, instrucciones) */
.rc-msg-info {
    display: block;
    padding: 0.75rem 1rem;
    margin: 0 0 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    line-height: 1.5;
}

/* Mensaje de error */
.rc-msg-error {
    display: block;
    padding: 0.75rem 1rem;
    margin: 0 0 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    line-height: 1.5;
}

/* Tema oscuro */
.lp-dark .rc-msg-info {
    background: rgba(27, 86, 214, 0.12);
    border: 1px solid rgba(27, 86, 214, 0.35);
    color: #a8c4ff;
}

.lp-dark .rc-msg-error {
    background: rgba(220, 38, 38, 0.12);
    border: 1px solid rgba(220, 38, 38, 0.35);
    color: #fca5a5;
}

/* Tema claro */
.lp-light .rc-msg-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
}

.lp-light .rc-msg-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
}

/* ============================================================
   CAMPO OTP (6 dígitos)
   ============================================================ */
.rc-otp {
    letter-spacing: 0.4em;
    font-size: 1.25rem;
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
}

/* ============================================================
   BOTONES Y ENLACES DE NAVEGACIÓN
   ============================================================ */
.rc-btn-full {
    width: 100%;
    margin-top: 0.25rem;
}

/* Botón que actúa como enlace (vista de éxito) */
.rc-btn-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-decoration: none;
    margin-bottom: 0.5rem;
}

/* Zona de botones de retorno */
.rc-back-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.25rem;
}

.rc-reenviar-wrap {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.rc-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    text-decoration: none;
    opacity: 0.75;
    transition: opacity 0.15s ease;
}

.rc-back-link:hover { opacity: 1; }

/* Tema oscuro: texto teal */
.lp-dark .rc-back-link { color: #7ef0f7; }

/* Tema claro: texto azul */
.lp-light .rc-back-link { color: #1b56d6; }

/* Enlace "Reenviar código" */
.rc-reenviar-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    transition: opacity 0.15s ease;
    /* Área táctil mínima de 44×44px (UX-7) */
    min-height: 44px;
    min-width: 44px;
}

.lp-dark  .rc-reenviar-link { color: #7ef0f7; }
.lp-light .rc-reenviar-link { color: #1b56d6; }
.rc-reenviar-link:hover { opacity: 0.8; }

/* Estado deshabilitado durante el cooldown (UX-6) */
.rc-reenviar-disabled {
    opacity: 0.4;
    pointer-events: none;
    cursor: not-allowed;
}

/* Contador de cooldown visible */
.rc-cooldown-txt {
    font-size: 0.8rem;
    opacity: 0.6;
}

/* ============================================================
   VISTA DE ÉXITO
   ============================================================ */
.rc-success-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rc-success-ico {
    font-size: 1.4rem;
    color: #22c55e;
}

/* ============================================================
   ÁREA TÁCTIL MÍNIMA — inputs y botones (UX-7)
   ============================================================ */
@media (max-width: 480px) {
    .lp-btn,
    .rc-btn-full,
    .rc-reenviar-link,
    .rc-back-link,
    .lp-eye {
        min-height: 44px;
    }

    /* Evitar que el conmutador de tema solape el contenido (UX-7) */
    #lp-theme-toggle {
        top: 12px;
        right: 12px;
        width: 44px;
        height: 44px;
    }
}

/* ============================================================
   RESPONSIVE 375px (UX-7): sin scroll horizontal
   ============================================================ */
@media (max-width: 400px) {
    .lp-card {
        padding: 1.25rem 1rem;
    }

    .rc-reenviar-wrap {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ============================================================
   WRAP DEL CAMPO EN LA PANTALLA DE RECUPERACIÓN
   ============================================================ */
.rc-field-wrap {
    margin-bottom: 1rem;
}

/* ============================================================
   ENCABEZADO DE LA TARJETA EN RECUPERACIÓN
   login-smartlab.css (tema claro) oculta .lp-card-head porque en el
   Login lo sustituye el hero "Bienvenido"; aquí el título y la
   instrucción de cada vista son imprescindibles → re-mostrarlo.
   (.rc-body la agrega RecuperarClave.aspx.cs en AplicarTema.)
   ============================================================ */
.rc-body .lp-card-head {
    display: block;
    margin-bottom: 20px;
    text-align: center;
}

/* Colores del título/instrucción en tema claro (el oscuro ya los trae
   de login-v3.css). */
.rc-body.lp-light .lp-card-title {
    font-family: var(--lp-font-body);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--lp-navy);
    margin: 0 0 4px;
    letter-spacing: 0.01em;
}

.rc-body.lp-light .lp-card-sub {
    font-family: var(--lp-font-body);
    font-size: .85rem;
    color: var(--lp-text-2);
    margin: 0;
}
