html.haa-gallery-open,
body.haa-gallery-open{overflow:hidden!important;overscroll-behavior:none}
body.haa-gallery-open{position:fixed;width:100%}
.haa-booking-gallery[hidden]{display:none!important}
.haa-booking-gallery{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  color:#fff;
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.haa-booking-gallery__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.94);backdrop-filter:blur(6px)}
.haa-booking-gallery__stage{
  position:relative;
  z-index:1;
  width:min(1240px,calc(100vw - 152px));
  max-width:100%;
  height:min(calc(100vh - 36px),900px);
  height:min(calc(100dvh - 36px),900px);
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:10px;
}
.haa-booking-gallery__media{
  position:relative;
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:18px;
  background:#050505;
}
.haa-booking-gallery__image{
  position:absolute;
  inset:0;
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  margin:auto;
  object-fit:contain;
  object-position:center center;
  image-rendering:auto;
  opacity:0;
  transition:opacity .18s ease;
  user-select:none;
  -webkit-user-drag:none;
}
.haa-booking-gallery__image.is-loaded{opacity:1}
.haa-booking-gallery__loading{position:absolute;inset:auto 20px 20px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.68);font-size:.84rem;text-align:center}
.haa-booking-gallery__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px;padding-inline:4px}
.haa-booking-gallery__caption{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;color:rgba(255,255,255,.9)}
.haa-booking-gallery__counter{flex:0 0 auto;font-weight:800;color:rgba(255,255,255,.82)}
.haa-booking-gallery__close,
.haa-booking-gallery__nav{
  position:fixed;
  z-index:2;
  display:grid;
  place-items:center;
  margin:0;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(14,31,24,.88);
  color:#fff;
  box-shadow:0 12px 35px rgba(0,0,0,.35);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.haa-booking-gallery__close{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:52px;height:52px;border-radius:50%;font-size:2rem;line-height:1}
.haa-booking-gallery__nav{top:50%;width:50px;height:64px;border-radius:16px;transform:translateY(-50%);font-size:1.7rem}
.haa-booking-gallery__nav--prev{left:max(14px,env(safe-area-inset-left))}
.haa-booking-gallery__nav--next{right:max(14px,env(safe-area-inset-right))}
.haa-booking-gallery__close:hover,.haa-booking-gallery__close:focus-visible,.haa-booking-gallery__nav:hover,.haa-booking-gallery__nav:focus-visible{outline:3px solid #d6b85d;outline-offset:3px;background:#155c43}
@media (min-width:701px) and (max-width:1040px){
  .haa-booking-gallery__stage{width:calc(100vw - 124px)}
}
@media (max-width:700px){
  .haa-booking-gallery{padding:max(72px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))}
  .haa-booking-gallery__stage{height:calc(100vh - 102px);height:calc(100dvh - max(86px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));gap:8px}
  .haa-booking-gallery__media{border-radius:12px}
  .haa-booking-gallery__footer{padding-inline:8px}
  .haa-booking-gallery__caption{font-size:.82rem}
  .haa-booking-gallery__close{width:48px;height:48px}
  .haa-booking-gallery__nav{top:auto;bottom:max(58px,calc(env(safe-area-inset-bottom) + 44px));width:48px;height:48px;border-radius:50%;transform:none}
  .haa-booking-gallery__nav--prev{left:14px}
  .haa-booking-gallery__nav--next{right:14px}
}
@media (prefers-reduced-motion:reduce){.haa-booking-gallery__image{transition:none}}
