/* ------------------------------------------------------------------ */
/* Login moderno area utenti - layout split (brand a sx, form a dx)   */
/* ------------------------------------------------------------------ */
/* topbar minimale: solo selettore lingua in alto a destra */
.login-topbar{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    padding:1rem 1.5rem;
}
.login-lang-toggle{
    display:inline-flex;
    align-items:center;
    padding:.4rem .9rem;
    border:1px solid #d4d9e0;
    border-radius:999px;
    background:#fff;
    color:#0033a1;
    font-weight:600;
    font-size:.85rem;
    text-decoration:none;
    box-shadow:0 2px 6px rgba(0,32,92,.06);
    transition:border-color .15s, box-shadow .15s, color .15s;
}
.login-lang-toggle:hover,
.login-lang-toggle:focus{
    color:#00205c;
    border-color:#0033a1;
    box-shadow:0 4px 12px rgba(0,51,161,.15);
    text-decoration:none;
}
.login-lang-toggle i{ margin-right:.45rem; color:#0033a1; }
.login-lang-toggle::after{ margin-left:.45rem; }

/* menu delle lingue */
.login-topbar .dropdown-menu{
    border:0;
    border-radius:12px;
    padding:.4rem;
    margin-top:.4rem;
    background:#f1f3f6;            /* grigio chiaro */
    box-shadow:0 12px 30px rgba(0,32,92,.18);
    min-width:11rem;
    max-height:60vh;
    overflow-y:auto;
}
.login-topbar .dropdown-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-radius:8px;
    padding:.45rem .75rem;
    font-size:.88rem;
    color:#1d252c;
}
.login-topbar .dropdown-item:hover,
.login-topbar .dropdown-item:focus{
    background:#0033a1;
    color:#fff;
}
/* lingua attualmente attiva */
.login-topbar .dropdown-item.is-current{
    font-weight:700;
    color:#0033a1;
    background:#e1e7f1;
}
.login-topbar .dropdown-item.is-current:hover,
.login-topbar .dropdown-item.is-current:focus{
    color:#fff;
    background:#0033a1;
}
.login-topbar .dropdown-item .check{ font-size:.8rem; margin-left:.5rem; }

.login-page{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1 0 auto;
    padding:1rem 1rem 3rem;
}
.login-card{
    display:flex;
    width:100%;
    max-width:940px;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 50px rgba(0,32,92,.18);
}

/* pannello brand a sinistra */
.login-aside{
    flex:0 0 44%;
    padding:3rem 2.5rem;
    color:#fff;
    background:linear-gradient(140deg,#0033a1 0%,#00205c 100%);
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.login-aside.is-errebi{
    background:linear-gradient(140deg,#0a3d7c 0%,#062a57 100%);
}
.login-aside__logo{
    max-width:190px;
    margin-bottom:2rem;
}
.login-aside__title{
    font-size:1.7rem;
    font-weight:700;
    letter-spacing:.4px;
    margin-bottom:1rem;
}
.login-aside__info{
    font-size:.9rem;
    line-height:1.6;
    opacity:.85;
}
.login-aside__contact{
    margin-top:1.6rem;
    font-size:.9rem;
    opacity:.92;
}
.login-aside__contact div{ margin-bottom:.25rem; }
.login-aside__contact i{ width:1.2rem; text-align:center; margin-right:.5rem; }
.login-aside__contact a{ color:#fff; text-decoration:underline; }

/* pannello form a destra */
.login-panel{
    flex:1;
    padding:3rem 2.75rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.login-panel__head h2{
    margin:0 0 1.6rem;
    font-weight:700;
    font-size:1.5rem;
    color:#1d252c;
}
.login-panel label{
    font-weight:600;
    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.4px;
    color:#667984;
    margin-bottom:.35rem;
}
.login-panel .form-control{
    height:auto;
    padding:.65rem .9rem;
    border-radius:10px;
}
.login-panel .form-control:focus{
    border-color:#0033a1;
    box-shadow:0 0 0 3px rgba(0,51,161,.15);
}
.login-input-group{ position:relative; }
.login-input-group .toggle-pwd{
    position:absolute;
    right:.55rem;
    top:50%;
    transform:translateY(-50%);
    border:0;
    background:transparent;
    color:#667984;
    cursor:pointer;
    padding:.25rem;
}
.login-btn{
    border-radius:10px;
    padding:.65rem 1rem;
    font-weight:600;
}
.login-divider{
    border:0;
    border-top:1px solid #e9ecef;
    margin:1.5rem 0;
}
.login-help{
    font-size:.85rem;
    color:#667984;
}

@media (max-width:767.98px){
    .login-card{ flex-direction:column; max-width:460px; }
    .login-aside{ flex-basis:auto; text-align:center; padding:2.25rem; }
    .login-aside__logo{ margin-left:auto; margin-right:auto; }
    .login-panel{ padding:2.25rem; }
}
