/* ==========================================
   Google Font
========================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    background:#f4f6fb;
    min-height:100vh;
    padding:40px 15px;
}

.container{
    width:100%;
    max-width:700px;
}

.booking-box{
    background:#fff;
    border-radius:12px;
    padding:35px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.booking-box h2{
    text-align:center;
    margin-bottom:30px;
    color:#1d3557;
    font-size:30px;
    font-weight:600;
}

.form-group{
    margin-bottom:20px;
}

.form-group label{
    display:block;
    margin-bottom:8px;
    font-weight:500;
    color:#333;
}

.form-group input,
.form-group select{
    width:100%;
    padding:12px 15px;
    border:1px solid #dcdcdc;
    border-radius:8px;
    font-size:15px;
    outline:none;
    transition:.3s;
}

.form-group input:focus,
.form-group select:focus{
    border-color:#0d6efd;
}

.btn{
    width:100%;
    background:#0d6efd;
    color:#fff;
    border:none;
    padding:15px;
    border-radius:8px;
    font-size:17px;
    cursor:pointer;
    transition:.3s;
    font-weight:600;
}

.btn:hover{
    background:#0b5ed7;
}

/* ==========================================
   Slot Box
========================================== */

#slot_list{
    margin-top:10px;
}

.slot{
    border:1px solid #d9d9d9;
    border-radius:8px;
    padding:15px;
    margin-bottom:12px;
    cursor:pointer;
    transition:.3s;
    background:#fafafa;
}

.slot:hover{
    background:#eef5ff;
    border-color:#0d6efd;
}

.slot input[type=radio]{
    margin-right:8px;
    transform:scale(1.2);
}

.slot strong{
    color:#1d3557;
    font-size:16px;
}

.slot .available{
    margin-top:8px;
    color:#28a745;
    font-weight:600;
}

.slot .full{
    margin-top:8px;
    color:#dc3545;
    font-weight:600;
}

/* ==========================================
   Message
========================================== */

#message{
    margin-top:20px;
    display:none;
    padding:15px;
    border-radius:8px;
    font-weight:500;
}

.success{
    background:#d1e7dd;
    color:#0f5132;
    border:1px solid #badbcc;
}

.error{
    background:#f8d7da;
    color:#842029;
    border:1px solid #f5c2c7;
}

/* ==========================================
   Disabled Slot
========================================== */

.slot.disabled{
    background:#f5f5f5;
    opacity:.6;
    cursor:not-allowed;
}

.slot.disabled input{
    pointer-events:none;
}

/*---banner--*/
.page-wrapper{
    max-width:1450px;
    margin:0 auto;

    display:grid;
    grid-template-columns:300px minmax(500px,800px) 300px;
    gap:25px;
    align-items:start;
}

.container{
    width:100%;
    max-width:800px;
}

.ad-banner{
    width:100%;
}

.ad-banner img{
    width:100%;
    display:block;
    border-radius:10px;
}
@media(max-width:1200px){

    .page-wrapper{
    
    grid-template-columns:1fr;
    
    }
    
    .ad-banner{
    
    text-align:center;
    
    }
    
    .ad-banner img{
    
    max-width:400px;
    
    margin:auto;
    
    }
    
    .container{
    
    max-width:700px;
    
    margin:auto;
    
    }
    
    }

    @media (max-width:991px){

        .ad-banner{
            width:100%;
            max-width:100%;
            margin:0 auto 20px;
        }
    
        .ad-banner img{
            width:100%;
            height:180px;
            object-fit:cover;
            object-position:center;
            border-radius:10px;
        }
    
    }

/* ==========================================
   Responsive
========================================== */

@media(max-width:768px){

    .booking-box{
        padding:25px;
    }

    .booking-box h2{
        font-size:24px;
    }

}

@media(max-width:480px){

    .booking-box{
        padding:18px;
    }

    .booking-box h2{
        font-size:22px;
    }

    .btn{
        font-size:16px;
        padding:13px;
    }

}