/**
 * @file
 * Flatpickr overrides — fixes Bootstrap global select/input styles breaking the calendar.
 */

/* Calendar shell */
.flatpickr-calendar {
  background: #fff;
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(5, 40, 96, 0.18);
  font-family: 'open_sansregular', Arial, sans-serif;
  width: 307.875px;
  height: auto !important;
  max-height: none !important;
  overflow: visible;
  z-index: 100000 !important;
}

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

/* Header */
.flatpickr-months {
  background: #052860;
}

.flatpickr-months .flatpickr-month {
  background: #052860;
  color: #fff;
  height: 44px;
}

.flatpickr-current-month {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  padding-top: 8px;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year,
.flatpickr-current-month span.cur-month {
  color: #fff !important;
  font-weight: 600;
}

/* Undo Bootstrap global `select` / `.form-select` rules inside the calendar */
.flatpickr-calendar select,
.flatpickr-calendar .flatpickr-monthDropdown-months {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 0 0 0.5ch !important;
  margin: -1px 0 0 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-image: none !important;
  -webkit-appearance: menulist !important;
  -moz-appearance: menulist !important;
  appearance: menulist !important;
  font-size: inherit !important;
  line-height: inherit !important;
  cursor: pointer;
}

.flatpickr-calendar select option,
.flatpickr-calendar .flatpickr-monthDropdown-month {
  color: #052860 !important;
  background: #fff !important;
}

.flatpickr-current-month span.cur-month {
  display: inline-block;
  padding: 0 0.25ch;
  cursor: pointer;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 4px;
}

/* Year input */
.flatpickr-calendar .numInputWrapper {
  width: 6ch;
}

.flatpickr-calendar .numInputWrapper input.cur-year {
  display: inline-block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #fff !important;
  font-weight: 600 !important;
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
}

.flatpickr-calendar .numInputWrapper span {
  border-color: rgba(255, 255, 255, 0.35);
}

.flatpickr-calendar .numInputWrapper span:hover {
  background: rgba(255, 255, 255, 0.12);
}

.flatpickr-calendar .numInputWrapper span.arrowUp:after {
  border-bottom-color: #fff;
}

.flatpickr-calendar .numInputWrapper span.arrowDown:after {
  border-top-color: #fff;
}

/* Navigation arrows */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  fill: #be9937;
  padding: 10px 12px;
}

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

/* Weekday row */
.flatpickr-weekdays {
  background: #f4f7fb;
  height: 28px;
}

.flatpickr-weekdaycontainer {
  width: 100%;
}

.flatpickr-weekday {
  color: #052860;
  font-weight: 700;
  font-size: 0.8rem;
  line-height: 28px;
}

/* Day grid — keep Flatpickr flex layout so all 6 rows render correctly */
.flatpickr-innerContainer,
.flatpickr-rContainer,
.flatpickr-days {
  overflow: visible;
}

.flatpickr-days {
  width: 307.875px;
  min-height: 240px;
  padding-bottom: 6px;
}

.flatpickr-days .dayContainer {
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  min-height: 234px;
  padding: 0 0 2px;
}

.flatpickr-day {
  box-sizing: border-box;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  border-radius: 4px;
  color: #1a2e45;
}

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

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: #be9937;
  border-color: #be9937;
  color: #fff;
}

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

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

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: rgba(26, 46, 69, 0.35);
}

/* Alt input created by Flatpickr on Views date filters */
input.flatpickr-input[readonly],
input.flatpickr-alt-input {
  background-color: #fff;
  cursor: pointer;
}
