@media(max-width:700px){
html.ssj-map-fullscreen,body.ssj-map-fullscreen{overflow-x:hidden!important;max-width:100%!important}
#ssjV3MobileTools,#mobileLayersButton,#ssjV3MobileBackdrop,#mobileLayersBackdrop,#ssjV3MobileClose,#ssjV3HotelClose{display:none!important;pointer-events:none!important}
#ssjV3Sidebar{display:none!important;pointer-events:none!important}
.ssjUnifiedSheet{position:fixed!important;z-index:2147483600!important;left:calc(var(--ssj-vv-left,0px) + 8px)!important;right:auto!important;top:var(--ssj-vv-top,0px)!important;bottom:auto!important;width:calc(var(--ssj-vv-width,100%) - 16px)!important;max-width:calc(var(--ssj-vv-width,100%) - 16px)!important;min-width:0!important;height:var(--ssj-vv-height,100dvh)!important;max-height:var(--ssj-vv-height,100dvh)!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important;border:1px solid #dfe5e7!important;border-radius:24px 24px 0 0!important;background:#fff!important;box-shadow:0 -10px 32px rgba(28,35,39,.22)!important;transition:transform .32s cubic-bezier(.32,.72,0,1)!important;will-change:transform!important;backface-visibility:hidden!important;contain:layout paint!important;pointer-events:auto!important;overscroll-behavior:contain!important;touch-action:manipulation!important}
.ssjUnifiedSheet.is-dragging{transition:none!important;touch-action:none!important}.ssjUnifiedSheet,.ssjUnifiedSheet *,.ssjUnifiedSheet *::before,.ssjUnifiedSheet *::after{box-sizing:border-box!important}.ssjUnifiedSheet>*{min-width:0!important;max-width:100%!important}
.ssjUnifiedSheetHandle{position:absolute!important;z-index:80!important;left:0!important;right:0!important;top:0!important;width:100%!important;height:42px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;touch-action:none!important;pointer-events:auto!important;-webkit-appearance:none!important;appearance:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent!important}.ssjUnifiedSheetHandle span{display:block!important;width:42px!important;height:5px!important;border-radius:999px!important;background:#c4c9cc!important;pointer-events:none!important}
.ssjUnifiedSheetContent{width:100%!important;max-width:100%!important;min-width:0!important;height:100%!important;overflow-y:hidden!important;overflow-x:hidden!important;overscroll-behavior:contain!important;padding:44px 12px calc(12px + env(safe-area-inset-bottom,0px))!important;touch-action:none!important;pointer-events:auto!important}.ssjUnifiedSheetContent input,.ssjUnifiedSheetContent button,.ssjUnifiedSheetContent select,.ssjUnifiedSheetContent label,.ssjUnifiedSheetContent a{pointer-events:auto!important;touch-action:manipulation!important}.ssjUnifiedSheet[data-state="full"] .ssjUnifiedSheetContent{overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}
#ssjUnifiedSettingsSheet{display:block}#ssjUnifiedSettingsSheet .ssjUnifiedSettingsContent{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important;width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important}#ssjUnifiedSettingsSheet #ssjV3StayMode,#ssjUnifiedSettingsSheet #ssjV3LayersMode{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;flex:0 0 auto!important;position:relative!important;transform:none!important}#ssjUnifiedSettingsSheet #ssjV3StayMode{margin-top:0!important;padding:0!important;overflow:visible!important}#ssjUnifiedSettingsSheet #ssjV3StayMode>.ssjV3Card{width:100%!important;max-width:100%!important;margin:0!important}#ssjUnifiedSettingsSheet #ssjV3LayersMode{margin-top:0!important;margin-bottom:0!important;padding:16px 10px 10px!important;overflow:visible!important}#ssjUnifiedSettingsSheet .ssjV3Brand,#ssjUnifiedSettingsSheet .ssjV3Title{display:none!important}#ssjUnifiedSettingsSheet .ssjV3Card{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:10px!important;border-radius:12px!important;overflow:visible!important;position:relative!important}#ssjUnifiedSettingsSheet .ssjV3Card>*{min-width:0!important;max-width:100%!important}#ssjUnifiedSettingsSheet .ssjV3CardTitle{position:static!important;inset:auto!important;transform:none!important;margin:0 0 10px!important;padding:0!important;font-size:12px!important;line-height:1.25!important;white-space:normal!important;overflow:visible!important}#ssjUnifiedSettingsSheet #ssjV3LayersMode>.ssjV3CardTitle{display:block!important;margin:0 0 12px!important;padding:0!important;line-height:1.25!important;position:relative!important;top:auto!important;transform:none!important}
#ssjUnifiedSettingsSheet .ssjV3Field{width:100%!important;min-width:0!important;margin-bottom:6px!important}#ssjUnifiedSettingsSheet .ssjV3Field>span,#ssjUnifiedSettingsSheet .ssjV3GuestCard>span{margin-bottom:3px!important;font-size:10px!important;line-height:1!important}#ssjUnifiedSettingsSheet .ssjV3DateField{position:relative!important;width:100%!important;min-width:0!important;overflow:visible!important;pointer-events:auto!important}#ssjUnifiedSettingsSheet .ssjV3DateField input{position:relative!important;z-index:1!important;display:block!important;width:100%!important;min-width:0!important;height:34px!important;padding:0 36px 0 9px!important;font-size:12px!important;border-radius:8px!important;pointer-events:auto!important;touch-action:manipulation!important}#ssjUnifiedSettingsSheet .ssjV3DateField button{position:absolute!important;z-index:2!important;top:2px!important;right:2px!important;width:30px!important;height:30px!important;font-size:12px!important;pointer-events:auto!important;touch-action:manipulation!important}#ssjUnifiedSettingsSheet .ssjV3Guests{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;min-width:0!important;gap:7px!important;margin:0!important;overflow:hidden!important}#ssjUnifiedSettingsSheet .ssjV3Guests>*{min-width:0!important}#ssjUnifiedSettingsSheet .ssjV3GuestCard{width:100%!important;min-width:0!important;padding:6px 7px!important;border-radius:9px!important;overflow:hidden!important}#ssjUnifiedSettingsSheet .ssjV3GuestCard select{display:block!important;width:100%!important;min-width:0!important;height:32px!important;padding:0 6px!important;font-size:11px!important;border-radius:7px!important}#ssjUnifiedSettingsSheet #ssjV3AvailabilitySearch,#ssjUnifiedSettingsSheet .ssjV3Hint,#ssjUnifiedSettingsSheet .ssjV3BookingFuture{display:none!important}
#ssjUnifiedSettingsSheet #hazardMapControls{position:static!important;inset:auto!important;display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;gap:6px!important;overflow:visible!important;transform:none!important;box-shadow:none!important;background:transparent!important}#ssjUnifiedSettingsSheet #hazardMapControls .mobileLayersHeader,#ssjUnifiedSettingsSheet #hazardMapControls .hazardLoadNote{display:none!important}#ssjUnifiedSettingsSheet #hazardMapControls .hazardToggle{width:100%!important;min-width:0!important;min-height:38px!important;padding:5px 8px!important;border-radius:9px!important;gap:7px!important;overflow:hidden!important;pointer-events:auto!important;touch-action:manipulation!important}#ssjUnifiedSettingsSheet #hazardMapControls .hazardToggleLabel{min-width:0!important;gap:7px!important;font-size:11px!important;line-height:1!important;overflow:hidden!important}#ssjUnifiedSettingsSheet #hazardMapControls .hazardToggleIcon{width:20px!important;height:20px!important;flex:0 0 20px!important}#ssjUnifiedSettingsSheet #hazardMapControls .toggleTrack{flex:0 0 40px!important;width:40px!important;height:23px!important}#ssjUnifiedSettingsSheet #hazardMapControls .toggleKnob{width:19px!important;height:19px!important;top:2px!important;left:2px!important}#ssjUnifiedSettingsSheet #hazardMapControls .hazardToggle.is-on .toggleKnob{transform:translateX(17px)!important}
#ssjV3Calendar{pointer-events:none!important}#ssjV3Calendar.is-open,#ssjV3Calendar[aria-hidden="false"]{position:fixed!important;z-index:2147483647!important;left:calc(var(--ssj-vv-left,0px) + 8px)!important;right:auto!important;top:calc(var(--ssj-vv-top,0px) + 8px)!important;width:calc(var(--ssj-vv-width,100%) - 16px)!important;max-width:calc(var(--ssj-vv-width,100%) - 16px)!important;max-height:calc(var(--ssj-vv-height,100dvh) - 16px)!important;margin:0!important;overflow:auto!important;box-sizing:border-box!important;border-radius:22px!important;pointer-events:auto!important;touch-action:auto!important;-webkit-overflow-scrolling:touch!important;transform:none!important}#ssjV3Calendar.is-open *,#ssjV3Calendar[aria-hidden="false"] *{pointer-events:auto!important}#ssjV3Calendar.is-open button,#ssjV3Calendar[aria-hidden="false"] button{pointer-events:auto!important;touch-action:manipulation!important;position:relative!important;z-index:1!important}#ssjV3CalendarGrid{pointer-events:auto!important;position:relative!important;z-index:1!important}#ssjV3CalendarGrid button{pointer-events:auto!important;touch-action:manipulation!important}#ssjV3CalendarPrev,#ssjV3CalendarNext,#ssjV3CalendarDone{pointer-events:auto!important;touch-action:manipulation!important;position:relative!important;z-index:2!important}
#ssjV3HotelPanel.ssjUnifiedHotelSheet{display:none!important;touch-action:none!important}#ssjV3HotelPanel.ssjUnifiedHotelSheet.is-open{display:block!important}#ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"]{touch-action:pan-y!important}#ssjV3HotelPanel.ssjUnifiedHotelSheet.is-dragging{touch-action:none!important}#ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelHero{width:100%!important;height:96px!important;padding-top:28px!important;overflow:hidden!important;touch-action:none!important}#ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelBody{width:100%!important;min-width:0!important;height:calc(100% - 96px)!important;overflow-y:hidden!important;overflow-x:hidden!important;overscroll-behavior:contain!important;padding:14px 14px calc(96px + env(safe-area-inset-bottom,0px))!important;touch-action:none!important;pointer-events:auto!important}#ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"] .ssjV3HotelBody{overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important}
#ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjUnifiedHotelFooter{position:absolute!important;z-index:70!important;left:0!important;right:0!important;top:calc(var(--ssj-sheet-visible-height,50dvh) - 76px - env(safe-area-inset-bottom,0px))!important;height:calc(76px + env(safe-area-inset-bottom,0px))!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important;background:linear-gradient(to bottom,rgba(255,255,255,.86),#fff 22%)!important;border-top:1px solid rgba(223,229,231,.9)!important;box-shadow:0 -8px 18px rgba(28,35,39,.08)!important;pointer-events:auto!important;touch-action:manipulation!important}
#ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjV3ViewHotel{position:static!important;z-index:auto!important;display:flex!important;width:100%!important;min-height:48px!important;margin:0!important;align-items:center!important;justify-content:center!important;border-radius:12px!important;pointer-events:auto!important;touch-action:manipulation!important}
#ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelDragZone{position:absolute!important;z-index:80!important;left:0!important;right:0!important;top:0!important;width:100%!important;height:42px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;touch-action:none!important;pointer-events:auto!important}#ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelDragZone span{width:42px!important;height:5px!important;border-radius:999px!important;background:#c4c9cc!important;pointer-events:none!important}
#ssjV3MobileBackdrop,#mobileLayersBackdrop{inset:auto!important;width:0!important;height:0!important;opacity:0!important;pointer-events:none!important}#map,#mapShell{pointer-events:auto!important}
}

/* Keep Google Places suggestions above every map/sheet surface. */
.pac-container{
  z-index:2147483647!important;
}

@media (max-width:700px){
  /*
    While a destination input owns focus, mobile-ui.js freezes the
    pre-keyboard viewport. Disable sheet hit-testing as an extra safeguard so
    Google Places suggestions remain unobstructed on iOS Safari.
  */
  html.ssj-search-viewport-locked #ssjUnifiedSettingsSheet{
    pointer-events:none!important;
    z-index:2147483000!important;
  }

  html.ssj-search-viewport-locked .pac-container,
  html.ssj-search-viewport-locked body>.pac-container{
    z-index:2147483647!important;
    pointer-events:auto!important;
  }
}

@media (max-width:700px){
  /*
    Hotel sheet interaction parity with the search/layers sheet.
    Both surfaces use the same transform/rAF controller in mobile-ui.js and
    the same release easing; only the hotel's collapsed state is hidden.
  */
  #ssjV3HotelPanel.ssjUnifiedHotelSheet{
    transition:transform .32s cubic-bezier(.32,.72,0,1)!important;
    will-change:transform!important;
    backface-visibility:hidden!important;
    overscroll-behavior:contain!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet.is-settling{
    transition:transform .32s cubic-bezier(.32,.72,0,1)!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet.is-dragging{
    transition:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelHero,
  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelBody{
    overscroll-behavior:contain!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet:not([data-state="full"]) .ssjV3HotelBody,
  #ssjV3HotelPanel.ssjUnifiedHotelSheet.is-dragging .ssjV3HotelBody{
    overflow-y:hidden!important;
    touch-action:none!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"]:not(.is-dragging) .ssjV3HotelBody{
    overflow-y:auto!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

@media (max-width:700px){
  /*
    Hotel Half: every non-tap gesture belongs to the sheet. The explicit
    descendant rule prevents iOS Safari from promoting cards or text into a
    competing scroll gesture before mobile-ui.js reaches its 5px threshold.
  */
  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="half"],
  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="half"] *{
    touch-action:none!important;
    overscroll-behavior:contain!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="half"] .ssjV3HotelBody{
    overflow-x:hidden!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:auto!important;
  }

  /*
    Hotel Full: content alone can scroll. The capture-phase pointer handler
    switches a downward gesture at scrollTop=0 back to sheet dragging.
  */
  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"]:not(.is-dragging) .ssjV3HotelBody{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"]:not(.is-dragging) .ssjV3HotelBody *{
    touch-action:pan-y!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet.is-dragging,
  #ssjV3HotelPanel.ssjUnifiedHotelSheet.is-dragging *{
    touch-action:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }
}

/* =====================================================
   Mobile calendar modal overlay
===================================================== */
@media (max-width:700px){
  /*
    Keep the search sheet at its pre-calendar Half/Full transform. It remains
    visible as context but cannot receive taps through the modal backdrop.
  */
  html.ssj-calendar-active #ssjUnifiedSettingsSheet,
  html.ssj-calendar-modal-open #ssjUnifiedSettingsSheet{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:none!important;
  }

  .ssjV3CalendarModalBackdrop{
    position:fixed!important;
    z-index:2147483620!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:rgba(18,28,32,.30)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:
      opacity .18s ease,
      visibility 0s linear .18s!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .ssjV3CalendarModalBackdrop.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:
      opacity .18s ease,
      visibility 0s!important;
  }

  .ssjV3CalendarModalBackdrop.is-closing{
    opacity:0!important;
    visibility:visible!important;
    pointer-events:none!important;
  }

  html.ssj-calendar-modal-open body>#ssjV3Calendar,
  body>#ssjV3Calendar.is-open,
  body>#ssjV3Calendar[aria-hidden="false"]{
    position:fixed!important;
    z-index:2147483647!important;
    left:50%!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    width:min(calc(var(--ssj-vv-width,100vw) - 24px),420px)!important;
    max-width:420px!important;
    max-height:calc(var(--ssj-vv-height,100dvh) - 32px)!important;
    margin:0!important;
    overflow:auto!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(-50%,-50%,0) scale(1)!important;
    transform-origin:center!important;
    transition:
      opacity .18s ease,
      transform .20s cubic-bezier(.22,.8,.32,1),
      visibility 0s!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body>#ssjV3Calendar.is-closing{
    opacity:0!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:translate3d(-50%,-48%,0) scale(.98)!important;
  }

  body>#ssjV3Calendar[aria-hidden="true"]:not(.is-open):not(.is-closing){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Primary affiliate action: View Hotel */
#ssjV3HotelPanel #ssjV3ViewHotel.ssjV3ViewHotel{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:13px 18px!important;
  border:1px solid #0061cc!important;
  border-radius:12px!important;
  background:#006CE4!important;
  color:#FFFFFF!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(0,108,228,.28)!important;
  transition:filter .16s ease,transform .16s ease,box-shadow .16s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}

