/* BlackLine Bookings frontend polish - v3.4.1 */

/* Keep Flatpickr above sticky headers, Elementor popups and form overlays. */
.flatpickr-calendar {
  z-index: 999999 !important;
  background: #111316 !important;
  border: 1px solid rgba(234, 219, 145, 0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.55) !important;
  color: #ffffff !important;
  overflow: hidden !important;
  width: auto !important;
  min-width: 280px !important;
  max-width: calc(100vw - 24px) !important;
}

.flatpickr-calendar.open {
  transform: translateY(10px) !important;
}

.flatpickr-calendar::before,
.flatpickr-calendar::after {
  border-bottom-color: #111316 !important;
  border-top-color: #111316 !important;
}

.flatpickr-months,
.flatpickr-weekdays {
  background: #0c0d0f !important;
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-current-month input.cur-year,
.flatpickr-weekday,
.flatpickr-day {
  color: #ffffff !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: #111316 !important;
  color: #ffffff !important;
}

.flatpickr-day {
  border-radius: 10px !important;
  border-color: transparent !important;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
  background: rgba(234, 219, 145, 0.16) !important;
  border-color: rgba(234, 219, 145, 0.35) !important;
}

.flatpickr-day.today {
  border-color: rgba(234, 219, 145, 0.7) !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #eadb91 !important;
  border-color: #eadb91 !important;
  color: #111111 !important;
}

.flatpickr-day.disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: rgba(255, 255, 255, 0.32) !important;
}

/* Time picker fix - v3.4.2
   Keep Flatpickr, but remove the ugly blue selected-text highlight
   and use the more stable flex layout from v3.4.0. */
.flatpickr-calendar.hasTime.noCalendar {
  width: 286px !important;
  min-width: 286px !important;
  padding: 10px !important;
  border-radius: 16px !important;
  overflow: visible !important;
  background: #101214 !important;
  border: 1px solid rgba(234, 219, 145, 0.34) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.62) !important;
}

.flatpickr-calendar.hasTime.noCalendar.open {
  margin-top: -35px !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  line-height: 56px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper,
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .flatpickr-am-pm {
  box-sizing: border-box !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  width: 74px !important;
  min-width: 74px !important;
  max-width: 74px !important;
  flex: 0 0 74px !important;
  margin: 0 !important;
  background: #181b1f !important;
  border: 1px solid rgba(234, 219, 145, 0.26) !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  overflow: hidden !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time input.flatpickr-hour,
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time input.flatpickr-minute,
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .flatpickr-am-pm {
  appearance: textfield !important;
  -moz-appearance: textfield !important;
  background: transparent !important;
  border: 0 !important;
  color: #ffffff !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
  outline: none !important;
  caret-color: transparent !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time input::selection,
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .flatpickr-am-pm::selection {
  background: transparent !important;
  color: #ffffff !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time input::-webkit-outer-spin-button,
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .flatpickr-time-separator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 54px !important;
  line-height: 54px !important;
  width: 12px !important;
  flex: 0 0 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #eadb91 !important;
  font-size: 23px !important;
  font-weight: 900 !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span {
  border: 0 !important;
  opacity: 1 !important;
  width: 18px !important;
  right: 0 !important;
  background: rgba(234, 219, 145, 0.08) !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span.arrowUp {
  top: 0 !important;
  height: 27px !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span.arrowDown {
  bottom: 0 !important;
  height: 27px !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span.arrowUp::after {
  border-bottom-color: #eadb91 !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper span.arrowDown::after {
  border-top-color: #eadb91 !important;
}

.flatpickr-calendar.hasTime.noCalendar .flatpickr-time input:focus,
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper:hover {
  background: rgba(234, 219, 145, 0.10) !important;
  outline: none !important;
}

@media (max-width: 520px) {
  .flatpickr-calendar.hasTime.noCalendar {
    width: 258px !important;
    min-width: 258px !important;
    padding: 8px !important;
  }
  .flatpickr-calendar.hasTime.noCalendar .flatpickr-time {
    gap: 6px !important;
  }
  .flatpickr-calendar.hasTime.noCalendar .flatpickr-time .numInputWrapper,
  .flatpickr-calendar.hasTime.noCalendar .flatpickr-time .flatpickr-am-pm {
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
    flex-basis: 66px !important;
  }
}

/* v3.4.4 required field validation */
.blb-field-error,
.jet-form-builder__field.blb-field-error {
    border-color: #eadb91 !important;
    box-shadow: 0 0 0 1px rgba(234,219,145,.45), 0 0 0 4px rgba(234,219,145,.08) !important;
}


/* v3.5.0 vehicle capacity availability */
.blb-vehicle-unavailable-card {
    display: none;
}
.bl-select-vehicle.blb-vehicle-unavailable,
.bl-select-vehicle:disabled {
    cursor: not-allowed !important;
    pointer-events: none !important;
    opacity: .65 !important;
}
