/* Mount Zion Galleries v2 — isolated fullscreen gallery */
html.mzg-gallery-open,
body.mzg-gallery-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

#mzg-gallery-root,
#mzg-gallery-root *,
#mzg-gallery-root *::before,
#mzg-gallery-root *::after {
  box-sizing: border-box !important;
}

#mzg-gallery-root[hidden],
#mzg-gallery-root [hidden] {
  display: none !important;
}

#mzg-gallery-root {
  --mzg-gold: #d8b45b;
  --mzg-gold-soft: #f0d17a;
  --mzg-gold-dark: #a87921;
  --mzg-rose: #b02758;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: block !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  color: #fff !important;
  font-family: Inter, Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.4 !important;
  transition: opacity .28s ease, visibility .28s ease !important;
  isolation: isolate !important;
}

#mzg-gallery-root.is-open {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#mzg-gallery-root .mzg-modal__backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(216, 180, 91, .11), transparent 31%),
    radial-gradient(circle at 90% 86%, rgba(176, 39, 88, .13), transparent 34%),
    linear-gradient(150deg, #050607 0%, #000 52%, #090704 100%) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

#mzg-gallery-root .mzg-modal__shell {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  outline: none !important;
}

#mzg-gallery-root .mzg-modal__shell::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px) !important;
  background-size: 42px 42px !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.58), transparent 74%) !important;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.58), transparent 74%) !important;
}

#mzg-gallery-root button {
  appearance: none !important;
  -webkit-appearance: none !important;
  font: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

#mzg-gallery-root .mzg-modal__header {
  position: absolute !important;
  top: max(22px, env(safe-area-inset-top)) !important;
  left: 50% !important;
  z-index: 60 !important;
  width: min(760px, calc(100vw - 180px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  pointer-events: none !important;
}

#mzg-gallery-root .mzg-modal__brand {
  margin: 0 0 6px !important;
  color: var(--mzg-gold) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
}

#mzg-gallery-root .mzg-modal__title {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(30px, 3.2vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
  text-shadow: 0 14px 46px rgba(0,0,0,.7) !important;
}

#mzg-gallery-root .mzg-modal__counter {
  margin: 8px 0 0 !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}

#mzg-gallery-root .mzg-modal__close {
  position: absolute !important;
  top: max(20px, env(safe-area-inset-top)) !important;
  right: max(22px, env(safe-area-inset-right)) !important;
  z-index: 80 !important;
  display: grid !important;
  width: 54px !important;
  height: 54px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(216,180,91,.56) !important;
  border-radius: 16px !important;
  background: rgba(10,11,12,.72) !important;
  color: var(--mzg-gold-soft) !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  cursor: pointer !important;
  transition: transform .2s ease, background .2s ease, color .2s ease !important;
}

#mzg-gallery-root .mzg-modal__close span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font: 300 34px/1 Arial, sans-serif !important;
  transform: translateY(-1px) !important;
}

#mzg-gallery-root .mzg-modal__close:hover,
#mzg-gallery-root .mzg-modal__close:focus-visible {
  background: var(--mzg-gold) !important;
  color: #050505 !important;
  transform: scale(1.045) !important;
  outline: none !important;
}

#mzg-gallery-root .mzg-modal__content {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#mzg-gallery-root .mzg-gallery-loader,
#mzg-gallery-root .mzg-gallery-error {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 40 !important;
  width: min(520px, calc(100vw - 40px)) !important;
  margin: 0 !important;
  padding: 28px 30px !important;
  border: 1px solid rgba(216,180,91,.30) !important;
  border-radius: 22px !important;
  background: rgba(15,16,18,.90) !important;
  color: rgba(255,255,255,.82) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.52) !important;
  transform: translate(-50%, -50%) !important;
  text-align: center !important;
  font-size: 15px !important;
}

#mzg-gallery-root .mzg-gallery-loader::before {
  content: "" !important;
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 auto 14px !important;
  border: 3px solid rgba(255,255,255,.16) !important;
  border-top-color: var(--mzg-gold) !important;
  border-radius: 50% !important;
  animation: mzg-spin .8s linear infinite !important;
}

@keyframes mzg-spin {
  to { transform: rotate(360deg); }
}