#ssjV3HotelPanel #ssjV3ViewHotel.ssjV3ViewHotel:hover{
  filter:brightness(1.07)!important;
  box-shadow:0 10px 22px rgba(0,108,228,.34)!important;
}

#ssjV3HotelPanel #ssjV3ViewHotel.ssjV3ViewHotel:active{
  filter:brightness(.92)!important;
  transform:translateY(1px) scale(.99)!important;
  box-shadow:0 5px 12px rgba(0,108,228,.26)!important;
}

#ssjV3HotelPanel #ssjV3ViewHotel.ssjV3ViewHotel:focus-visible{
  outline:3px solid rgba(0,108,228,.28)!important;
  outline-offset:2px!important;
}

/* Shared primary actions: top search and stay filter */
#destinationSearchButton,
#ssjUnifiedSettingsSheet #ssjV3AvailabilitySearch{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  border:1px solid #0061cc!important;
  border-radius:12px!important;
  background:#006CE4!important;
  color:#FFFFFF!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-align:center!important;
  box-shadow:0 6px 14px rgba(0,108,228,.24)!important;
  transition:filter .16s ease,transform .16s ease,box-shadow .16s ease!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}

#destinationSearchButton:hover,
#ssjUnifiedSettingsSheet #ssjV3AvailabilitySearch:hover{
  filter:brightness(1.07)!important;
  box-shadow:0 8px 18px rgba(0,108,228,.30)!important;
}

