/* Base */
.oxsg[data-mh-gallery]{ width:100% !important; }

/* MAIN slider */
.oxsg[data-mh-gallery] .oxsg__main{
  position: relative !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #f3f3f3 !important;
}
.oxsg[data-mh-gallery] .oxsg__stage{
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: pan-y !important;
  background: #f3f3f3 !important;
}
.oxsg[data-mh-gallery] .oxsg__track{
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  transition: transform .36s cubic-bezier(.2,.8,.2,1) !important;
  will-change: transform !important;
}
.oxsg[data-mh-gallery] .oxsg__slide{
  flex: 0 0 100% !important;
  height: 100% !important;
  position: relative !important;
  background: #f3f3f3 !important;
}
.oxsg[data-mh-gallery] .oxsg__img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  -webkit-user-drag: none !important;
}

/* Video contain */
.oxsg[data-mh-gallery] .oxsg__mediaBox{
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  background: #f3f3f3 !important;
}
.oxsg[data-mh-gallery] .oxsg__video,
.oxsg[data-mh-gallery] .oxsg__iframe{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}
.oxsg[data-mh-gallery] .oxsg__video{ object-fit: contain !important; }

/* Arrows */
.oxsg[data-mh-gallery] .oxsg__arrow{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  z-index: 50 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: #111 !important;
}
.oxsg[data-mh-gallery] .oxsg__arrow--prev{ left: 10px !important; }
.oxsg[data-mh-gallery] .oxsg__arrow--next{ right: 10px !important; }

/* Thumbs */
.oxsg[data-mh-gallery] .oxsg__thumbs{ margin-top: 12px !important; overflow: hidden !important; }
.oxsg[data-mh-gallery] .oxsg__thumbTrack{
  display:flex !important;
  gap:10px !important;
  overflow-x:auto !important;
  padding:2px 2px 10px 2px !important;
  scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch !important;
}
.oxsg[data-mh-gallery] .oxsg__thumbBtn{
  position:relative !important;
  border:1px solid rgba(0,0,0,.10) !important;
  background:#fff !important;
  border-radius:12px !important;
  padding:0 !important;
  width:74px !important; height:74px !important;
  flex:0 0 auto !important;
  overflow:hidden !important;
  cursor:pointer !important;
  opacity:.85 !important;
  transition: opacity .15s ease, border-color .15s ease !important;
}
.oxsg[data-mh-gallery] .oxsg__thumbBtn.is-active{
  border-color: rgba(0,0,0,.75) !important;
  opacity:1 !important;
}
.oxsg[data-mh-gallery] .oxsg__thumbImg{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  -webkit-user-drag:none !important;
}
.oxsg[data-mh-gallery] .oxsg__thumbFallback{
  display:block !important;
  width:100% !important;
  height:100% !important;
  background: linear-gradient(135deg, rgba(0,0,0,.15), rgba(0,0,0,.05)) !important;
}
.oxsg[data-mh-gallery] .oxsg__playBadge{
  position:absolute !important;
  left:8px !important;
  bottom:8px !important;
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  background: rgba(0,0,0,.70) !important;
  color:#fff !important;
  display:grid !important;
  place-items:center !important;
  font-size:12px !important;
}

/* KP thumb collage */
.oxsg[data-mh-gallery] .oxsg__kpCollage{
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 2px !important;
  background: rgba(0,0,0,.05) !important;
}
.oxsg[data-mh-gallery] .oxsg__kpCollageCell{
  background-size: cover !important;
  background-position: center !important;
}
.oxsg[data-mh-gallery] .oxsg__kpCollageOne{
  grid-column: 1 / -1 !important;
  grid-row: 1 / -1 !important;
  background-size: cover !important;
  background-position: center !important;
}
.oxsg[data-mh-gallery] .oxsg__kpBadge{
  position: absolute !important;
  left: 8px !important;
  bottom: 8px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.70) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
}

/* KP Slide (main): centered card */
.oxsg[data-mh-gallery] .oxsg__refSlide{
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px 56px !important;
}
.oxsg[data-mh-gallery] .oxsg__refCard{
  width: min(520px, 86%) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.10) !important;
  padding: 18px !important;
  text-align: left !important;
}
.oxsg[data-mh-gallery] .oxsg__refTitle{
  font-weight: 800 !important;
  font-size: 18px !important;
  margin-bottom: 6px !important;
  color: #111 !important;
}
.oxsg[data-mh-gallery] .oxsg__refText{
  opacity: .9 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin-bottom: 12px !important;
  color: #111 !important;
}
.oxsg[data-mh-gallery] .oxsg__refBtn{
  border: 0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  background: #111 !important;
  color: #fff !important;
}

