/* ========================================= */
/*      FLATPICKR PREMIUM THEME STYLING      */
/* ========================================= */

.flatpickr-calendar {
    background: #ffffff !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 #e2e8f0 !important;
    border-radius: 15px !important;
    padding: 15px !important;
    width: auto !important;
    font-family: 'Inter', sans-serif !important;
    margin-top: 10px !important;
}

/* Two Month Layout Adjustment */
.flatpickr-calendar.multiMonth {
    width: 600px !important;
}

.flatpickr-calendar::before, 
.flatpickr-calendar::after {
    display: none !important; /* Hide the default arrows */
}

/* Header Styling (Month/Year) */
.flatpickr-current-month {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    padding-top: 10px !important;
}

.flatpickr-month {
    background: transparent !important;
    color: #1e293b !important;
}

.flatpickr-calendar .flatpickr-month {
    height: 40px !important;
}

/* Navigation Arrows */
.flatpickr-prev-month, 
.flatpickr-next-month {
    padding: 10px !important;
    color: #94a3b8 !important;
    fill: #94a3b8 !important;
}

.flatpickr-prev-month:hover, 
.flatpickr-next-month:hover {
    color: var(--theme-primary-color) !important;
    fill: var(--theme-primary-color) !important;
}

/* Weekday Labels */
span.flatpickr-weekday {
    font-weight: 500 !important;
    color: #94a3b8 !important;
    font-size: 13px !important;
}

/* Day Styling */
.flatpickr-day {
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    transition: all 0.2s ease !important;
    color: #475569 !important;
    font-size: 14px !important;
    height: 38px !important;
    line-height: 38px !important;
}

.flatpickr-day:hover {
    background: var(--theme-accent-color) !important;
    border-color: var(--theme-secondary-color) !important;
    color: #1e293b !important;
}

/* Today's Date */
.flatpickr-day.today {
    border-color: var(--theme-primary-color) !important;
    color: var(--theme-primary-color) !important;
    font-weight: 700 !important;
}

.flatpickr-day.today:hover {
    background: var(--theme-primary-color) !important;
    color: #ffffff !important;
}

/* Selected Date & Range Styling */
.flatpickr-day.selected, 
.flatpickr-day.startRange, 
.flatpickr-day.endRange, 
.flatpickr-day.selected.inRange, 
.flatpickr-day.startRange.inRange, 
.flatpickr-day.endRange.inRange, 
.flatpickr-day.selected:focus, 
.flatpickr-day.startRange:focus, 
.flatpickr-day.endRange:focus, 
.flatpickr-day.selected:hover, 
.flatpickr-day.startRange:hover, 
.flatpickr-day.endRange:hover, 
.flatpickr-day.prevMonthDay.selected, 
.flatpickr-day.nextMonthDay.selected, 
.flatpickr-day.prevMonthDay.startRange, 
.flatpickr-day.nextMonthDay.startRange, 
.flatpickr-day.prevMonthDay.endRange, 
.flatpickr-day.nextMonthDay.endRange {
    background: var(--theme-primary-color) !important;
    border-color: var(--theme-primary-color) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(176, 141, 106, 0.3) !important;
}

/* In-Range Styling */
.flatpickr-day.inRange, 
.flatpickr-day.prevMonthDay.inRange, 
.flatpickr-day.nextMonthDay.inRange, 
.flatpickr-day.today.inRange, 
.flatpickr-day.prevMonthDay.today.inRange, 
.flatpickr-day.nextMonthDay.today.inRange, 
.flatpickr-day:hover.inRange, 
.flatpickr-day.prevMonthDay:hover.inRange, 
.flatpickr-day.nextMonthDay:hover.inRange {
    background: #fff8eb !important;
    border-color: transparent !important;
    color: var(--theme-primary-color) !important;
}

/* Disabled Dates */
.flatpickr-day.flatpickr-disabled, 
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay, 
.flatpickr-day.nextMonthDay, 
.flatpickr-day.notAllowed, 
.flatpickr-day.notAllowed.prevMonthDay, 
.flatpickr-day.notAllowed.nextMonthDay {
    color: #e2e8f0 !important;
    background: transparent !important;
}

/* Selection Indicators for Range Ends */
.flatpickr-day.startRange {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.flatpickr-day.endRange {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), 
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), 
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    box-shadow: -10px 0 0 var(--theme-primary-color) !important;
}

/* Ensure the calendar doesn't get cut off on mobile */
@media (max-width: 650px) {
    .flatpickr-calendar.multiMonth {
        width: 300px !important;
    }
    .flatpickr-calendar .flatpickr-months .flatpickr-month:nth-child(2) {
        display: none !important;
    }
}
