/* ======================================================= */
/* css/login-register.css (VERSIÓN FINAL CON ALTA ESPECIFICIDAD) */
/* ======================================================= */

/* --- Estilo general del cuerpo de la página --- */
#auth-page.login-register-body {
    background-color: #f0f2f5;
    font-family: 'Inter', sans-serif;
    /* Añadimos padding para crear espacio arriba y en los lados */
    padding: 3rem 20px 2rem 20px; /* 4rem arriba, 20px lados, 2rem abajo */
    box-sizing: border-box; /* Asegura que el padding no cause desbordamiento */
}

/* --- Contenedor principal --- */
#auth-page .login-register-wrapper {
    width: 100%; /* El wrapper ahora ocupa el 100% del espacio con padding */
    max-width: 450px;
    margin: 0 auto; /* Lo centramos horizontalmente */
}

/* --- Título de la marca con punto estilizado --- */
#auth-page .styled-brand-title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 2rem;
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
}

#auth-page .styled-brand-title .dot {
    color: #e63946;
    font-size: 3.5rem;
    position: absolute;
    top: 10%;
    transform: translateY(-55%);
    margin-left: -5px;
    margin-right: -5px;
}

/* --- Contenedor del formulario (caja blanca) --- */
#auth-page .app-container {
    background: white;
    /* --- LÍNEA MODIFICADA --- */
    /* Ahora es: 4rem (arriba), 2.5rem (lados), 2.5rem (abajo) */
    padding: 1rem 2.5rem 1rem; 
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

#auth-page .app-container h2 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 2rem;
    color: #333;
    font-weight: 600;
}

/* --- Formulario y sus elementos --- */
#auth-page .upload-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; /* Espaciado equilibrado y moderno */
}

#auth-page .form-step {
    margin-bottom: 0.5rem; /* Esta es la distancia vertical entre cada campo */
}

#auth-page .form-step label {
    display: block;
    margin-bottom: 0rem;
    font-weight: 500;
    color: #555;
}

#auth-page .form-step input[type="email"],
#auth-page .form-step input[type="password"],
#auth-page .form-step input[type="text"],
#auth-page .form-step select {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

#auth-page .form-step input:focus {
    outline: none;
    border-color: #0066cc;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.2);
}

/* --- Campo de contraseña con icono --- */
#auth-page .password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

#auth-page .password-wrapper input {
    padding-right: 40px !important;
}

#auth-page .password-wrapper i {
    position: absolute;
    right: 15px;
    cursor: pointer;
    color: #aaa;
}

/* --- Enlace "Olvidé mi contraseña" --- */
#auth-page .form-options {
    text-align: right;
    margin-top: -0.5rem;
}

#auth-page .forgot-password-link {
    font-size: 0.9rem;
    color: #0066cc;
    text-decoration: none;
    margin-bottom: 0rem;
}

#auth-page .forgot-password-link:hover {
    text-decoration: underline;
}

/* --- Botón principal --- */
#auth-page .submit-button {
    width: 100%;
    padding: 14px;
    background-color: #0066cc;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    transition: background-color 0.2s;
    margin-top: 0rem;
}

#auth-page .submit-button:hover {
    background-color: #0052a3;
}

/* --- Pie del formulario --- */
#auth-page .form-footer {
    text-align: center;
    margin-top: 0.5rem;
    color: #666;
}

#auth-page .form-footer a {
    color: #0066cc;
    font-weight: 600;
    text-decoration: none;
}

#auth-page .form-footer a:hover {
    text-decoration: underline;
}

/* ======================================================= */
/* ===== AJUSTES RESPONSIVOS PARA MÓVILES (Compacto) ===== */
/* ======================================================= */
@media (max-width: 600px) {

    #auth-page .login-register-wrapper {
        margin: 0rem auto;
    }

    #auth-page .app-container {
        padding: 2rem 1.5rem;
    }

    #auth-page .upload-form {
        gap: 0.0rem; /* Más compacto para pantallas pequeñas */
    }

    #auth-page .form-step label {
        margin-bottom: 0.0rem;
    }

    #auth-page .form-step input,
    #auth-page .form-step select {
        padding: 0px 0px;
    }

    #auth-page .styled-brand-title {
        margin-bottom: 0.5rem;
        font-size: 2.2rem;
    }

    #auth-page .styled-brand-title .dot {
        font-size: 3.2rem;
    }

    #auth-page .app-container h2 {
        margin-bottom: 1.5rem;
    }

    #auth-page .submit-button {
        margin-top: 0.5rem;
    }

    #auth-page .form-footer {
        margin-top: 0.5rem;
    }
}

/* ======================================================= */
/* ======== TÍTULOS DE LANDING / VARIANTES ESTÉTICAS ===== */
/* ======================================================= */
#auth-page .landing-brand-title0 {
    text-align: center;
    font-size: clamp(6rem, 10vw, 6rem);
    font-weight: 100;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -2px;
    color: white;
}

#auth-page .landing-brand-title0 span {
    font-size: 11rem;
    color: #ff4d4d;
}

#auth-page .landing-brand-title2 {
    text-align: center;
    font-size: clamp(2rem, 10vw, 2rem);
    font-weight: 100;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -2px;
    color: black;
}

#auth-page .landing-brand-title2 span {
    font-size: 4.5rem;
    color: #ff4d4d;
}
