.product-mobile-gallery,
.product-mobile-controls { display: none; }

@media (max-width: 760px) {
  .shop-page .product-gallery { padding: 16px 20px; }
  .shop-page .product-gallery .product-zoom img,
  .product-mobile-slide img {
    height: clamp(260px, 52svh, 400px);
    aspect-ratio: auto;
    object-fit: contain;
  }
  .product-gallery.has-mobile-gallery > .product-zoom,
  .product-gallery.has-mobile-gallery .product-gallery-thumbs,
  .product-gallery.has-mobile-gallery .product-caption > [aria-hidden="true"] { display: none; }

  .product-gallery.has-mobile-gallery { min-width: 0; padding-bottom: 16px; }
  .product-mobile-gallery {
    display: flex;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .product-mobile-gallery::-webkit-scrollbar { display: none; }
  .product-mobile-slide {
    flex: 0 0 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .product-mobile-slide img { display: block; width: 100%; }
  .product-gallery.has-mobile-gallery .product-caption { align-items: center; gap: 12px; margin-top: 8px; min-height: 44px; }
  .product-gallery.has-mobile-gallery [data-gallery-caption] { min-width: 0; }
  .product-mobile-controls { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; }
  .product-mobile-controls[hidden] { display: none; }
  .product-mobile-controls button { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: 20px; }
  .product-mobile-controls > span { min-width: 38px; text-align: center; font-size: 12px; white-space: nowrap; }
  .product-mobile-gallery:focus-visible,
  .product-mobile-slide:focus-visible,
  .product-mobile-controls button:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
}