#mzg-gallery-root .mzg-gallery-stage {
  --mzg-frame-width: 900px;
  --mzg-frame-height: 620px;
  --mzg-shift-prev: -760px;
  --mzg-shift-next: 760px;
  --mzg-side-scale: .83;
  position: absolute !important;
  inset: 118px 0 60px !important;
  z-index: 10 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  perspective: 1600px !important;
  perspective-origin: 50% 50% !important;
  touch-action: pan-y !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  contain: layout paint !important;
}

#mzg-gallery-root .mzg-gallery-slides {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform-style: preserve-3d !important;
}

#mzg-gallery-root .mzg-gallery-slide {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 1 !important;
  width: var(--mzg-frame-width) !important;
  height: var(--mzg-frame-height) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(216,180,91,.32) !important;
  border-radius: 26px !important;
  background: #070809 !important;
  box-shadow: 0 38px 120px rgba(0,0,0,.68) !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(.72) !important;
  transform-origin: center center !important;
  pointer-events: none !important;
  cursor: pointer !important;
  isolation: isolate !important;
  transition:
    width .42s cubic-bezier(.22,.75,.24,1),
    height .42s cubic-bezier(.22,.75,.24,1),
    transform .58s cubic-bezier(.22,.75,.24,1),
    opacity .38s ease,
    filter .38s ease,
    border-color .38s ease,
    box-shadow .38s ease !important;
  will-change: width, height, transform, opacity !important;
}

#mzg-gallery-root .mzg-gallery-slide::before {
  content: "" !important;
  position: absolute !important;
  inset: -26px !important;
  z-index: -2 !important;
  background-image: var(--mzg-bg) !important;
  background-position: center !important;
  background-size: cover !important;
  filter: blur(28px) saturate(.75) brightness(.42) !important;
  opacity: .58 !important;
  transform: scale(1.09) !important;
}

#mzg-gallery-root .mzg-gallery-slide::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(216,180,91,.035), transparent 36%, rgba(0,0,0,.16)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035) !important;
}

#mzg-gallery-root .mzg-gallery-slide img {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

#mzg-gallery-root .mzg-gallery-slide.is-active {
  z-index: 20 !important;
  opacity: 1 !important;
  transform: translate(-50%, -50%) translate3d(0,0,0) scale(1) rotateY(0deg) !important;
  border-color: rgba(216,180,91,.66) !important;
  box-shadow: 0 42px 135px rgba(0,0,0,.76), 0 0 52px rgba(216,180,91,.12) !important;
  pointer-events: auto !important;
  filter: none !important;
}

#mzg-gallery-root .mzg-gallery-slide.is-prev {
  z-index: 9 !important;
  opacity: .64 !important;
  transform: translate(-50%, -50%) translate3d(var(--mzg-shift-prev),0,-40px) scale(var(--mzg-side-scale)) rotateY(8deg) !important;
  filter: saturate(.72) brightness(.62) !important;
  pointer-events: auto !important;
}

#mzg-gallery-root .mzg-gallery-slide.is-next {
  z-index: 9 !important;
  opacity: .64 !important;
  transform: translate(-50%, -50%) translate3d(var(--mzg-shift-next),0,-40px) scale(var(--mzg-side-scale)) rotateY(-8deg) !important;
  filter: saturate(.72) brightness(.62) !important;
  pointer-events: auto !important;
}

#mzg-gallery-root .mzg-gallery-slide.is-prev:hover,
#mzg-gallery-root .mzg-gallery-slide.is-next:hover {
  opacity: .78 !important;
  filter: saturate(.88) brightness(.78) !important;
}

#mzg-gallery-root .mzg-gallery-slide.is-far {
  z-index: 1 !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(.62) !important;
  pointer-events: none !important;
}

#mzg-gallery-root .mzg-gallery-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 50 !important;
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--mzg-gold-soft), var(--mzg-gold)) !important;
  color: #050505 !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.50), 0 0 34px rgba(216,180,91,.22) !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  transition: transform .2s ease, filter .2s ease !important;
}

#mzg-gallery-root .mzg-gallery-arrow span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font: 300 44px/1 Arial, sans-serif !important;
  transform: translateY(-2px) !important;
}

#mzg-gallery-root .mzg-gallery-arrow:hover,
#mzg-gallery-root .mzg-gallery-arrow:focus-visible {
  transform: translateY(-50%) scale(1.075) !important;
  filter: brightness(1.07) !important;
  outline: none !important;
}