/* Avatars + Logo */
.oxsg[data-mh-gallery] .oxsg__kpAvatars{
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
  align-items: center !important;
}
.oxsg[data-mh-gallery] .oxsg__kpAvatar{
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background-size: cover !important;
  background-position: center !important;
  border: 2px solid rgba(0,0,0,.10) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.10) !important;
}
.oxsg[data-mh-gallery] .oxsg__kpAvatar--ph{
  background: linear-gradient(135deg, rgba(0,0,0,.06), rgba(0,0,0,.03)) !important;
  border-color: rgba(0,0,0,.08) !important;
  box-shadow: none !important;
}
.oxsg[data-mh-gallery] .oxsg__kpLogo{
  border: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* LIGHTBOX */
.oxsg[data-mh-gallery] .oxsg__lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:none !important;
}
.oxsg[data-mh-gallery] .oxsg__lightbox.is-open{ display:block !important; }
.oxsg[data-mh-gallery] .oxsg__lbBackdrop{
  position:absolute !important;
  inset:0 !important;
  background: rgba(0,0,0,.78) !important;
}
.oxsg[data-mh-gallery] .oxsg__lbInner{
  position:absolute !important;
  inset:0 !important;
  display:grid !important;
  grid-template-rows: 1fr auto !important;
}
.oxsg[data-mh-gallery] .oxsg__lbClose{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-size:28px !important;
  cursor:pointer !important;
  z-index:100 !important;
}
.oxsg[data-mh-gallery] .oxsg__lbStage{
  position: relative !important;
  overflow: hidden !important;
  cursor: grab !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  touch-action: pan-y !important;
  height: calc(100vh - 140px) !important;
  padding: 60px 12px 12px 12px !important;
}
.oxsg[data-mh-gallery] .oxsg__lbTrack{
  position:absolute !important;
  left:0 !important; right:0 !important;
  top:60px !important; bottom:12px !important;
  display:flex !important;
  transition: transform .36s cubic-bezier(.2,.8,.2,1) !important;
  will-change: transform !important;
}
.oxsg[data-mh-gallery] .oxsg__lbSlide{
  flex: 0 0 100% !important;
  height: 100% !important;
  position: relative !important;
}
.oxsg[data-mh-gallery] .oxsg__lbMediaBox{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background: rgba(255,255,255,.06) !important;
  border-radius: 14px !important;
  overflow:hidden !important;
}
.oxsg[data-mh-gallery] .oxsg__lbImg{
  width:auto !important;
  height:auto !important;
  max-width: min(1100px, 92vw) !important;
  max-height: 78vh !important;
  object-fit: contain !important;
  display:block !important;
}
.oxsg[data-mh-gallery] .oxsg__video--lb,
.oxsg[data-mh-gallery] .oxsg__iframe--lb{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.oxsg[data-mh-gallery] .oxsg__video--lb{ object-fit: contain !important; }

/* Lightbox arrows */
.oxsg[data-mh-gallery] .oxsg__lightbox .oxsg__arrow{
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.22) !important;
  color:#fff !important;
}

/* Lightbox thumbs row */
.oxsg[data-mh-gallery] .oxsg__lbThumbs{
  padding: 10px 10px 16px 10px !important;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)) !important;
}
.oxsg[data-mh-gallery] .oxsg__lbThumbs .oxsg__thumbBtn{
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.06) !important;
}
.oxsg[data-mh-gallery] .oxsg__lbThumbs .oxsg__thumbBtn.is-active{
  border-color: rgba(255,255,255,.85) !important;
}

/* Lightbox KP: white card, centered, dark text */
.oxsg[data-mh-gallery] .oxsg__lbMediaBox--kp{
  pointer-events: none !important;
  background: transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.oxsg[data-mh-gallery] .oxsg__lbMediaBox--kp .oxsg__refCard,
.oxsg[data-mh-gallery] .oxsg__lbMediaBox--kp .oxsg__refCard *{
  pointer-events: auto !important;
}
.oxsg[data-mh-gallery] .oxsg__refCard--kpLight{
  background: rgba(255,255,255,.95) !important;
  color: #111 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.25) !important;
}

/* Mobile lightbox fix */
@media (max-width: 768px){
  .oxsg[data-mh-gallery] .oxsg__lbStage{
    height: 100dvh !important;
    padding: 64px 10px 110px 10px !important;
  }
  .oxsg[data-mh-gallery] .oxsg__lbTrack{
    inset: 64px 10px 110px 10px !important;
  }
  .oxsg[data-mh-gallery] .oxsg__lbImg{
    max-width: 92vw !important;
    max-height: 70dvh !important;
  }
  .oxsg[data-mh-gallery] .oxsg__lbThumbs{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 120 !important;
  }
}
