/* Custom Flatpickr Theme */
.flatpickr-calendar {
  background: var(--red-dark);
  border: var(--border);
  border-radius: 0;
  box-shadow: 0 3px 13px rgba(0,0,0,0.2);
  width: 307.875px;
}

.flatpickr-months {
  background: var(--red-dark);
  border-bottom: var(--border);
}

.flatpickr-months .flatpickr-month {
  background: var(--red-dark);
  color: var(--white);
  fill: var(--white);
  height: 34px;
  padding:2px 0;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: var(--white);
  fill: var(--white);
  padding: 10px;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: var(--red);
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--red);
}

.flatpickr-current-month {
  color: var(--white);
  font-size: 135%;
  padding: 0;
}

.flatpickr-current-month span.cur-month {
  color: var(--white);
  font-weight: 700;
}

.flatpickr-weekdays {
  background: var(--red-dark);
  height: 28px;
}

span.flatpickr-weekday {
  background: var(--red-dark);
  color: var(--white);
  font-weight: 500;
}

.flatpickr-day {
  color: var(--white);
  border-radius: 0;
  height: 39px;
  line-height: 39px;
}

.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,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  background: var(--red);
  border-color: var(--red);
}

.flatpickr-day.today {
  border-color: var(--white);
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  background: var(--white);
  color: var(--red-dark);
}

.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 {
  background: var(--white);
  border-color: var(--white);
  color: var(--red-dark);
}

.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: rgba(255,255,255,0.3);
  background: transparent;
  border-color: transparent;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  color: rgba(255,255,255,0.1);
}

.flatpickr-day.inRange {
  box-shadow: -5px 0 0 var(--red), 5px 0 0 var(--red);
}

.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(--white);
}

.flatpickr-time {
  background: var(--red-dark);
  border-top: var(--border);
}

.flatpickr-time input {
  color: var(--white);
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  color: var(--white);
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: var(--red);
}

/* Input styling */
.flatpickr-input {
  background: var(--red-dark) !important;
  border: var(--border) !important;
  color: var(--white) !important;
  padding: 5px 10px !important;
  height: 27px !important;
  line-height: 27px !important;
}

.flatpickr-input:focus {
  outline: none;
  border-color: var(--white) !important;
}