[data-product-gallery] { position: relative; }
[data-product-gallery][data-gallery-count]:not([data-gallery-count="1"]) { touch-action: pan-y pinch-zoom; }
[data-product-gallery] img { -webkit-user-drag: none; user-select: none; }
.product-visual { min-width: 0; }
.product-visual .product-photo-link { display: block; width: 100%; height: 100%; }
.product-visual .product-photo-link > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-visual .product-history-link { display: block; color: inherit; text-decoration: none; }
.theme-v2 .card > .price-sparkline { order: 1; flex-shrink: 0; }
[data-product-gallery]:focus-visible,
a:focus-visible [data-product-gallery] { outline: 3px solid #f41451; outline-offset: 3px; }
.gallery-photo-dots { position: absolute; bottom: 8px; left: 0; right: 0; display: flex; justify-content: center; gap: 4px; pointer-events: none; }
.gallery-photo-dots i { width: 6px; height: 6px; background: #c5c5ca; border-radius: 50%; }
.gallery-photo-dots i.on { background: #202126; }
[data-product-gallery] [hidden] { display: none !important; }
.gallery-photo-unavailable { position: absolute; inset: 0; display: grid; place-items: center; background: #f8f7f3; color: #74747b; font-size: 12px; text-align: center; pointer-events: none; padding: 12px; }
[data-product-gallery] img.gallery-photo-failed { visibility: hidden; }
.gallery-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 560px) {
  .product-visual .price-sparkline { padding: 4px 3px; }
  .product-visual .price-sparkline svg { height: 22px; }
  .product-visual .spark-summary { gap: 2px; flex-wrap: wrap; font-size: 10px; line-height: 12px; }
  .product-visual .spark-dates { white-space: normal; font-size: 9px; line-height: 10px; letter-spacing: -.2px; }
}