#destinationSearchButton:active,
#ssjUnifiedSettingsSheet #ssjV3AvailabilitySearch:active{
  filter:brightness(.92)!important;
  transform:translateY(1px) scale(.99)!important;
  box-shadow:0 4px 10px rgba(0,108,228,.22)!important;
}

#destinationSearchButton:focus-visible,
#ssjUnifiedSettingsSheet #ssjV3AvailabilitySearch:focus-visible{
  outline:3px solid rgba(0,108,228,.28)!important;
  outline-offset:2px!important;
}

#ssjUnifiedSettingsSheet #ssjV3AvailabilitySearch{
  width:100%!important;
  min-height:44px!important;
  margin:10px 0 0!important;
  padding:11px 14px!important;
  font-size:13px!important;
  touch-action:manipulation!important;
  pointer-events:auto!important;
}

/* Calendar primary-blue tone */
#ssjV3Calendar .ssjV3CalendarDone{
  border:1px solid #0061cc!important;
  background:#006CE4!important;
  color:#FFFFFF!important;
  font-weight:600!important;
  box-shadow:0 5px 12px rgba(0,108,228,.24)!important;
  transition:filter .16s ease,transform .16s ease,box-shadow .16s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}

#ssjV3Calendar .ssjV3CalendarDone:hover{
  filter:brightness(1.07)!important;
  box-shadow:0 7px 16px rgba(0,108,228,.30)!important;
}

