 .availability-calendar {
    max-width: 420px;
    background: #fff;
    border-radius: 12px;
/*    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);*/
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    overflow: hidden;
}

.availability-header {
    background: linear-gradient(90deg, #113D48, #1CA8CB);
    color: #fff;
    padding: 15px 20px;
    text-align: center;
}

.availability-header h3 {
    margin: 0;
    font-size: 20px;
}



.flatpickr-calendar {
    border: none;
    box-shadow: none;
}

.flatpickr-month {
    font-weight: 500;
}

.flatpickr-day {
    border-radius: 50%;
    line-height: 35px;
    height: 35px;
    width: 35px;
    transition: 0.2s ease;
    cursor: pointer;
    font-size: 14px;
}


.flatpickr-day:hover {
    transform: scale(1.1);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}


.flatpickr-day.available {
    background-color: #4caf50 !important;
    color: white !important;
    border-radius: 9px;
}

.flatpickr-day.filling-fast {
    background-color: #ff9800 !important;
    color: white !important;
}

.flatpickr-day.booked {
    background-color: #f44336 !important;
    color: white !important;
}

.flatpickr-day.today {
    border: 1px solid #ababab;
}

.availability-legend {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: #f4f4f4;
    border-top: 1px solid #ddd;
}

.availability-legend span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
}

.availability-legend .dot {
    height: 12px;
    width: 12px;
    border-radius: 50%;
    display: inline-block;
}

.dot.available {
    background-color: #4caf50;
}

.dot.filling-fast {
    background-color: #ff9800;
}

.dot.booked {
    background-color: #f44336;
}

.availability-footer {
    padding: 10px 20px;
    text-align: center;
    font-size: 13px;
    color: #888;
}

.availability-footer a {
    color: #1CA8CB;
    text-decoration: none;
    font-weight: 500;
}
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
    color: #000 !important;
    border-radius: 6px;
}


@media (max-width: 400px) {
.flatpickr-calendar{
    width: 100% !important;
}
}
.flatpickr-calendar{
    width: 100%;
}
.flatpickr-current-month .numInputWrapper{
    float: left;
}
.flatpickr-current-month .flatpickr-monthDropdown-months{
    float: left;
}
.flatpickr-current-month{
    left: 22.5%;
}
@media(max-width: 767px){
    .flatpickr-current-month {
        left: 18.5%;
    }
}
@media(min-width: 767px){
    .flatpickr-innerContainer{
        width: 100%;
        justify-content: center;
    }
}
.nextMonthDay{
    opacity: 0.8;
}
.prevMonthDay{
    opacity: 0.8;
}
#booking_model select, .form-control, .form-select, textarea, input{
    height: 35px;
    padding: 0 15px 0 15px;
    padding-right: 40px;
    border: 1px solid #000;
    color: #000 !important;
    background-color: var(--white-color);
    font-size: 14px;
    width: 100%;
    font-family: var(--body-font);
    font-weight: 400;
    border-radius: 5px;
    -webkit-transition: 0.4sease-in-out;
    transition: 0.4sease-in-out;
}
#booking_model_btn .modal-dialog{
    width: 360px;
}
@media(max-width: 767px){
   #booking_model_btn .modal-dialog{
    width: 310px;
} 
}
@media(max-width: 486px){
    .flatpickr-innerContainer{
        width: 100%;
        justify-content: center;
    }
    .dayContainer{
        width: 300.875px;
    }
}