  .product-gallery { min-width: 0; }
  .gallery-track { display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
  .gallery-track::-webkit-scrollbar { display: none; }
  .gallery-slide { flex: 0 0 100%; min-width: 0; aspect-ratio: 1; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; background: var(--color-surface, #f7f7f8); }
  .gallery-slide img { width: 100%; height: 100%; object-fit: contain; }
  .gallery-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; }
  .gallery-counter { color: #6b6b6b; font-size: 13px; font-variant-numeric: tabular-nums; }
  .gallery-arrows { display: flex; gap: 4px; }
  .gallery-arrows .icon-button { width: 38px; height: 38px; }
  .gallery-arrows .icon-button:hover:not(:disabled) { background: var(--color-surface, #f7f7f8); color: var(--color-accent); }
  .gallery-thumbnails { position: relative; display: flex; gap: 12px; overflow-x: auto; padding: 4px; margin: -4px; scrollbar-width: thin; }
  .gallery-thumbnail { display: block; flex: 0 0 80px; width: 80px; height: 80px; border: 2px solid transparent; padding: 3px; background: var(--color-surface, #f7f7f8); }
  .gallery-thumbnail[aria-current="true"] { border-color: var(--color-accent); }
  .gallery-thumbnail:hover { border-color: var(--color-lavender); }
  .gallery-thumbnail img { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 640px) {
    .gallery-thumbnail { flex-basis: 64px; width: 64px; height: 64px; }
    .gallery-thumbnails { gap: 9px; }
}