#ssjV3Calendar .ssjV3CalendarDone:active{
  filter:brightness(.92)!important;
  transform:translateY(1px) scale(.98)!important;
  box-shadow:0 3px 8px rgba(0,108,228,.22)!important;
}

#ssjV3Calendar .ssjV3CalendarDone:focus-visible{
  outline:3px solid rgba(0,108,228,.28)!important;
  outline-offset:2px!important;
}

#ssjV3Calendar .ssjV3CalendarDay.is-range-start,
#ssjV3Calendar .ssjV3CalendarDay.is-range-end,
#ssjV3Calendar .ssjV3CalendarDay.is-selected{
  background:#006CE4!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}

#ssjV3Calendar .ssjV3CalendarDay.is-in-range{
  background:rgba(0,108,228,.12)!important;
  color:#0057b8!important;
}

#ssjV3Calendar .ssjV3CalendarDay.is-today:not(.is-selected):not(.is-range-start):not(.is-range-end){
  box-shadow:inset 0 0 0 1.5px rgba(0,108,228,.78)!important;
  color:#0057b8!important;
}

#ssjV3Calendar .ssjV3CalendarDay:not(.is-disabled):hover{
  background:rgba(0,108,228,.08);
}

/* Mobile hotel sheet close action */
@media (max-width:700px){
  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjV3HotelClose{
    position:absolute!important;
    z-index:100!important;
    top:4px!important;
    right:6px!important;
    display:grid!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:5px!important;
    place-items:center!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    color:#455158!important;
    font-size:0!important;
    line-height:1!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    cursor:pointer!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjV3HotelClose::before{
    content:"×";
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid rgba(69,81,88,.08);
    border-radius:50%;
    background:#f1f3f5;
    color:#455158;
    font:400 22px/1 Arial,sans-serif;
    box-shadow:0 2px 8px rgba(28,35,39,.10);
    transition:background .16s ease,transform .16s ease;
    pointer-events:none;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjV3HotelClose:hover::before{
    background:#e8ecef;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjV3HotelClose:active::before{
    background:#dde2e6;
    transform:scale(.94);
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjV3HotelClose:focus-visible{
    outline:3px solid rgba(0,108,228,.28)!important;
    outline-offset:0!important;
  }
}

/* Settings sheet Peek close action */
@media (max-width:700px){
  #ssjSettingsCloseBtn{
    display:none!important;
  }

  #ssjUnifiedSettingsSheet[data-state="half"] #ssjSettingsCloseBtn,
  #ssjUnifiedSettingsSheet[data-state="full"] #ssjSettingsCloseBtn{
    position:absolute!important;
    z-index:100!important;
    top:2px!important;
    right:2px!important;
    display:grid!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:5px!important;
    place-items:center!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    color:#455158!important;
    font-size:0!important;
    line-height:1!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    cursor:pointer!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  #ssjUnifiedSettingsSheet[data-state="peek"] #ssjSettingsCloseBtn{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  #ssjSettingsCloseBtn::before{
    content:"×";
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid rgba(69,81,88,.08);
    border-radius:50%;
    background:#f1f3f5;
    color:#455158;
    font:400 22px/1 Arial,sans-serif;
    box-shadow:0 2px 8px rgba(28,35,39,.10);
    transition:background .16s ease,transform .16s ease;
    pointer-events:none;
  }

  #ssjSettingsCloseBtn:hover::before{
    background:#e8ecef;
  }

  #ssjSettingsCloseBtn:active::before{
    background:#dde2e6;
    transform:scale(.94);
  }

  #ssjSettingsCloseBtn:focus-visible{
    outline:3px solid rgba(0,108,228,.28)!important;
    outline-offset:0!important;
  }
}