#mzg-gallery-root .mzg-gallery-arrow--prev {
  left: max(14px, 2vw) !important;
}

#mzg-gallery-root .mzg-gallery-arrow--next {
  right: max(14px, 2vw) !important;
}

#mzg-gallery-root .mzg-gallery-hint {
  position: absolute !important;
  left: 50% !important;
  bottom: 4px !important;
  z-index: 45 !important;
  display: none !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.46) !important;
  color: rgba(255,255,255,.68) !important;
  transform: translateX(-50%) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

#mzg-gallery-root .mzg-gallery-caption {
  position: absolute !important;
  left: 50% !important;
  bottom: max(16px, env(safe-area-inset-bottom)) !important;
  z-index: 55 !important;
  width: min(760px, calc(100vw - 150px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255,255,255,.72) !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-shadow: 0 4px 18px rgba(0,0,0,.72) !important;
}

@media (max-width: 1100px) {
  #mzg-gallery-root .mzg-modal__header {
    top: max(18px, env(safe-area-inset-top)) !important;
    width: calc(100vw - 128px) !important;
  }

  #mzg-gallery-root .mzg-modal__brand {
    font-size: 9px !important;
  }

  #mzg-gallery-root .mzg-modal__title {
    font-size: clamp(27px, 5vw, 39px) !important;
  }

  #mzg-gallery-root .mzg-modal__counter {
    margin-top: 6px !important;
    font-size: 11px !important;
  }

  #mzg-gallery-root .mzg-modal__close {
    top: max(14px, env(safe-area-inset-top)) !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 13px !important;
  }

  #mzg-gallery-root .mzg-gallery-stage {
    inset: 98px 0 48px !important;
  }

  #mzg-gallery-root .mzg-gallery-slide {
    border-radius: 21px !important;
  }

  #mzg-gallery-root .mzg-gallery-arrow {
    width: 48px !important;
    height: 48px !important;
  }

  #mzg-gallery-root .mzg-gallery-arrow span {
    font-size: 38px !important;
  }

  #mzg-gallery-root .mzg-gallery-caption {
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: calc(100vw - 90px) !important;
    font-size: 12px !important;
  }
}

@media (max-width: 767px) {
  #mzg-gallery-root .mzg-modal__header {
    top: max(16px, env(safe-area-inset-top)) !important;
    width: calc(100vw - 106px) !important;
  }

  #mzg-gallery-root .mzg-modal__brand {
    margin-bottom: 5px !important;
    font-size: 8px !important;
    letter-spacing: .21em !important;
  }

  #mzg-gallery-root .mzg-modal__title {
    font-size: clamp(25px, 8vw, 34px) !important;
  }

  #mzg-gallery-root .mzg-modal__close {
    width: 44px !important;
    height: 44px !important;
  }

  #mzg-gallery-root .mzg-gallery-stage {
    inset: 92px 0 42px !important;
  }

  #mzg-gallery-root .mzg-gallery-slide {
    border-radius: 17px !important;
  }

  #mzg-gallery-root .mzg-gallery-arrow {
    width: 43px !important;
    height: 43px !important;
    background: rgba(8,9,10,.84) !important;
    color: var(--mzg-gold-soft) !important;
    border-color: rgba(216,180,91,.52) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.55) !important;
  }

  #mzg-gallery-root .mzg-gallery-arrow span {
    font-size: 34px !important;
  }

  #mzg-gallery-root .mzg-gallery-arrow--prev {
    left: 7px !important;
  }

  #mzg-gallery-root .mzg-gallery-arrow--next {
    right: 7px !important;
  }

  #mzg-gallery-root .mzg-gallery-hint {
    display: block !important;
  }

  #mzg-gallery-root .mzg-gallery-caption {
    display: none !important;
  }
}

@media (max-width: 420px) {
  #mzg-gallery-root .mzg-modal__header {
    width: calc(100vw - 98px) !important;
  }

  #mzg-gallery-root .mzg-modal__title {
    font-size: 27px !important;
  }

  #mzg-gallery-root .mzg-gallery-arrow {
    width: 40px !important;
    height: 40px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #mzg-gallery-root,
  #mzg-gallery-root .mzg-gallery-slide,
  #mzg-gallery-root .mzg-gallery-arrow,
  #mzg-gallery-root .mzg-modal__close {
    transition: none !important;
    animation: none !important;
  }
}
