/* Flatpickr Premium Theme Customization */
.exp-booking-field input,
.exp-booking-field input:focus,
.exp-booking-field input.active,
.exp-booking-field .flatpickr-input,
.exp-booking-field .flatpickr-input:focus,
.exp-booking-field .flatpickr-input.active,
.date-box input,
.date-box input:focus,
.date-box input.active,
.date-box .flatpickr-input,
.date-box .flatpickr-input:focus,
.date-box .flatpickr-input.active {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    outline: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    text-align: start !important;
    cursor: pointer !important;
}

.flatpickr-calendar {
    font-family: inherit !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid var(--border-color, #e2e8f0) !important;
    padding: 8px !important;
    background: #ffffff !important;
    width: 325px !important;
    box-sizing: border-box !important;
}

.flatpickr-days {
    width: 100% !important;
}

.dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.flatpickr-months {
    align-items: center !important;
    margin-bottom: 8px !important;
}

.flatpickr-months .flatpickr-prev-month, 
.flatpickr-months .flatpickr-next-month {
    top: 10px !important;
    padding: 10px !important;
    color: #475569 !important;
    fill: #475569 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.flatpickr-months .flatpickr-prev-month:hover, 
.flatpickr-months .flatpickr-next-month:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

.flatpickr-current-month {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: auto !important;
    left: auto !important;
    right: auto !important;
    position: relative !important;
    padding: 0 !important;
    direction: inherit !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    font-family: inherit !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    background: transparent !important;
    border: none !important;
    padding: 0 4px !important;
    cursor: pointer !important;
    outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.flatpickr-current-month .numInputWrapper {
    width: 60px !important;
    display: inline-block !important;
}

.flatpickr-current-month .numInputWrapper input.numInput {
    font-family: 'Cairo', sans-serif !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.flatpickr-weekdays {
    height: 32px !important;
    margin-bottom: 6px !important;
}

span.flatpickr-weekday {
    font-family: 'Cairo', sans-serif !important;
    font-weight: 700 !important;
    color: #64748b !important;
    font-size: 12px !important;
}

.flatpickr-day {
    font-family: 'Cairo', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    border-radius: 10px !important;
    margin: 2px !important;
    max-width: 36px !important;
    height: 36px !important;
    line-height: 34px !important;
    color: #1e293b !important;
    transition: all 0.15s ease !important;
}

.flatpickr-day.flatpickr-disabled, 
.flatpickr-day.flatpickr-disabled:hover {
    color: #cbd5e1 !important;
    background: transparent !important;
}

.flatpickr-day.prevMonthDay, 
.flatpickr-day.nextMonthDay {
    color: #94a3b8 !important;
}

.flatpickr-day:hover {
    background: #f1f5f9 !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus {
    background: var(--primary-blue, #0f2766) !important;
    border-color: var(--primary-blue, #0f2766) !important;
    color: #ffffff !important;
}

.flatpickr-day.today {
    border-color: #cbd5e1 !important;
}

.flatpickr-day.today.selected {
    background: var(--primary-blue, #0f2766) !important;
    border-color: var(--primary-blue, #0f2766) !important;
    color: #ffffff !important;
}