/* Calendar reliability and premium motion */
@media (max-width:700px){
  .ssjV3CalendarModalBackdrop{
    background:rgba(0,0,0,.35)!important;
    -webkit-backdrop-filter:blur(6px)!important;
    backdrop-filter:blur(6px)!important;
    transition:
      opacity 250ms ease-out,
      visibility 0s linear 250ms!important;
    will-change:opacity!important;
  }

  .ssjV3CalendarModalBackdrop.is-open{
    transition:
      opacity 250ms ease-out,
      visibility 0s!important;
  }

  .ssjV3CalendarModalBackdrop.is-closing{
    transition:
      opacity 250ms ease-out,
      visibility 0s linear 250ms!important;
  }

  body>#ssjV3Calendar[aria-hidden="false"]:not(.is-open):not(.is-closing){
    opacity:0!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:translate3d(-50%,calc(-50% + 16px),0) scale(.96)!important;
  }

  html.ssj-calendar-modal-open body>#ssjV3Calendar.is-open,
  body>#ssjV3Calendar.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(-50%,-50%,0) scale(1)!important;
    transition:
      opacity 250ms ease-out,
      transform 250ms cubic-bezier(.22,.8,.32,1),
      visibility 0s!important;
    will-change:opacity,transform!important;
  }

  body>#ssjV3Calendar.is-closing{
    opacity:0!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:translate3d(-50%,calc(-50% + 16px),0) scale(.96)!important;
    transition:
      opacity 250ms ease-out,
      transform 250ms cubic-bezier(.4,0,1,1),
      visibility 0s linear 250ms!important;
  }
}

