/* ==========================================================
   GEDEON SGNB - LOGIN
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:#eef3ef;

    height:100vh;

    overflow:hidden;

}

.login-container{

    display:flex;

    width:100%;

    height:100vh;

}

/* ================= LEFT ================= */

.login-left{

    width:55%;

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    background:
        linear-gradient(
            135deg,
            rgba(6,97,46,.95),
            rgba(25,135,84,.95)
        );

    background-size:cover;

    background-position:center;

}
.login-left::before{

    content:"";

    position:absolute;

    inset:0;

    background:url("../images/login/education-pattern.svg");

    background-repeat:no-repeat;

    background-position:center;

    background-size:78%;

    opacity:.20;

    animation:floatPattern 10s ease-in-out infinite;

}

.overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.15);

}

.login-left-content{

    position:relative;

    z-index:2;

    text-align:center;

    color:white;

    max-width:600px;

    padding:40px;

}

.school-logo{

    width:170px;

    margin-bottom:30px;

    background:white;

    padding:12px;

    border-radius:50%;

    box-shadow:0 20px 40px rgba(0,0,0,.25);

}

.login-left h1{

    font-size:40px;

    font-weight:700;

    line-height:1.3;

    margin-bottom:15px;

}

.login-left h3{

    font-size:26px;

    font-weight:600;

    color:#FFE082;

    margin-bottom:15px;

}

.login-left p{

    font-size:18px;

    opacity:.95;

}

.separator{

    width:120px;

    height:4px;

    background:white;

    margin:30px auto;

    border-radius:20px;

}

.login-left span{

    font-size:18px;

    font-weight:500;

}

/* ================= RIGHT ================= */

.login-right{

    width:45%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#F8F4EC;

    padding:40px;

}

/* ================= CARD ================= */

.login-card{

    width:100%;

    max-width:430px;

    background:#FFFDF9;

    border-radius:24px;

    padding:45px;

    border:1px solid #EFE6D8;

    box-shadow:0 20px 45px rgba(0,0,0,.10);

}

.login-card-logo{

    width:90px;

    display:block;

    margin:auto;

    margin-bottom:20px;

}

.login-title{

    text-align:center;

    color:#198754;

    font-size:30px;

    font-weight:700;

}

.login-subtitle{

    text-align:center;

    color:#666;

    margin-bottom:35px;

}

/* ================= INPUTS ================= */

.form-group{

    margin-bottom:20px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#444;

}

.input-group{

    position:relative;

}

.input-group i{

    position:absolute;

    top:50%;

    left:18px;

    transform:translateY(-50%);

    color:#198754;

}

.form-control{

    width:100%;

    padding:15px 18px 15px 50px;

    background:#FFF9F1;

    border:1px solid #E7DCCB;

    border-radius:12px;

    font-size:15px;

    transition:.25s;

}

.form-control:focus{

    outline:none;

    border-color:#198754;

    box-shadow:0 0 0 4px rgba(25,135,84,.15);

}

/* ================= BUTTON ================= */

.btn-login{

    width:100%;

    padding:15px;

    border:none;

    border-radius:12px;

    background:#198754;

    color:white;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.btn-login:hover{

    background:#06612E;

    transform:translateY(-2px);

}

/* ================= FOOTER ================= */

.login-footer{

    text-align:center;

    margin-top:25px;

    color:#888;

    font-size:13px;

}

/* ================= MOBILE ================= */

@media(max-width:992px){

    .login-left{

        display:none;

    }

    .login-right{

        width:100%;

    }

}

/* Alertes */

.alert-success{

    background:#d1f7df;

    color:#06612E;

    border-left:4px solid #198754;

    padding:12px;

    border-radius:8px;

    margin-bottom:20px;

}

/* Liens */

a{

    transition:.25s;

}

a:hover{

    color:#06612E !important;

}

/* Erreurs */

small{

    display:block;

    margin-top:8px;

    font-size:13px;

    color:#dc3545;

}
@keyframes floatPattern{

    0%{

        transform:translateY(0px) scale(1);

    }

    50%{

        transform:translateY(-10px) scale(1.02);

    }

    100%{

        transform:translateY(0px) scale(1);

    }

}