/* Shop-only trial: indicators sit beneath the image, never across the product. */
.gv-card-gallery-ready .product-thumbnail { position: relative; overflow: hidden; touch-action: pan-y pinch-zoom; }
.gv-card-is-dragging .product-thumbnail > img,
.gv-card-is-dragging .gv-card-gallery-layer > img { will-change: transform; }
.gv-card-gallery-layer { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.gv-card-gallery-ready .product-thumbnail > img,
.gv-card-gallery-layer > img { transition: transform 280ms ease-in-out; }
.gv-card-gallery-layer > img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: contain; background: #fff; transform: translateX(100%);
    visibility: hidden; pointer-events: none;
}
.gv-card-gallery-ready .onsale { z-index: 2; }
.gv-card-gallery-controls { display: none; }
.gv-card-gallery-ready .gv-card-gallery-controls {
    display: flex; position: relative; justify-content: center; align-items: center;
    width: fit-content; height: 24px; margin: 0 auto; padding: 0;
    background: none; border: 0; box-shadow: none;
}
/* Small visible marks, with separate 24px targets for mouse, touch and keyboard. */
.gv-card-gallery-controls button.gv-card-gallery-dot,
.gv-card-gallery-controls button.gv-card-gallery-dot:hover,
.gv-card-gallery-controls button.gv-card-gallery-dot:focus,
.gv-card-gallery-controls button.gv-card-gallery-dot:active {
    display: flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; min-width: 24px; padding: 0; margin: 0;
    border: 0; border-radius: 3px; background: transparent !important;
    box-shadow: none !important; cursor: pointer;
}
.gv-card-gallery-dot > span { display: block; width: 4px; height: 4px; border-radius: 50%; background: #767676; }
.gv-card-gallery-dot[aria-pressed="true"] > span { width: 12px; height: 3px; border-radius: 2px; background: #bd6500; }
.electro-dark .gv-card-gallery-dot > span { background: #a6a6a6; }
.electro-dark .gv-card-gallery-dot[aria-pressed="true"] > span { background: #ffa51e; }
.gv-card-gallery-controls button.gv-card-gallery-dot:focus-visible { outline: 2px solid #bd6500; outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) {
    .gv-card-gallery-ready .product-thumbnail > img,
    .gv-card-gallery-layer > img { transition: none; }
}
