/*
 * Compact range calendar shared across Flights, Stays, and account forms.
 * It follows shadcn's Calendar/DayPicker layout: a small surface, 36px date
 * cells, two months only when there is room, and an indigo selected range.
 */

.ndp-popover {
  position: absolute;
  z-index: 2600;
  width: 328px;
  max-width: calc(100vw - 24px);
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 10px;
  background: rgba(15, 23, 42, .94);
  box-shadow: 0 14px 30px rgba(2, 6, 23, .3), 0 1px 3px rgba(2, 6, 23, .24);
  color: #f8fafc;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  backdrop-filter: blur(16px) saturate(125%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
}

/* The regular shadcn range example shows two compact months on desktop. */
.ndp-popover.ndp-two-col { width: 616px; }
.ndp-popover[hidden] { display: none !important; }

/* The shadcn Calendar is intentionally calendar-only: no oversized title or
   action bar. Selection is committed when the user completes the range. */
.ndp-hint,
.ndp-footer { display: none; }

.ndp-body {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  justify-content: center;
}

.ndp-btn {
  appearance: none;
  border: 0;
  border-radius: 6px;
  padding: 7px 10px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}

.ndp-btn--ghost { background: transparent; color: rgba(226, 232, 240, .8); }
.ndp-btn--ghost:hover,
.ndp-btn--ghost:focus-visible { outline: 0; background: rgba(148, 163, 184, .14); color: #fff; }

.ndp-btn--primary {
  background: #6366f1;
  color: #fff;
  box-shadow: 0 1px 2px rgba(2, 6, 23, .2);
}
.ndp-btn--primary:hover,
.ndp-btn--primary:focus-visible { outline: 0; background: #4f46e5; }

/* ---- Cally calendar elements ---- */
.ndp-body calendar-range,
.ndp-body calendar-date,
.ndp-body calendar-month {
  --color-accent: #6366f1;
  --color-text-on-accent: #fff;
  color: #f8fafc;
  font-family: inherit;
}

.ndp-body calendar-range::part(container),
.ndp-body calendar-date::part(container) { gap: 8px; }

.ndp-body calendar-range::part(months),
.ndp-body calendar-date::part(months) {
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.ndp-body calendar-range::part(header),
.ndp-body calendar-date::part(header) {
  min-height: 30px;
  padding: 0 2px 6px;
  color: #f8fafc;
  font-size: 13px;
  font-weight: 600;
}

.ndp-body calendar-range::part(button),
.ndp-body calendar-date::part(button) {
  border-radius: 6px;
  color: #f8fafc;
}

.ndp-body calendar-range::part(button previous),
.ndp-body calendar-range::part(button next),
.ndp-body calendar-date::part(button previous),
.ndp-body calendar-date::part(button next) {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  padding: 0;
  overflow: hidden;
  background: transparent;
}

.ndp-body calendar-range::part(button previous):hover,
.ndp-body calendar-range::part(button next):hover,
.ndp-body calendar-date::part(button previous):hover,
.ndp-body calendar-date::part(button next):hover { background: rgba(148, 163, 184, .14); }

.ndp-body calendar-range [slot="previous"],
.ndp-body calendar-range [slot="next"],
.ndp-body calendar-date [slot="previous"],
.ndp-body calendar-date [slot="next"] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}

.ndp-body calendar-range [slot="previous"] svg,
.ndp-body calendar-range [slot="next"] svg,
.ndp-body calendar-date [slot="previous"] svg,
.ndp-body calendar-date [slot="next"] svg { width: 100%; height: 100%; }

.ndp-body calendar-range::part(button disabled),
.ndp-body calendar-date::part(button disabled) { opacity: .35; }

.ndp-body calendar-range::part(button day),
.ndp-body calendar-date::part(button day) {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  color: rgba(248, 250, 252, .94);
  font-size: 12px;
  font-weight: 400;
}

.ndp-body calendar-range::part(button day):hover,
.ndp-body calendar-date::part(button day):hover { background: rgba(148, 163, 184, .14); }

.ndp-body calendar-range::part(today),
.ndp-body calendar-date::part(today) { box-shadow: inset 0 0 0 1px #818cf8; }

.ndp-body calendar-range::part(selected),
.ndp-body calendar-date::part(selected),
.ndp-body calendar-range::part(range-start),
.ndp-body calendar-range::part(range-end) {
  background: #6366f1 !important;
  color: #fff !important;
  font-weight: 600;
}

.ndp-body calendar-range::part(range-inner) {
  background: rgba(99, 102, 241, .24) !important;
  color: #f8fafc !important;
}

.ndp-body calendar-range::part(outside),
.ndp-body calendar-date::part(outside),
.ndp-body calendar-range::part(disallowed),
.ndp-body calendar-date::part(disallowed) { opacity: .36; }

/* ---- Light theme ---- */
html[data-theme="light"] .ndp-popover {
  border-color: rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .16), 0 1px 2px rgba(15, 23, 42, .08);
  color: #0f172a;
}

html[data-theme="light"] .ndp-btn--ghost { color: #475569; }
html[data-theme="light"] .ndp-btn--ghost:hover,
html[data-theme="light"] .ndp-btn--ghost:focus-visible { background: #f1f5f9; color: #0f172a; }
html[data-theme="light"] .ndp-btn--primary { background: #4f46e5; }
html[data-theme="light"] .ndp-btn--primary:hover,
html[data-theme="light"] .ndp-btn--primary:focus-visible { background: #4338ca; }

html[data-theme="light"] .ndp-body calendar-range,
html[data-theme="light"] .ndp-body calendar-date,
html[data-theme="light"] .ndp-body calendar-month {
  --color-accent: #4f46e5;
  --color-text-on-accent: #fff;
  color: #0f172a;
}

html[data-theme="light"] .ndp-body calendar-range::part(header),
html[data-theme="light"] .ndp-body calendar-date::part(header),
html[data-theme="light"] .ndp-body calendar-range::part(button),
html[data-theme="light"] .ndp-body calendar-date::part(button),
html[data-theme="light"] .ndp-body calendar-range::part(button day),
html[data-theme="light"] .ndp-body calendar-date::part(button day) { color: #0f172a; }

html[data-theme="light"] .ndp-body calendar-range::part(button previous):hover,
html[data-theme="light"] .ndp-body calendar-range::part(button next):hover,
html[data-theme="light"] .ndp-body calendar-date::part(button previous):hover,
html[data-theme="light"] .ndp-body calendar-date::part(button next):hover,
html[data-theme="light"] .ndp-body calendar-range::part(button day):hover,
html[data-theme="light"] .ndp-body calendar-date::part(button day):hover { background: #f1f5f9; }

html[data-theme="light"] .ndp-body calendar-range::part(today),
html[data-theme="light"] .ndp-body calendar-date::part(today) { box-shadow: inset 0 0 0 1px #6366f1; }

html[data-theme="light"] .ndp-body calendar-range::part(selected),
html[data-theme="light"] .ndp-body calendar-date::part(selected),
html[data-theme="light"] .ndp-body calendar-range::part(range-start),
html[data-theme="light"] .ndp-body calendar-range::part(range-end) { background: #4f46e5 !important; color: #fff !important; }

html[data-theme="light"] .ndp-body calendar-range::part(range-inner) { background: #e0e7ff !important; color: #1e1b4b !important; }

/* Keep the original compact mobile footprint: a single 34px-cell month. */
@media (max-width: 760px) {
  .ndp-popover,
  .ndp-popover.ndp-two-col { width: min(328px, calc(100vw - 24px)); padding: 12px; }
  .ndp-body calendar-range::part(button day),
  .ndp-body calendar-date::part(button day) { width: 34px; height: 34px; }
}

/* Date controls converted from native inputs retain their page's field styling. */
.ndp-native-display { cursor: pointer; }
.ndp-native-display:disabled { cursor: not-allowed; }

.calendar-field.is-disabled .calendar-display-input { opacity: .45; cursor: not-allowed; }
body.home-page .gf-cal-anchors input:disabled { pointer-events: none; }

/* Results top-bar editor uses the very same Cally / shadcn calendar, mounted
   inline instead of in a popover.  Keep its original compact panel footprint
   without reintroducing a second calendar implementation. */
.srb-shadcn-calendar {
  width: 100%;
  min-height: 294px;
  padding: 12px 10px 8px;
  box-sizing: border-box;
}

.srb-shadcn-calendar calendar-range,
.srb-shadcn-calendar calendar-date {
  width: 100%;
  justify-content: center;
}

.srb-shadcn-calendar calendar-range::part(months),
.srb-shadcn-calendar calendar-date::part(months) {
  justify-content: center;
}

/* Checkout's date of birth picker needs month/year controls for historical
   dates, so it remains a single-date Flatpickr instance. Its surface, cells,
   arrows, and brand color intentionally match the shared shadcn calendar. */
.flatpickr-calendar.checkout-dob-calendar {
  width: min(328px, calc(100vw - 24px)) !important;
  padding: 12px !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 10px !important;
  background: rgba(15, 23, 42, .94) !important;
  box-shadow: 0 14px 30px rgba(2, 6, 23, .3), 0 1px 3px rgba(2, 6, 23, .24) !important;
  color: #f8fafc !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
}

.flatpickr-calendar.checkout-dob-calendar .flatpickr-months { margin-bottom: 6px !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-months .flatpickr-month { min-height: 30px !important; color: #f8fafc !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month { min-height: 30px !important; color: #f8fafc !important; font-size: 13px !important; font-weight: 600 !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month .numInputWrapper {
  height: 28px !important;
  min-height: 28px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background-color: transparent !important;
}
.flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month input.cur-year { color: #f8fafc !important; font-size: 13px !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-prev-month,
.flatpickr-calendar.checkout-dob-calendar .flatpickr-next-month {
  width: 28px !important;
  height: 28px !important;
  border-radius: 6px !important;
  color: #f8fafc !important;
  background: transparent !important;
}
.flatpickr-calendar.checkout-dob-calendar .flatpickr-prev-month:hover,
.flatpickr-calendar.checkout-dob-calendar .flatpickr-next-month:hover { background: rgba(148, 163, 184, .14) !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-weekdays { gap: 2px !important; margin-bottom: 2px !important; padding-bottom: 0 !important; border-bottom: 0 !important; }
.flatpickr-calendar.checkout-dob-calendar span.flatpickr-weekday { color: rgba(226, 232, 240, .65) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.flatpickr-calendar.checkout-dob-calendar .dayContainer { gap: 2px !important; padding-top: 2px !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-day {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 6px !important;
  color: rgba(248, 250, 252, .94) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}
.flatpickr-calendar.checkout-dob-calendar .flatpickr-day:hover { background: rgba(148, 163, 184, .14) !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-day.today { border-color: #818cf8 !important; }
.flatpickr-calendar.checkout-dob-calendar .flatpickr-day.selected,
.flatpickr-calendar.checkout-dob-calendar .flatpickr-day.startRange,
.flatpickr-calendar.checkout-dob-calendar .flatpickr-day.endRange { background: #6366f1 !important; color: #fff !important; font-weight: 600 !important; }

html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar {
  border-color: rgba(15, 23, 42, .14) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .16), 0 1px 2px rgba(15, 23, 42, .08) !important;
}
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-months .flatpickr-month,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-current-month input.cur-year,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-prev-month,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-next-month,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-day { color: #0f172a !important; }
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-prev-month:hover,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-next-month:hover,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-day:hover { background: #f1f5f9 !important; }
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-day.selected,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-day.startRange,
html[data-theme="light"] .flatpickr-calendar.checkout-dob-calendar .flatpickr-day.endRange { background: #4f46e5 !important; color: #fff !important; }

/* -------------------------------------------------------------------------
   Touch interaction layer — shared search/date selectors keep their desktop
   footprint, while compact viewports use contained, native-feeling sheets.
   ------------------------------------------------------------------------- */
.ndp-popover,
.ndp-btn,
.ndp-native-display {
  -webkit-tap-highlight-color: transparent;
}

.ndp-popover {
  touch-action: manipulation;
}

.ndp-btn {
  min-height: 36px;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  transition: transform .12s ease, opacity .14s ease, background-color .16s ease, color .16s ease;
}

.ndp-btn:active {
  transform: scale(.97);
}

.ndp-native-display {
  touch-action: manipulation;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, opacity .14s ease;
}

.ndp-body calendar-range::part(button),
.ndp-body calendar-date::part(button) {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: transform .12s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.ndp-body calendar-range::part(button):active,
.ndp-body calendar-date::part(button):active {
  transform: scale(.96);
}

.ndp-backdrop {
  display: none;
}

/* Flexible-month selector is initialized by calendar.js. The extra class
   prevents these motion rules from changing older static month popovers. */
.flex-month-popover.nx-month-picker,
.flex-month-popover.nx-month-picker button {
  -webkit-tap-highlight-color: transparent;
}

.flex-month-popover.nx-month-picker {
  touch-action: manipulation;
}

.flex-month-popover.nx-month-picker .flex-month-option,
.flex-month-popover.nx-month-picker .flex-month-popover__close,
.flex-month-popover.nx-month-picker .flex-month-clear,
.flex-month-popover.nx-month-picker .flex-month-apply {
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  transition: transform .12s ease, opacity .14s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.flex-month-popover.nx-month-picker .flex-month-option:active,
.flex-month-popover.nx-month-picker .flex-month-popover__close:active,
.flex-month-popover.nx-month-picker .flex-month-clear:active,
.flex-month-popover.nx-month-picker .flex-month-apply:active {
  transform: scale(.97);
}

.flex-month-backdrop {
  display: none;
}

/* Home's traveler selector gets its state classes from the small inline
   controller in index.html. Keeping this scoped avoids changing other
   traveler controls across checkout or booking flows. */
body.home-page .gf-pax-panel.nx-pax-popover,
body.home-page .gf-pax-panel.nx-pax-popover button {
  -webkit-tap-highlight-color: transparent;
}

body.home-page .gf-pax-panel.nx-pax-popover {
  touch-action: manipulation;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, -8px, 0) scale(.985);
  transform-origin: top center;
  transition: opacity .16s ease, transform .18s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .18s;
  will-change: transform, opacity;
}

body.home-page .gf-pax-panel.nx-pax-popover.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) scale(1);
  transition-delay: 0s;
}

body.home-page .gf-pax-panel.nx-pax-popover .gf-counter-btn,
body.home-page .gf-pax-panel.nx-pax-popover .gf-cabin-chip,
body.home-page .gf-pax-panel.nx-pax-popover .gf-pax-close {
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  transition: transform .12s ease, opacity .14s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.home-page .gf-pax-panel.nx-pax-popover .gf-counter-btn:active:not(:disabled),
body.home-page .gf-pax-panel.nx-pax-popover .gf-cabin-chip:active,
body.home-page .gf-pax-panel.nx-pax-popover .gf-pax-close:active {
  transform: scale(.96);
}

body.home-page .gf-pax-close,
.gf-pax-backdrop {
  display: none;
}

@media (max-width: 760px) {
  html.ndp-scroll-locked,
  body.ndp-open,
  html.month-roller-scroll-locked,
  body.month-roller-open,
  html.pax-selector-scroll-locked,
  body.pax-selector-open {
    overflow: hidden;
    overscroll-behavior: none;
  }

  .ndp-backdrop,
  .flex-month-backdrop,
  .gf-pax-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: rgba(15, 23, 42, .34);
    transition: opacity .18s ease, visibility 0s linear .18s;
  }

  .ndp-backdrop { z-index: 2599; }
  .flex-month-backdrop { z-index: 10019; }
  .gf-pax-backdrop { z-index: 499; }

  .ndp-backdrop.is-open,
  .flex-month-backdrop.is-open,
  .gf-pax-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .ndp-backdrop.is-closing,
  .flex-month-backdrop.is-closing,
  .gf-pax-backdrop.is-closing {
    pointer-events: auto;
  }

  .ndp-popover.ndp-mobile-sheet {
    position: fixed;
    z-index: 2600;
    top: auto !important;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
    left: 12px;
    width: auto !important;
    max-width: none;
    max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 18px;
    padding: 14px 12px calc(14px + env(safe-area-inset-bottom, 0px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 20px, 0);
    transition: opacity .16s ease, transform .2s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .2s;
    will-change: transform, opacity;
  }

  .ndp-popover.ndp-mobile-sheet.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }

  .ndp-popover.ndp-mobile-sheet .ndp-body {
    min-width: 0;
    gap: 10px;
  }

  .ndp-popover.ndp-mobile-sheet .ndp-body calendar-range::part(button previous),
  .ndp-popover.ndp-mobile-sheet .ndp-body calendar-range::part(button next),
  .ndp-popover.ndp-mobile-sheet .ndp-body calendar-date::part(button previous),
  .ndp-popover.ndp-mobile-sheet .ndp-body calendar-date::part(button next) {
    width: 40px;
    height: 40px;
  }

  .ndp-popover.ndp-mobile-sheet .ndp-body calendar-range::part(button day),
  .ndp-popover.ndp-mobile-sheet .ndp-body calendar-date::part(button day) {
    width: 38px;
    height: 38px;
  }

  .flex-month-popover.nx-month-picker {
    position: fixed !important;
    z-index: 10020;
    top: auto !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 18px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 20px, 0);
    transition: opacity .16s ease, transform .2s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .2s;
    will-change: transform, opacity;
  }

  .flex-month-popover.nx-month-picker.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }

  .flex-month-popover.nx-month-picker .flex-month-popover__head {
    padding: 16px 16px 12px;
  }

  .flex-month-popover.nx-month-picker .flex-month-popover__close {
    width: 40px;
    height: 40px;
    margin: -6px -6px 0 0;
  }

  .flex-month-popover.nx-month-picker .flex-month-grid {
    max-height: min(48dvh, 330px);
    padding: 12px 16px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .flex-month-popover.nx-month-picker .flex-month-option {
    min-height: 46px;
  }

  .flex-month-popover.nx-month-picker .flex-month-clear,
  .flex-month-popover.nx-month-picker .flex-month-apply {
    min-height: 42px;
  }

  body.home-page .gf-pax-panel.nx-pax-popover {
    position: fixed !important;
    z-index: 500;
    top: auto !important;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
    left: 12px !important;
    width: auto !important;
    min-width: 0;
    max-width: none;
    max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 20px;
    padding: 24px 18px calc(18px + env(safe-area-inset-bottom, 0px));
    transform: translate3d(0, 20px, 0);
    transform-origin: bottom center;
  }

  body.home-page .gf-pax-panel.nx-pax-popover.is-open {
    transform: translate3d(0, 0, 0);
  }

  body.home-page .gf-pax-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 8px;
    right: 8px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(148, 163, 184, .12);
    color: inherit;
    cursor: pointer;
  }

  body.home-page .gf-pax-close svg {
    width: 18px;
    height: 18px;
  }

  body.home-page .gf-pax-panel.nx-pax-popover .gf-counter {
    gap: 8px;
  }

  body.home-page .gf-pax-panel.nx-pax-popover .gf-counter-btn {
    width: 42px;
    height: 42px;
  }

  body.home-page .gf-pax-panel.nx-pax-popover .gf-cabin-chip {
    min-height: 42px;
    padding: 8px 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ndp-popover,
  .ndp-backdrop,
  .ndp-btn,
  .ndp-native-display,
  .ndp-body calendar-range::part(button),
  .ndp-body calendar-date::part(button),
  .flex-month-popover.nx-month-picker,
  .flex-month-backdrop,
  .flex-month-popover.nx-month-picker .flex-month-option,
  .flex-month-popover.nx-month-picker .flex-month-popover__close,
  .flex-month-popover.nx-month-picker .flex-month-clear,
  .flex-month-popover.nx-month-picker .flex-month-apply,
  body.home-page .gf-pax-panel.nx-pax-popover,
  .gf-pax-backdrop,
  body.home-page .gf-pax-panel.nx-pax-popover .gf-counter-btn,
  body.home-page .gf-pax-panel.nx-pax-popover .gf-cabin-chip,
  body.home-page .gf-pax-panel.nx-pax-popover .gf-pax-close {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
