/* Flatpickr theming: recolors the stock calendar to match the site's orange brand (#ff9933),
   used everywhere a date field appears (frontend registration form, admin applications). */

.flatpickr-calendar {
    border-radius: .75rem;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
    border: 1px solid #f1f5f9;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff8f0;
}

.flatpickr-months {
    padding-top: .4rem;
}

.flatpickr-months .flatpickr-month {
    background: linear-gradient(90deg, #fff8f0 0%, #fff 100%);
    border-radius: .75rem .75rem 0 0;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    font-weight: 700;
    color: #0f172a;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #ff9933;
}

span.flatpickr-weekday {
    color: #94a3b8;
    font-weight: 700;
    font-size: .68rem;
    text-transform: uppercase;
}

.flatpickr-day {
    border-radius: .5rem;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: #fff3e0;
    border-color: #fff3e0;
}

.flatpickr-day.today {
    border-color: #ff9933;
}

.flatpickr-day.today:hover {
    background: #ff9933;
    color: #fff;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange,
.flatpickr-day.endRange:hover {
    background: #ff9933;
    border-color: #ff9933;
    box-shadow: 0 2px 8px rgba(255, 153, 51, .35);
}

.flatpickr-day.inRange {
    background: #fff3e0;
    border-color: #fff3e0;
    box-shadow: -5px 0 0 #fff3e0, 5px 0 0 #fff3e0;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #cbd5e1;
}

/* Visible field: click-to-open, no manual typing/native keyboard input */
input.flatpickr-input,
input.flatpickr-alt-input {
    background-color: #fff;
    cursor: pointer;
}

/* Fixed-width helper: form-control's width:100% otherwise forces flex-row filter bars to wrap one input per line */
.flt-w220 {
    width: 220px;
    flex-shrink: 0;
}
