.zz-pdp-gallery-zoom {
    position: fixed;
    z-index: 9998;
    overflow: hidden;
    background: transparent;
    touch-action: none;
    contain: layout paint style;
    cursor: zoom-out;
}

.zz-pdp-gallery-zoom__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transform-origin: 50% 50%;
    transition:
        opacity 160ms cubic-bezier(0.2, 0, 0, 1),
        transform 160ms cubic-bezier(0.2, 0, 0, 1);
    user-select: none;
    -webkit-user-drag: none;
    will-change: transform, opacity;
}

.zz-pdp-gallery-zoom--ready .zz-pdp-gallery-zoom__image {
    opacity: 1;
}

.zz-pdp-gallery-zoom--panning .zz-pdp-gallery-zoom__image {
    transition: none;
    cursor: grabbing;
}

@media (prefers-reduced-motion: reduce) {
    .zz-pdp-gallery-zoom__image {
        transition-duration: 0ms;
    }
}
