.booking-step {
    padding: 15px 0;
}

.booking-step h5 {
    border-bottom: 2px solid #2fb5d2;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

#available-slots {
    max-height: 300px;
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.slot-item {
    cursor: pointer;
    text-align: center;
    width: auto;
    margin: 5px;
}

.slot-item.active {
    background-color: rgb(37, 50, 55);
    color: white;
}

.slot-item.disabled {
    background-color: #eee;
    color: #999;
    cursor: not-allowed;
}

#lamworkappoint-booking-form {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin: 20px 0;
}

.flatpickr-calendar.inline {
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none;
    border: 1px solid #ddd;
    margin-bottom: 10px;
}

.flatpickr-months,
.flatpickr-innerContainer,
.flatpickr-rContainer,
.dayContainer,
.flatpickr-days {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.flatpickr-weekdaycontainer {
    display: flex;
    width: 100% !important;
}

.flatpickr-weekday {
    flex: 1;
}

.dayContainer {
    display: flex;
    flex-wrap: wrap;
}

.flatpickr-day {
    flex-basis: 14.2857143% !important;
    /* 7 days per week */
    max-width: 14.2857143% !important;
    width: 14.2857143% !important;
    margin: 0 !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background-color: rgb(37, 50, 55) !important;
    border-color: rgb(37, 50, 55) !important;
    color: white !important;
}

.flatpickr-next-month:hover,
.flatpickr-prev-month:hover {
    background-color: #505CA0 !important;
    border-color: #505CA0 !important;
    color: white !important;
}

#booking_date_picker {
    display: none;
}

.prev-step:hover,
.next-step:hover {
    color: white !important;
    background-color: #505CA0 !important;
    border-color: #505CA0 !important;
}

.finish-booking {
    color: #253237 !important;
    background-color: #FFF !important;
}

.finish-booking:hover {
    color: white !important;
    background-color: #505CA0 !important;
    border-color: #505CA0 !important;
}