/* Tikoco 0.9.42 — one-source product gallery ------------------------------ */

/* Tikoco intentionally provides no full-screen/lightbox interaction. */
.single-product .woocommerce-product-gallery__trigger,
.single-product .woocommerce-product-gallery .zoomImg {
  display: none !important;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__image {
  background: #fff;
}

/* The whole product card is the zoom viewport. The real image itself is
   transformed in place; there is no duplicate/overlay image. */
.single-product .woocommerce-product-gallery__image > a {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  cursor: default;
  -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
  .single-product .woocommerce-product-gallery__image > a {
    cursor: zoom-in;
  }
}

.single-product .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
  position: relative;
  z-index: 1;
  transform: scale(1);
  transform-origin: 50% 50%;
  backface-visibility: hidden;
  will-change: transform, transform-origin;
  image-rendering: auto;
  transition: transform 190ms cubic-bezier(.2,.7,.2,1);
}

.single-product .woocommerce-product-gallery__image > a[data-tk-zooming="true"] > img:not(.zoomImg) {
  transition-duration: 150ms;
}

/* Thumbnail rail: use the exact same attachment URL as the corresponding
   large image. CSS only scales it visually; it does not request another file. */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  align-items: stretch;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  position: relative;
  min-width: 0;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1;
  padding: 8px;
  object-fit: contain;
  opacity: .96 !important;
  image-rendering: auto;
  transform: translateZ(0);
  transition: opacity 180ms ease, transform 180ms ease, filter 180ms ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
  opacity: 1 !important;
  transform: scale(1.018);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  opacity: 1 !important;
  box-shadow: inset 0 0 0 2px rgba(16, 49, 120, .22);
}

@media (prefers-reduced-motion: reduce) {
  .single-product .woocommerce-product-gallery__image > a > img:not(.zoomImg),
  .single-product .woocommerce-product-gallery .flex-control-thumbs li,
  .single-product .woocommerce-product-gallery .flex-control-thumbs img {
    transition: none !important;
  }
}