#ssjV3Calendar .ssjV3CalendarDay{
  transition:
    transform .15s ease,
    background-color .15s ease,
    color .15s ease,
    box-shadow .15s ease!important;
  transform-origin:center!important;
  -webkit-tap-highlight-color:transparent!important;
}

#ssjV3Calendar .ssjV3CalendarDay:not(.is-disabled):active{
  transform:scale(.92)!important;
}

@media (prefers-reduced-motion:reduce){
  .ssjV3CalendarModalBackdrop,
  body>#ssjV3Calendar,
  #ssjV3Calendar .ssjV3CalendarDay{
    transition-duration:.01ms!important;
  }
}


/* =====================================================
   HOTEL PHOTO HERO — Agoda detail presentation
===================================================== */
@media (max-width:700px){
  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelHero.has-photo{
    height:190px!important;
    min-height:190px!important;
    padding:0!important;
    background:#e8f1f4!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelHero.has-photo + .ssjV3HotelBody{
    height:calc(100% - 190px)!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelHero.has-photo::after{
    opacity:0!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelHeroImage{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelHeroLabel{
    display:none!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelDragZone.ssjHotelPhotoHandle{
    z-index:10000!important;
    height:44px!important;
    background:transparent!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelDragZone.ssjHotelPhotoHandle span{
    width:44px!important;
    height:5px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 1px 5px rgba(18,28,34,.42)!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjHotelCloseBtn.ssjHotelPhotoClose{
    color:#374151!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjHotelCloseBtn.ssjHotelPhotoClose:active{
    transform:scale(.94)!important;
  }

  #ssjV3HotelPanel .ssjV3HazardIcon{
    flex:0 0 22px!important;
    width:22px!important;
    height:22px!important;
    display:inline-grid!important;
    place-items:center!important;
  }

  #ssjV3HotelPanel .ssjV3HazardIcon svg{
    display:block!important;
    width:22px!important;
    height:22px!important;
  }
}


/* Hotel close hit target and retired booking placeholders */
#ssjV3HotelPanel .ssjV3HotelNote,
#ssjV3HotelPanel .ssjV3BookingFuture{
  display:none!important;
}

@media (max-width:700px){
  #ssjV3HotelPanel.ssjUnifiedHotelSheet #ssjHotelCloseBtn.ssjHotelPhotoClose{
    pointer-events:auto!important;
    z-index:99999!important;
    touch-action:manipulation!important;
  }
}


/* Hotel details: keep the safety card clear of the fixed Agoda CTA. */
@media(max-width:700px){
  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjV3HotelBody{
    padding:10px 14px calc(72px + env(safe-area-inset-bottom,16px))!important;
    scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom,16px))!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet .ssjUnifiedHotelFooter{
    top:calc(var(--ssj-sheet-visible-height,50dvh) - 72px - env(safe-area-inset-bottom,0px))!important;
    height:calc(72px + env(safe-area-inset-bottom,0px))!important;
    padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px))!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"] .ssjV3HotelName{
    margin:2px 42px 5px 0!important;
    font-size:20px!important;
    line-height:1.15!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"] .ssjV3HotelRating{
    margin-bottom:3px!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"] .ssjV3HotelLocation{
    margin-bottom:8px!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"] .ssjV3SafetyCard{
    padding:10px!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"] .ssjV3SafetyHead{
    margin-bottom:4px!important;
  }

  #ssjV3HotelPanel.ssjUnifiedHotelSheet[data-state="full"] .ssjV3SafetyRow{
    min-height:42px!important;
  }
}


