/* Matjar product gallery — v1.1.1. Scoped to single-product to avoid changing cards, cart, and article images. */
.single-gallery .woocommerce-product-gallery {
  --matjar-gallery-height: clamp(300px, 35vw, 430px);
  --matjar-thumb-size: 64px;
  --matjar-thumb-gap: 8px;
  min-width: 0;
}
/* Native FlexSlider sometimes writes an inline measured height. Cap its viewport and every slide. */
.single-gallery .woocommerce-product-gallery .flex-viewport {
  height: var(--matjar-gallery-height) !important;
  max-height: var(--matjar-gallery-height) !important;
  overflow: hidden;
}
.single-gallery .woocommerce-product-gallery .woocommerce-product-gallery__image {
  height: var(--matjar-gallery-height) !important;
  max-height: var(--matjar-gallery-height);
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
}
.single-gallery .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.single-gallery .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: var(--matjar-gallery-height);
  object-fit: contain !important;
  object-position: center;
}
/* Without JavaScript, thumbnails still remain in one scrollable row. */
.single-gallery .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--matjar-thumb-gap);
  margin: 12px 0 0;
  padding: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  list-style: none;
}
.single-gallery .woocommerce-product-gallery .flex-control-thumbs li {
  float: none !important;
  display: block;
  flex: 0 0 var(--matjar-thumb-size) !important;
  width: var(--matjar-thumb-size) !important;
  min-width: 0;
  height: var(--matjar-thumb-size);
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 9px;
}
.single-gallery .woocommerce-product-gallery .flex-control-thumbs li img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  cursor: pointer;
  opacity: .72;
}
.single-gallery .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-gallery .woocommerce-product-gallery .flex-control-thumbs li img:focus-visible {
  opacity: 1;
}
.single-gallery .woocommerce-product-gallery .flex-control-thumbs li:has(.flex-active) {
  border-color: var(--orange, #c2410c);
}
.single-gallery .woocommerce-product-gallery .flex-control-thumbs li:focus-within {
  outline: 2px solid var(--orange, #c2410c);
  outline-offset: 2px;
}
/* JS enhancement: exactly 5 thumbnails visible, regardless of how many gallery images exist. */
.single-gallery .matjar-thumbs-carousel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  direction: ltr; /* stable physical left/right arrows in both languages */
  max-width: 100%;
  margin: 12px auto 0;
}
.single-gallery .matjar-thumbs-viewport {
  flex: 0 1 auto;
  min-width: 0;
  width: calc(5 * var(--matjar-thumb-size) + 4 * var(--matjar-thumb-gap));
  max-width: 100%;
  overflow: hidden;
}
.single-gallery .matjar-thumbs-carousel .flex-control-thumbs {
  direction: ltr;
  width: max-content;
  max-width: none;
  overflow: visible;
  margin: 0;
  transform: translate3d(0,0,0);
  transition: transform .22s ease;
  will-change: transform;
}
.single-gallery .matjar-thumbs-arrow {
  appearance: none;
  flex: 0 0 32px;
  width: 32px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 9px;
  background: white;
  color: var(--ink, #13203a);
  font: 700 24px/1 Arial, sans-serif;
  cursor: pointer;
  padding: 0;
}
.single-gallery .matjar-thumbs-arrow:hover:not(:disabled) {
  border-color: var(--orange, #c2410c);
  color: var(--orange, #c2410c);
}
.single-gallery .matjar-thumbs-arrow:focus-visible {
  outline: 2px solid var(--orange, #c2410c);
  outline-offset: 2px;
}
.single-gallery .matjar-thumbs-arrow:disabled {
  opacity: .3;
  cursor: default;
}
/* Fewer than 6 images: keep a neat row and omit the unused arrows. */
.single-gallery .matjar-thumbs-carousel:not(.has-overflow) .matjar-thumbs-arrow {
  display: none;
}
@media (max-width: 760px) {
  .single-gallery .woocommerce-product-gallery {
    --matjar-gallery-height: clamp(225px, 70vw, 310px);
    --matjar-thumb-size: clamp(32px, calc((100vw - 155px) / 5), 52px);
    --matjar-thumb-gap: 6px;
  }
  .single-gallery .matjar-thumbs-carousel { gap: 6px; margin-top: 9px; }
  .single-gallery .matjar-thumbs-arrow { flex-basis: 28px; width: 28px; height: 32px; font-size: 20px; }
  .single-gallery .woocommerce-product-gallery .flex-control-thumbs { margin-top: 9px; }
  .single-gallery .matjar-thumbs-carousel .flex-control-thumbs { margin-top: 0; }
}
@media (max-width: 340px) {
  .single-gallery .matjar-thumbs-carousel { gap: 4px; }
  .single-gallery .matjar-thumbs-arrow { flex-basis: 24px; width: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .single-gallery .matjar-thumbs-carousel .flex-control-thumbs { transition: none; }
}
