/* Multishop BD Unified Product Zoom 1.1.0 */
/* Unified no-jQuery product image viewer: identical on image-only and mixed
   image/video products. Full-size images are fetched only after interaction. */
html.rivrun-product-zoom-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
body.single-product :is(.wp-block-woocommerce-product-gallery,.wc-block-product-gallery,.woocommerce-product-gallery):not(.rivrun-gv-ready) :is(.wp-block-woocommerce-product-gallery-large-image,.wc-block-product-gallery-large-image,.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image) img {
  cursor: zoom-in;
  transition: transform .2s ease;
  transform-origin: 50% 50%;
}
@media (hover: hover) and (pointer: fine) {
  body.single-product :is(.wp-block-woocommerce-product-gallery,.wc-block-product-gallery,.woocommerce-product-gallery):not(.rivrun-gv-ready) :is(.wp-block-woocommerce-product-gallery-large-image,.wc-block-product-gallery-large-image,.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image) img:hover {
    transform: scale(1.035);
  }
}
.rivrun-product-zoom {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  grid-template-columns: minmax(52px,7vw) minmax(0,1fr) minmax(52px,7vw);
  grid-template-rows: auto minmax(0,1fr) auto;
  align-items: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  background: rgba(7,8,10,.96);
  color: #fff;
  isolation: isolate;
  overscroll-behavior: contain;
}
.rivrun-product-zoom__toolbar {
  grid-column: 1 / -1;
  grid-row: 1;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 0 2px 8px;
}
.rivrun-product-zoom__counter {
  min-width: 44px;
  color: rgba(255,255,255,.78);
  font: 600 13px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing: .04em;
}
.rivrun-product-zoom__tools {
  display: flex;
  align-items: center;
  gap: 7px;
}
.rivrun-product-zoom__tools button,
.rivrun-product-zoom__nav {
  appearance: none;
  display: grid;
  place-items: center;
  min-width: 40px;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  box-shadow: none;
  font: 600 19px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .16s ease,border-color .16s ease,transform .16s ease;
}
.rivrun-product-zoom__tools button:hover,
.rivrun-product-zoom__tools button:focus-visible,
.rivrun-product-zoom__nav:hover,
.rivrun-product-zoom__nav:focus-visible {
  border-color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.17);
  outline: 2px solid transparent;
}
.rivrun-product-zoom__tools button:active,
.rivrun-product-zoom__nav:active { transform: scale(.95); }
.rivrun-product-zoom__tools [data-rivrun-zoom-reset] {
  width: auto;
  min-width: 46px;
  padding-inline: 8px;
  font-size: 12px;
}
.rivrun-product-zoom__close {
  margin-left: 3px !important;
  font-size: 29px !important;
  font-weight: 400 !important;
}
.rivrun-product-zoom__stage {
  grid-column: 2;
  grid-row: 2;
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  touch-action: none;
  cursor: zoom-in;
  user-select: none;
  -webkit-user-select: none;
  contain: layout paint;
}
.rivrun-product-zoom[data-zoomed="1"] .rivrun-product-zoom__stage { cursor: grab; }
.rivrun-product-zoom[data-zoomed="1"] .rivrun-product-zoom__stage:active { cursor: grabbing; }
html body .rivrun-product-zoom .rivrun-product-zoom__stage > .rivrun-product-zoom__image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform-origin: 50% 50%;
  will-change: transform;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  backface-visibility: hidden;
}
.rivrun-product-zoom__nav {
  grid-row: 2;
  align-self: center;
  z-index: 4;
  width: 48px;
  height: 48px;
  font-size: 38px;
  font-weight: 300;
}
.rivrun-product-zoom__nav--prev { grid-column: 1; justify-self: start; }
.rivrun-product-zoom__nav--next { grid-column: 3; justify-self: end; }
.rivrun-product-zoom__caption {
  grid-column: 1 / -1;
  grid-row: 3;
  max-width: min(900px,92vw);
  margin: 8px auto 0;
  color: rgba(255,255,255,.76);
  text-align: center;
  font: 400 13px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
@media (max-width: 782px) {
  .rivrun-product-zoom {
    grid-template-columns: 44px minmax(0,1fr) 44px;
    padding: max(8px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
  }
  .rivrun-product-zoom__toolbar { min-height: 44px; padding-bottom: 5px; }
  .rivrun-product-zoom__tools { gap: 5px; }
  .rivrun-product-zoom__tools button { width: 37px; height: 37px; min-width: 37px; }
  .rivrun-product-zoom__tools [data-rivrun-zoom-reset] { min-width: 42px; }
  .rivrun-product-zoom__nav { width: 40px; height: 40px; font-size: 32px; }
  .rivrun-product-zoom__caption { margin-top: 5px; font-size: 12px; }
}
@media (max-width: 430px) {
  .rivrun-product-zoom__tools [data-rivrun-zoom-out],
  .rivrun-product-zoom__tools [data-rivrun-zoom-reset],
  .rivrun-product-zoom__tools [data-rivrun-zoom-in] { display: none; }
  .rivrun-product-zoom__counter { padding-left: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .rivrun-product-zoom__tools button,
  .rivrun-product-zoom__nav { transition: none; }
}
