/*==================================================
  EMPRENDESTOCK V1
  LOGIN
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    height:100%;
}

body{

    font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;

    background:var(--bg-body);

    color:var(--texto);

    overflow:hidden;

}

/*=============================
    PARTÍCULAS
=============================*/

#particles{

    position:fixed;

    inset:0;

    width:100%;
    height:100%;

    z-index:0;

}

/*=============================
    LUCES
=============================*/

.glow{

    position:fixed;

    width:380px;
    height:380px;

    border-radius:50%;

    filter:blur(130px);

    z-index:1;

    opacity:.45;

}

.glow-1{

    top:-120px;
    left:-120px;

    background:var(--color-principal);

}

.glow-2{

    bottom:-120px;
    right:-120px;

    background:var(--color-principal);

}

/*=============================
    LOGIN
=============================*/

.login-wrapper{

    position:relative;

    z-index:2;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:30px;

}

.login-card{

    width:100%;
    max-width:470px;

    background:var(--bg-card);

    backdrop-filter:blur(20px);

    border:1px solid var(--borde);

    border-radius:var(--radio-card);

    padding:45px;

    box-shadow:var(--sombra);

}

/*=============================
    LOGO
=============================*/

.logo-container{

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:22px;

}

.logo{

    width:100px;

    height:100px;

    object-fit:contain;

    display:block;

    transition:.30s;

}

/*=============================
    HEADER
=============================*/

.login-header{

    width:100%;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin-bottom:36px;

}

.mini-title{

    display:block;

    color:var(--color-principal);

    font-size:12px;

    font-weight:700;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:12px;

}

.login-header h1{

    font-size:34px;

    font-weight:700;

    line-height:1.2;

    margin-bottom:12px;

    text-align:center;

}

.login-header p{

    max-width:320px;

    color:var(--texto-secundario);

    font-size:15px;

    line-height:1.7;

    text-align:center;

}

/*=============================
    FORM
=============================*/

form{

    display:flex;

    flex-direction:column;

    align-items:center;

    width:100%;

}

.form-group{

    width:100%;

    margin-bottom:22px;

    text-align:center;

}

.form-group label{

    display:block;

    font-size:15px;

    font-weight:600;

    margin-bottom:10px;

    color:var(--texto);

    text-align:center;

}

.password-label{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:8px;

    margin-bottom:10px;

}

.password-label label{

    margin:0;

}

.password-label a{

    color:var(--color-principal);

    text-decoration:none;

    font-size:14px;

    transition:.25s;

}

.password-label a:hover{

    opacity:.85;

}

.input-container{

    width:100%;

    min-height:58px;

    display:flex;

    align-items:center;

    background:var(--bg-input);

    border:1px solid var(--borde);

    border-radius:var(--radio);

    transition:.30s;

}

.input-container:focus-within{

    border-color:var(--color-principal);

    box-shadow:0 0 0 4px rgba(0,255,170,.08);

}

.input-icon{

    width:56px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:18px;

    color:var(--texto-secundario);

}

.input-container input{

    flex:1;

    height:58px;

    border:none;

    outline:none;

    background:transparent;

    color:var(--texto);

    font-size:16px;

    font-weight:500;

    padding:0;

}

.input-container input::placeholder{

    color:var(--texto-apagado);

}

.show-password{

    width:56px;

    height:58px;

    display:flex;

    justify-content:center;

    align-items:center;

    border:none;

    background:none;

    color:var(--texto-secundario);

    cursor:pointer;

    transition:.25s;

}

.show-password:hover{

    color:var(--color-principal);

}

/*=============================
    BOTÓN
=============================*/

.login-button{

    width:100%;

    border:none;

    border-radius:var(--radio);

    padding:16px;

    background:var(--color-principal);

    color:white;

    cursor:pointer;

    font-size:16px;

    font-weight:bold;

    transition:.25s;

}

.login-button:hover{

    transform:translateY(-2px);

    filter:brightness(.90);

}

/*=============================
    SEPARADOR
=============================*/

.separator{

    display:flex;

    align-items:center;

    gap:15px;

    margin:35px 0;

}

.separator span{

    flex:1;

    height:1px;

    background:#374151;

}

.separator p{

    color:var(--texto-apagado);

}

/*=============================
    REGISTRO
=============================*/

.register-button{

    display:block;

    text-align:center;

    text-decoration:none;

    color:white;

    border:1px solid var(--borde);

    padding:15px;

    border-radius:var(--radio);

    transition:.25s;

}

.register-button:hover{

    border-color:var(--color-principal);

    color:var(--color-principal);

}

/*=============================
    FOOTER
=============================*/

.login-footer{

    margin-top:30px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    color:var(--texto-apagado);

}

.status-dot{

    width:10px;
    height:10px;

    border-radius:50%;

    background:var(--color-principal);

}

/*==================================================
    AJUSTES FINALES Y RESPONSIVE
==================================================*/

/* Mejor apariencia de la tarjeta */

.login-card{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    width:100%;

    max-width:480px;

    min-width:320px;

    margin:auto;

}

/* Todos los elementos ocupan el ancho correcto */

.login-card>*{

    width:100%;

}

/* Botones centrados */

.login-button,
.register-button{

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:56px;

    font-size:16px;

    font-weight:600;

}

/* Separador */

.separator{

    width:100%;

}

/* Footer */

.login-footer{

    width:100%;

    justify-content:center;

    text-align:center;

    margin-top:32px;

}

/* Animaciones */

.input-container,
.login-button,
.register-button{

    transition:
        background .25s,
        color .25s,
        border-color .25s,
        transform .20s,
        box-shadow .25s;

}

.login-button:hover{

    transform:translateY(-2px);

}

.register-button:hover{

    transform:translateY(-2px);

}

/*=========================
        TABLETS
=========================*/

@media (max-width:900px){

    .login-wrapper{

        padding:25px;

    }

    .login-card{

        max-width:460px;

        padding:38px;

    }

}

/*=========================
        MÓVILES
=========================*/

@media (max-width:600px){

    body{

        overflow:auto;

    }

    .login-wrapper{

        min-height:100vh;

        padding:20px;

    }

    .login-card{

        padding:28px 22px;

        border-radius:22px;

    }

    .logo{

        width:82px;

        height:82px;

    }

    .login-header h1{

        font-size:28px;

    }

    .login-header p{

        font-size:14px;

    }

    .input-container{

        min-height:54px;

    }

    .input-container input{

        height:54px;

        font-size:15px;

    }

    .show-password{

        height:54px;

    }

}

/*=========================
      ULTRAWIDE
=========================*/

@media (min-width:2200px){

    .login-card{

        max-width:520px;

    }

}