*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Segoe UI",sans-serif;
}

body{
    min-height:100vh;
    overflow-y:auto;
}

.hero{
    position:relative;
    width:100%;
    min-height:100vh;
    overflow:hidden;
}

.overlay{

    position:relative;

    z-index:2;

    width:100%;

    min-height:100dvh;

    background:rgba(0,0,0,.45);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:30px 20px;

}

.login-box{

    width:100%;
    max-width:430px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(15px);

    border:1px solid rgba(255,255,255,.2);

    border-radius:20px;

    padding:35px 25px;

    margin:30px 0;

    text-align:center;

    color:#fff;

    box-shadow:0 10px 35px rgba(0,0,0,.35);

}
.logo{

    width:100px;

    margin-bottom:20px;

}

.login-box h1{

    font-size:38px;

    margin-bottom:10px;

}

.subtitle{

    color:#ddd;

    margin-bottom:10px;

}

.location{

    color:#d4af37;

    margin-bottom:30px;

}

.buttons{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.btn{

    text-decoration:none;

    padding:15px;

    border-radius:12px;

    font-size:18px;

    font-weight:bold;

    transition:.3s;

}

.admin-btn{

    background:#d4af37;

    color:#000;

}

.party-btn{

    background:#fff;

    color:#0b2235;

}

.btn:hover{

    transform:translateY(-3px);

}

.footer-links{

    margin-top:30px;

    display:flex;

    justify-content:center;

    gap:25px;

}

.footer-links a{

    color:#fff;

    text-decoration:none;

}

.footer-links a:hover{

    color:#d4af37;

}

@media(max-width:768px){

.login-box{

    width:92%;

    padding:30px 20px;

}

.login-box h1{

    font-size:30px;

}

.logo{

    width:80px;

}

}
/* ================= Features ================= */

.features{

    margin-top:30px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;

}

.feature{

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.2);

    border-radius:12px;

    padding:12px;

    color:#fff;

    font-size:14px;

    text-align:center;

    transition:.3s;

}

.feature:hover{

    background:#d4af37;

    color:#000;

    transform:translateY(-3px);

}

/* ==========================
   Banner Slider
========================== */

.hero{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

.slider{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.slide{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;

    opacity:0;

    transition:opacity 1.2s ease-in-out;
}

.slide.active{
    opacity:1;
}

.overlay{
    position:relative;
    z-index:10;
}
/* ================= MOBILE ================= */

@media (max-width:768px){

.hero{
    min-height:100vh;
    height:auto;
}

.overlay{
    padding:20px 15px;
}

.login-box{
    width:100%;
    max-width:380px;
    padding:25px 20px;
    border-radius:18px;
}

.logo{
    width:70px;
    margin-bottom:15px;
}

.login-box h1{
    font-size:30px;
}

.subtitle{
    font-size:15px;
}

.location{
    font-size:14px;
    margin-bottom:20px;
}

.btn{
    padding:14px;
    font-size:17px;
}

.footer-links{
    flex-direction:column;
    gap:10px;
}

.features{
    grid-template-columns:1fr;
    gap:10px;
}

.feature{
    padding:10px;
    font-size:13px;
}

}
/* ==========================
   Mobile Responsive
========================== */

@media (max-width:768px){

.hero{
    height:100vh;
}

.overlay{
    padding:15px;
}

.login-box{

    width:100%;
    max-width:360px;

    padding:25px 20px;

    border-radius:20px;

}

.logo{

    width:70px;

    margin-bottom:15px;

}

.login-box h1{

    font-size:30px;

}

.subtitle{

    font-size:15px;

}

.location{

    font-size:14px;

    margin-bottom:20px;

}

.btn{

    padding:14px;

    font-size:17px;

}

.footer-links{

    flex-direction:column;

    gap:10px;

    margin-top:20px;

}

.features{

    grid-template-columns:1fr;

    gap:10px;

    margin-top:20px;

}

.feature{

    padding:12px;

    font-size:14px;

}

}
.slider{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:1;
}
.slide{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;

    opacity:0;

    transition:opacity 1s ease-in-out;

}

.slide.active{

    opacity:1;

}
@media (max-width:768px){

    .overlay{
        padding:20px;
    }

    .login-box{
        max-width:100%;
        padding:25px 20px;
        border-radius:15px;
    }

    .logo{
        width:70px;
    }

    .login-box h1{
        font-size:28px;
    }

    .subtitle{
        font-size:15px;
    }

    .location{
        font-size:14px;
        margin-bottom:20px;
    }

    .buttons{
        gap:12px;
    }

    .btn{
        width:100%;
        padding:14px;
        font-size:16px;
    }

    .features{
        grid-template-columns:1fr;
        gap:10px;
    }

    .feature{
        font-size:14px;
        padding:12px;
    }

    .footer-links{
        flex-direction:column;
        gap:10px;
    }

}
@media (max-width:768px){

    .hero{
        min-height:100dvh;
    }

    .overlay{
        min-height:100dvh;
        padding:20px 15px;
        align-items:flex-start;
    }

    .login-box{
        width:100%;
        max-width:380px;
        margin:20px auto;
        padding:25px 18px;
    }

    .logo{
        width:60px;
    }

    .login-box h1{
        font-size:26px;
    }

    .subtitle{
        font-size:14px;
    }

    .location{
        font-size:13px;
        margin-bottom:15px;
    }

    .btn{
        padding:12px;
        font-size:15px;
    }
     .features{

     display:grid;

     grid-template-columns:repeat(2,1fr);

     gap:10px;

     margin-top:20px;

     }

    .feature{

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    min-height:60px;

    padding:10px;

    font-size:12px;

    line-height:16px;

}
    .footer-links{
        display:flex;
        flex-direction:row;
        justify-content:center;
        gap:20px;
        flex-wrap:wrap;
    }

}
/* ==========================
   Register Button
========================== */

.register-btn{

    background:#16a34a;

    color:#fff;

}

.register-btn:hover{

    background:#15803d;

    color:#fff;

    transform:translateY(-3px);

}