/* Settings sheet: full-surface drag handoff and inline hazard icons. */
@media(max-width:700px){
  #ssjUnifiedSettingsSheet[data-state="half"],
  #ssjUnifiedSettingsSheet[data-state="half"] *{
    touch-action:none!important;
    overscroll-behavior:contain!important;
  }

  #ssjUnifiedSettingsSheet[data-state="half"] .ssjUnifiedSettingsContent,
  #ssjUnifiedSettingsSheet.is-dragging .ssjUnifiedSettingsContent{
    overflow-x:hidden!important;
    overflow-y:hidden!important;
    touch-action:none!important;
    -webkit-overflow-scrolling:auto!important;
  }

  #ssjUnifiedSettingsSheet[data-state="full"]:not(.is-dragging) .ssjUnifiedSettingsContent{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }

  #ssjUnifiedSettingsSheet #hazardMapControls .hazardToggleIcon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:inherit!important;
  }

  #ssjUnifiedSettingsSheet #hazardMapControls .hazardToggleIcon svg{
    display:block!important;
    width:100%!important;
    height:100%!important;
    overflow:visible!important;
  }
}


/* Calendar fields: taps open the picker; movement remains a sheet drag. */
@media(max-width:700px){
  #ssjUnifiedSettingsSheet .ssjV3DateField,
  #ssjUnifiedSettingsSheet .ssjV3DateField *{
    touch-action:none!important;
    overscroll-behavior:contain!important;
  }

  #ssjUnifiedSettingsSheet .ssjV3DateField input[readonly]{
    caret-color:transparent!important;
    -webkit-user-select:none!important;
    user-select:none!important;
  }
}
