.rhigi-premium-gallery{
  position:relative;
  float:left;
  width:48%;
  margin:0 4% 2em 0;
  box-sizing:border-box;
}
.rhigi-premium-gallery__stage{
  position:relative;
  overflow:hidden;
  border:1px solid #e5e7eb;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.07);
}
.rhigi-premium-gallery__viewport{
  display:flex;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom;
  scrollbar-width:none;
  cursor:grab;
}
.rhigi-premium-gallery__viewport::-webkit-scrollbar{display:none}
.rhigi-premium-gallery__viewport:active{cursor:grabbing}
.rhigi-premium-gallery__slide{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  margin:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:grid;
  place-items:center;
  background:#fff;
}
.rhigi-premium-gallery__zoom{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  min-height:420px;
  padding:0;
  border:0;
  background:#fff;
  cursor:zoom-in;
}
.rhigi-premium-gallery__image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:680px;
  object-fit:contain;
  margin:0!important;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.rhigi-premium-gallery__zoom-badge{
  position:absolute;
  right:14px;
  top:14px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:rgba(15,23,42,.72);
  font-size:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.18);
  backdrop-filter:blur(8px);
}
.rhigi-premium-gallery__arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  color:#fff;
  background:rgba(15,23,42,.74);
  font-size:34px;
  line-height:1;
  cursor:pointer;
  transform:translateY(-50%);
  box-shadow:0 10px 28px rgba(15,23,42,.22);
  backdrop-filter:blur(8px);
  transition:background .18s ease,transform .18s ease;
}
.rhigi-premium-gallery__arrow:hover{
  background:#ff5a00;
  transform:translateY(-50%) scale(1.05);
}
.rhigi-premium-gallery__arrow--prev{left:12px}
.rhigi-premium-gallery__arrow--next{right:12px}
.rhigi-premium-gallery__counter{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:4;
  padding:7px 11px;
  border-radius:999px;
  color:#fff;
  background:rgba(15,23,42,.75);
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(8px);
}
.rhigi-premium-gallery__swipe-hint{
  display:none;
  position:absolute;
  left:50%;
  bottom:13px;
  z-index:4;
  padding:7px 10px;
  border-radius:999px;
  color:#fff;
  background:rgba(15,23,42,.65);
  font-size:11px;
  font-weight:800;
  transform:translateX(-50%);
  backdrop-filter:blur(8px);
}
.rhigi-premium-gallery__thumbs{
  display:flex;
  gap:9px;
  overflow-x:auto;
  overflow-y:hidden;
  margin-top:11px;
  padding:2px 2px 8px;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.rhigi-premium-gallery__thumb{
  flex:0 0 78px;
  width:78px;
  height:78px;
  padding:2px;
  border:2px solid transparent;
  border-radius:13px;
  background:#fff;
  cursor:pointer;
  scroll-snap-align:center;
  opacity:.68;
  transition:border-color .18s ease,opacity .18s ease,transform .18s ease;
}
.rhigi-premium-gallery__thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:9px;
  pointer-events:none;
}
.rhigi-premium-gallery__thumb.is-active{
  border-color:#ff5a00;
  opacity:1;
  transform:scale(1.03);
}
.rhigi-gallery-lightbox[hidden]{display:none!important}
.rhigi-gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:2147483646;
}
.rhigi-gallery-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.92);
  backdrop-filter:blur(10px);
}
.rhigi-gallery-lightbox__dialog{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:60px 72px;
  box-sizing:border-box;
}
.rhigi-gallery-lightbox__image{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}
.rhigi-gallery-lightbox__close,
.rhigi-gallery-lightbox__arrow{
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.14);
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.rhigi-gallery-lightbox__close{
  right:18px;
  top:18px;
  width:48px;
  height:48px;
  font-size:32px;
}
.rhigi-gallery-lightbox__arrow{
  top:50%;
  width:52px;
  height:52px;
  font-size:38px;
  transform:translateY(-50%);
}
.rhigi-gallery-lightbox__arrow--prev{left:16px}
.rhigi-gallery-lightbox__arrow--next{right:16px}
.rhigi-gallery-lightbox__counter{
  position:absolute;
  left:50%;
  bottom:20px;
  z-index:2;
  padding:8px 13px;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.14);
  font-weight:900;
  transform:translateX(-50%);
}
.rhigi-gallery-lightbox-open{overflow:hidden!important}
@media(max-width:768px){
  .rhigi-premium-gallery{
    float:none;
    width:100%;
    margin:0 0 20px;
  }
  .rhigi-premium-gallery__stage{
    border-left:0;
    border-right:0;
    border-radius:0;
    box-shadow:none;
  }
  .rhigi-premium-gallery__zoom{
    min-height:360px;
  }
  .rhigi-premium-gallery__image{
    max-height:620px;
  }
  .rhigi-premium-gallery__arrow{
    width:40px;
    height:40px;
    font-size:30px;
    opacity:.82;
  }
  .rhigi-premium-gallery__arrow--prev{left:6px}
  .rhigi-premium-gallery__arrow--next{right:6px}
  .rhigi-premium-gallery__swipe-hint{display:block}
  .rhigi-premium-gallery__counter{right:8px}
  .rhigi-premium-gallery__thumbs{
    padding-left:8px;
    padding-right:8px;
  }
  .rhigi-premium-gallery__thumb{
    flex-basis:68px;
    width:68px;
    height:68px;
  }
  .rhigi-gallery-lightbox__dialog{
    padding:55px 8px;
  }
  .rhigi-gallery-lightbox__arrow{
    width:42px;
    height:42px;
    font-size:31px;
  }
  .rhigi-gallery-lightbox__arrow--prev{left:6px}
  .rhigi-gallery-lightbox__arrow--next{right:6px}
}
@media(max-width:420px){
  .rhigi-premium-gallery__zoom{min-height:330px}
}


/* Rhigi 7.1.1 — allow vertical page scrolling when touch starts on gallery */
.rhigi-premium-gallery,
.rhigi-premium-gallery__stage,
.rhigi-premium-gallery__viewport,
.rhigi-premium-gallery__slide,
.rhigi-premium-gallery__zoom{
  touch-action:pan-y pinch-zoom;
}
