/* basic flatpickr reset */

fieldset.quick-booking * {
  box-sizing: border-box;
}

fieldset.quick-booking {
  all: unset;
  box-sizing: border-box;
  width: 100%;
}

fieldset.quick-booking .flatpickr-calendar,
fieldset.quick-booking .flatpickr-days {
  width: 100% !important;
}

fieldset.quick-booking .flatpickr-rContainer {
  width: 100% !important;
}

fieldset.quick-booking .flatpickr-input,
fieldset.quick-booking .flatpickr-calendar:before,
fieldset.quick-booking .flatpickr-calendar:after {
  display: none;
}

fieldset.quick-booking .flatpickr-calendar {
  box-shadow: none;
  border-radius: 0;
  border: 1px solid gray;
  top: 0;
  max-height: none;
}

fieldset.quick-booking .dayContainer {
  width: 100%;
  min-width: auto;
  max-width: none;
}

fieldset.quick-booking .flatpickr-day {
  margin-top: 0;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 0;
  max-width: none;
  height: auto;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  color: black;
}

fieldset.quick-booking .today:not(.startRange):not(.inRange):not(.endRange):not(.flatpickr-disabled) {
  background: gray;
  color: black;
}

fieldset.quick-booking .flatpickr-day.startRange,
fieldset.quick-booking .flatpickr-day.endRange {
  background: black;
  color: white;
}

fieldset.quick-booking .flatpickr-day.inRange {
  background: lightgray;
  color: black;
}

fieldset.quick-booking .flatpickr-day.flatpickr-disabled {
  color: lightgray;
}

fieldset.quick-booking .flatpickr-month,
fieldset.quick-booking .flatpickr-current-month,
fieldset.quick-booking .flatpickr-prev-month,
fieldset.quick-booking .flatpickr-next-month {
  height: 70px;
  line-height: 70px;
}

fieldset.quick-booking .flatpickr-current-month {
  padding: 0;
}

fieldset.quick-booking .flatpickr-current-month * {
  color: black !important;
}

fieldset.quick-booking .flatpickr-prev-month:hover svg,
fieldset.quick-booking .flatpickr-next-month:hover svg {
  fill: black !important;
}

fieldset.quick-booking .flatpickr-weekday {
  height: 30px;
  line-height: 30px;
  color: lightgray;
}

fieldset.quick-booking .flatpickr-prev-month,
fieldset.quick-booking .flatpickr-next-month {
  padding: 0 10px;
  display: flex;
  align-items: center;
}

fieldset.quick-booking .cur-month,
fieldset.quick-booking .flatpickr-monthDropdown-months {
  margin: 0;
  padding: 0;
}

fieldset.quick-booking .cur-month,
fieldset.quick-booking .cur-year {
  pointer-events: none;
}

fieldset.quick-booking .arrowUp,
fieldset.quick-booking .arrowDown {
  display: none;
}

fieldset.quick-booking .cur-month:hover,
fieldset.quick-booking .numInputWrapper:hover {
  background: none;
}

/* basic custom */

fieldset.quick-booking .destination-list label {
  display: block;
}

fieldset.quick-booking .destination-list label span {
  cursor: pointer;
}

fieldset.quick-booking .destination-list label:not(:first-child),
fieldset.quick-booking .panel,
fieldset.quick-booking .age {
  margin-top: 10px;
}

fieldset.quick-booking .room-caption,
fieldset.quick-booking .delete-room,
fieldset.quick-booking .panel,
fieldset.quick-booking .field,
fieldset.quick-booking .room {
  margin-bottom: 10px;
}

fieldset.quick-booking .field,
fieldset.quick-booking .guests.adults,
fieldset.quick-booking .guests.children,
fieldset.quick-booking .age {
  padding-bottom: 10px;
}

fieldset.quick-booking .field {
  border-bottom: 1px dotted gray;
}

fieldset.quick-booking .field.cta {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

fieldset.quick-booking .guests.adults,
fieldset.quick-booking .guests.children,
fieldset.quick-booking .age {
  border-bottom: 1px solid gray;
}

fieldset.quick-booking .field > button:first-child:not(.submit-search) {
  all: unset;
  cursor: pointer;
}

fieldset.quick-booking .room:after,
fieldset.quick-booking .guests:after,
fieldset.quick-booking .age:after {
  display: block;
  clear: both;
  content: "";
}

fieldset.quick-booking .room > div {
  width: 100%;
}

fieldset.quick-booking .guests,
fieldset.quick-booking .children-age {
  width: calc(50% - 5px);

  @media (max-width: 1023px) {
    width: 100% ;
  }
}

fieldset.quick-booking .guests.adults:has(+ .guests.children[style="display: none;"]) {
  width: 100%;
}

fieldset.quick-booking .room > div,
fieldset.quick-booking .room-caption,
fieldset.quick-booking .guests .label,
fieldset.quick-booking .age .label,
fieldset.quick-booking .guests.adults {
  float: left;
}

fieldset.quick-booking .guests button,
fieldset.quick-booking .age button {
  margin-left: 10px;
}

fieldset.quick-booking .delete-room,
fieldset.quick-booking .guests button,
fieldset.quick-booking .age button,
fieldset.quick-booking .children-age,
fieldset.quick-booking .guests.children {
  float: right;
}

fieldset.quick-booking .guests.children {
  @media (max-width: 1023px) {
    margin-top: 10px;
  }
}

fieldset.quick-booking .special-code input {
  width: 100%;
  border: 1px solid gray;
  padding: 10px;
  outline: none;
  box-sizing: border-box;
}

fieldset.quick-booking .room-caption,
fieldset.quick-booking .delete-room,
fieldset.quick-booking .add-room {
  color: #ccc;
}

fieldset.quick-booking .delete-room,
fieldset.quick-booking .add-room {
  font-family: inherit;
  font-size: inherit;
  appearance: none;
  background-color: transparent;
  padding: 0;
  margin: 0;
  border: 0;
  text-decoration: underline;
  cursor: pointer;
}