/* ==========================
   LOGIN
========================== */

.auth-logo img{
    display:block;
    width:68px;
    margin:0 auto;
}

.auth-logo h2{

    margin:40px 0 5px;

    font-size:24px;

    color:#d40000;

}

.auth-logo p{

    margin-top:2;
    
    margin-bottom:10px;
    
    color:#777;

    font-size:14px;

}

.auth-note{
    margin-top:15px;
    text-align:center;
    font-size:13px;
    color:#777;
    line-height:1.5;
}

.auth-note a{
    color:#d40000;
    text-decoration:none;
}

@media(max-width:768px){

    .auth-box{

        margin:20px;

        padding:25px;

    }

}

.otp-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    width: 100%;
    margin: 0 auto 25px;
}

.otp {
    width: 52px;
    height: 58px;
    box-sizing: border-box;
    border-radius: 10px;
    font-size: 26px;
    font-weight: 700;
    text-align: center;
}

.otp-mobile{

    margin:10px 0 25px;

    text-align:center;

    color:#666;

    line-height:1.6;

}

.otp-mobile strong{

    display:inline-block;

    margin-top:6px;

    font-size:18px;

    color:#000;

}

.auth-box{
    max-width:500px;
    margin:20px auto;
    padding:20px 35px;
    border-radius:20px;
}

.auth-box input[type="text"] {
    border: 2px solid #d40000;
    border-radius: 8px;
}

.auth-box select{
    width:100%;
    box-sizing:border-box;
}

.auth-logo{
    text-align:center;
    margin-bottom:0;
}

.auth-title{
    text-align:center;
    margin-bottom:8px;
}

.auth-subtitle{
    text-align:center;
    margin-bottom:35px;
    color:#666;
}

.auth-box h2{
    text-align:center;
    margin:10px 0 18px;
}

.login-title{
    margin:4px 0 30px;
    padding:0;
    text-align:center;
    font-size:32px;
    font-weight:700;
    color:#222;
    line-height:1.2;
}

.brand-name{
    color:#d40000;
}

.form-group{
    margin-bottom:18px;
}

.form-group input{
    width:100%;
    box-sizing:border-box;
}


.btn{
    width:100%;
    }

/* ==========================================
   Guest Button
========================================== */

.btn-outline{
    display:block;
    width:100%;
    padding:12px;
    margin-top:8px;
    border:2px solid #d40000;
    border-radius:8px;
    background:#fff;
    color:#d40000;
    text-align:center;
    text-decoration:none;
    font-weight:600;
    box-sizing:border-box;
}

.btn-outline:hover{

    background:#d40000;

    color:#fff;

}

#resendArea{
    margin-top:15px;
    text-align:center;
}

.resend-link{
    color:#d40000;
    text-decoration:none;
    font-weight:600;
}

.password-box{
    position:relative;
}

.password-toggle{
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    user-select:none;
    font-size:18px;
    color:#777;
}

.auth-links{
    text-align:center;
    margin-top:15px;
}

.auth-links a{
    color:#d40000;
    text-decoration:none;
    font-weight:600;
    font-size:14px;
}

.gender-group{
    display:flex;
    gap:25px;
    align-items:center;
    flex-wrap:wrap;
}

.gender-group label{
    margin:0;
    font-weight:400;
}

.alert{
    margin-bottom:18px;
}

.auth-page,
.auth-page main {
    background: #d9d7f7 !important;
}

.auth-signup {
    margin-top: 18px;
    margin-bottom: 5px;
    text-align: center;
    font-size: 14px;
    color: #666;
}

.auth-signup a {
    color: #d40000;
    text-decoration: none;
    font-weight: 600;
}

.auth-signup a:hover {
    text-decoration: underline;
}

.auth-error {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}