/* ===== Flatpickr — OND Design System Override ===== */

.flatpickr-calendar {
    border-radius: 14px !important;
    box-shadow: 0 8px 32px rgba(18, 41, 75, 0.12), 0 2px 8px rgba(18, 41, 75, 0.06) !important;
    border: 1px solid rgba(18, 41, 75, 0.06) !important;
    font-family: inherit !important;
    padding: 4px !important;
    width: 280px !important;
}

.flatpickr-calendar.open {
    z-index: 10000 !important;
}

/* Months navigation */
.flatpickr-months {
    padding: 4px 4px 0 !important;
}

.flatpickr-months .flatpickr-month {
    height: 36px !important;
}

.flatpickr-current-month {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #12294B !important;
    padding-top: 6px !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #12294B !important;
    background: transparent !important;
    border: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    padding: 0 4px !important;
}

.flatpickr-current-month input.cur-year {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #12294B !important;
}

/* Prev/Next arrows */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    width: 32px !important;
    height: 32px !important;
    padding: 6px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s !important;
    top: 6px !important;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    background: #f0f2f7 !important;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
    fill: #5a6a7e !important;
    width: 12px !important;
    height: 12px !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #12294B !important;
}

/* Weekday headers */
.flatpickr-weekdays {
    padding: 0 4px !important;
}

span.flatpickr-weekday {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #9aa5b4 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

/* Day cells */
.flatpickr-days {
    padding: 0 4px 4px !important;
}

.dayContainer {
    min-width: 260px !important;
    max-width: 260px !important;
}

.flatpickr-day {
    width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    line-height: 34px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #12294B !important;
    border-radius: 8px !important;
    border: none !important;
    transition: background 0.12s, color 0.12s !important;
    margin: 1px !important;
}

.flatpickr-day:hover {
    background: #f0f2f7 !important;
    border: none !important;
}

/* Today */
.flatpickr-day.today {
    background: #eef1f8 !important;
    color: #3657CD !important;
    font-weight: 700 !important;
    border: none !important;
}

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

/* Selected day */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: linear-gradient(135deg, #3657CD 0%, #12294B 100%) !important;
    color: #fff !important;
    font-weight: 600 !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(54, 87, 205, 0.3) !important;
}

.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: linear-gradient(135deg, #2d4bb8 0%, #0e2040 100%) !important;
}

/* In range */
.flatpickr-day.inRange {
    background: #eef1f8 !important;
    border: none !important;
    box-shadow: none !important;
    color: #3657CD !important;
}

/* Previous/next month days */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #c8d0dc !important;
}

.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
    background: #f8f9fb !important;
    color: #9aa5b4 !important;
}

/* Disabled */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #e0e6ee !important;
    background: transparent !important;
    cursor: not-allowed !important;
}

/* Alt input styling (the visible input) */
.flatpickr-input[readonly] {
    cursor: pointer !important;
}

input.flatpickr-input + input.form-control[readonly] {
    cursor: pointer !important;
}

/* Make the alt input match docs-search-input */
.docs-search-input.flatpickr-input ~ .form-control,
input[type="text"].flatpickr-alt-input {
    cursor: pointer;
}