
/* v24: clean swipe gallery + working lightbox. No overlay buttons inside slides. */
.room-media.swipe-room-gallery,
.swipe-room-gallery{
  position:relative!important;
  overflow:hidden!important;
  background:#06140e!important;
  border-radius:28px 28px 0 0!important;
  isolation:isolate!important;
}
.room-media.swipe-room-gallery::before,
.room-media.swipe-room-gallery::after,
.swipe-room-gallery::before,
.swipe-room-gallery::after,
.photo-slide::before,
.photo-slide::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  pointer-events:none!important;
}
.swipe-track{
  display:flex!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  gap:0!important;
  scrollbar-width:none!important;
  background:#06140e!important;
  touch-action:pan-x pan-y!important;
}
.swipe-track::-webkit-scrollbar{display:none!important}
.photo-slide{
  flex:0 0 100%!important;
  width:100%!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  background:#06140e!important;
  scroll-snap-align:center!important;
  display:block!important;
  cursor:zoom-in!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  line-height:0!important;
  touch-action:manipulation!important;
}
.photo-slide img{
  display:block!important;
  width:100%!important;
  height:58svh!important;
  min-height:340px!important;
  max-height:560px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  filter:saturate(1.05) contrast(1.03)!important;
  pointer-events:none!important;
}
.swipe-hint{
  position:absolute!important;
  left:12px!important;
  top:12px!important;
  z-index:5!important;
  background:rgba(10,28,19,.72)!important;
  color:#fff8ec!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  backdrop-filter:blur(10px)!important;
  pointer-events:none!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}
.gallery-tap-pill{display:none!important}
.swipe-dots{
  position:absolute!important;
  left:12px!important;
  bottom:12px!important;
  z-index:5!important;
  display:flex!important;
  gap:6px!important;
  background:rgba(10,28,19,.50)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:999px!important;
  padding:7px 9px!important;
  pointer-events:none!important;
  backdrop-filter:blur(8px)!important;
}
.swipe-dots span{
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.62)!important;
  display:block!important;
}
.swipe-dots span:first-child{width:21px!important;border-radius:999px!important;background:#fff8ec!important}
.photo-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  background:rgba(2,8,5,.94)!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
}
.photo-lightbox.is-open,
.photo-lightbox[aria-hidden="false"]{display:flex!important}
.photo-lightbox img{
  max-width:96vw!important;
  max-height:86svh!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.60)!important;
}
.photo-lightbox-close,
.lightbox-close{
  position:fixed!important;
  top:calc(14px + env(safe-area-inset-top))!important;
  right:14px!important;
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.26)!important;
  background:rgba(255,248,236,.96)!important;
  color:#06140e!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
  z-index:10000!important;
}
.lightbox-open{overflow:hidden!important}
@media(max-width:760px){
  .room-card{border-radius:28px!important;overflow:hidden!important}
  .photo-slide img{height:54svh!important;min-height:320px!important;max-height:510px!important}
  .swipe-hint{font-size:12px!important;top:11px!important;left:11px!important;padding:8px 11px!important}
  .swipe-dots{bottom:11px!important;left:11px!important}
}
