.tbp-calendar-wrapper{
    max-width:900px;
    margin:30px auto;
}

.tbp-month-title{
    text-align:center;
    margin-bottom:20px;
}

.tbp-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:8px;
}

.tbp-weekday{
    font-weight:bold;
    text-align:center;
    padding:10px;
}

.tbp-date{
    background:#ffffff;
    border:1px solid #ddd;
    padding:15px;
    text-align:center;
    cursor:pointer;
    border-radius:8px;
}

.tbp-date:hover{
    background:#f5f5f5;
}

.tbp-disabled{
    background:#ececec;
    color:#999;
    cursor:not-allowed;
}

.tbp-slot-container{
    margin-top:20px;
}

.tbp-slots{
    margin-top:20px;
}

.tbp-slot{
    padding:15px;
    margin-bottom:10px;
    border-radius:8px;
    display:flex;
    justify-content:space-between;
    cursor:pointer;
}

.tbp-slot.available{
    background:#d4edda;
    border:1px solid #28a745;
}

.tbp-slot.booked{
    background:#f8d7da;
    border:1px solid #dc3545;
    cursor:not-allowed;
}

@media(max-width:768px){

    .tbp-calendar-grid{
        gap:4px;
    }

    .tbp-date{
        padding:10px;
    }

}

#tbp-admin-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:8px;
    max-width:900px;
}

.tbp-admin-weekday{
    font-weight:bold;
    text-align:center;
    padding:10px;
}

.tbp-admin-date{
    background:#fff;
    border:1px solid #ddd;
    padding:15px;
    text-align:center;
    cursor:pointer;
    border-radius:8px;
}

.tbp-admin-date:hover{
    background:#f3f3f3;
}