.woocommerce div.product div.images.wxz-product-gallery,
.wxz-product-gallery {
    --wxz-pg-visible: var(--wxz-pg-visible-desktop, 3);
    --wxz-pg-thumb-size: var(--wxz-pg-thumb-size-desktop, 76px);
    direction: ltr;
    box-sizing: border-box;
    position: relative;
}

.woocommerce div.product div.images.wxz-product-gallery {
    opacity: 1 !important;
}

.wxz-product-gallery *,
.wxz-product-gallery *::before,
.wxz-product-gallery *::after {
    box-sizing: border-box;
}

.wxz-pg-inner {
    display: flex;
    gap: var(--wxz-pg-gap, 10px);
    align-items: stretch;
    width: 100%;
}

.wxz-pg-pos-left .wxz-pg-inner,
.wxz-pg-pos-right .wxz-pg-inner {
    flex-direction: row;
}

.wxz-pg-pos-top .wxz-pg-inner,
.wxz-pg-pos-bottom .wxz-pg-inner {
    flex-direction: column;
}

.wxz-pg-pos-left .wxz-pg-thumbs,
.wxz-pg-pos-top .wxz-pg-thumbs {
    order: 1;
}

.wxz-pg-pos-left .wxz-pg-stage,
.wxz-pg-pos-top .wxz-pg-stage {
    order: 2;
}

.wxz-pg-pos-right .wxz-pg-stage,
.wxz-pg-pos-bottom .wxz-pg-stage {
    order: 1;
}

.wxz-pg-pos-right .wxz-pg-thumbs,
.wxz-pg-pos-bottom .wxz-pg-thumbs {
    order: 2;
}

.wxz-pg-stage {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--wxz-pg-border, #ece7f6);
    border-radius: var(--wxz-pg-radius, 18px);
    background: var(--wxz-pg-stage-bg, #fff);
    isolation: isolate;
}

.wxz-pg-main-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none !important;
    cursor: zoom-in;
}

.wxz-pg-main-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: var(--wxz-pg-fit, contain);
    background: var(--wxz-pg-stage-bg, #fff);
    transition: opacity .18s ease, transform .22s ease;
}

.wxz-product-gallery.wxz-pg-ratio-fixed .wxz-pg-main-link {
    aspect-ratio: var(--wxz-pg-ratio, 1/1);
}

.wxz-product-gallery.wxz-pg-ratio-fixed .wxz-pg-main-img {
    height: 100% !important;
}

.wxz-pg-main-img.is-changing {
    opacity: .35;
    transform: scale(.985);
}

.wxz-pg-thumbs {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    position: relative;
}

.wxz-pg-orient-vertical .wxz-pg-thumbs {
    flex-direction: column;
}

.wxz-pg-orient-horizontal .wxz-pg-thumbs {
    flex-direction: row;
}

.wxz-pg-thumbs-viewport {
    position: relative;
    overflow: auto;
    overscroll-behavior: auto;
    overscroll-behavior-inline: contain;
    overscroll-behavior-block: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.wxz-pg-thumbs-viewport::-webkit-scrollbar {
    display: none;
}

/* v3.6.3: thumbnail gestures must not block vertical page scroll. */
.wxz-pg-thumbs-viewport,
.wxz-pg-thumbs-track,
.wxz-pg-thumb {
    touch-action: pan-y pinch-zoom;
}

.wxz-pg-orient-vertical .wxz-pg-thumbs-viewport,
.wxz-pg-orient-vertical .wxz-pg-thumbs-track,
.wxz-pg-orient-vertical .wxz-pg-thumb {
    touch-action: pan-y pinch-zoom;
}

.wxz-pg-orient-horizontal .wxz-pg-thumbs-viewport,
.wxz-pg-orient-horizontal .wxz-pg-thumbs-track,
.wxz-pg-orient-horizontal .wxz-pg-thumb {
    touch-action: pan-y pinch-zoom;
}

.wxz-pg-orient-vertical .wxz-pg-thumbs-viewport {
    width: var(--wxz-pg-thumb-size);
    height: calc((var(--wxz-pg-thumb-size) * var(--wxz-pg-visible)) + (var(--wxz-pg-gap) * (var(--wxz-pg-visible) - 1)));
    max-height: 100%;
}

.wxz-pg-orient-horizontal .wxz-pg-thumbs-viewport {
    width: calc((var(--wxz-pg-thumb-size) * var(--wxz-pg-visible)) + (var(--wxz-pg-gap) * (var(--wxz-pg-visible) - 1)));
    max-width: 100%;
    height: var(--wxz-pg-thumb-size);
}

.wxz-pg-thumbs-track {
    display: flex;
    gap: var(--wxz-pg-gap, 10px);
    align-items: center;
    justify-content: flex-start;
}

.wxz-pg-orient-vertical .wxz-pg-thumbs-track {
    flex-direction: column;
}

.wxz-pg-orient-horizontal .wxz-pg-thumbs-track {
    flex-direction: row;
}

.wxz-pg-thumb {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 var(--wxz-pg-thumb-size) !important;
    width: var(--wxz-pg-thumb-size) !important;
    height: var(--wxz-pg-thumb-size) !important;
    min-width: var(--wxz-pg-thumb-size) !important;
    min-height: var(--wxz-pg-thumb-size) !important;
    padding: 4px !important;
    border: 2px solid var(--wxz-pg-border, #ece7f6) !important;
    border-radius: var(--wxz-pg-thumb-radius, 14px) !important;
    background: var(--wxz-pg-thumb-bg, #fff) !important;
    box-shadow: none !important;
    cursor: pointer;
    overflow: hidden;
    outline: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.wxz-pg-thumb:hover {
    border-color: color-mix(in srgb, var(--wxz-pg-active, #833fd5) 55%, var(--wxz-pg-border, #ece7f6)) !important;
}

.wxz-pg-thumb.is-active {
    border-color: var(--wxz-pg-active, #833fd5) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--wxz-pg-shadow, #833fd5) 18%, transparent), 0 10px 24px color-mix(in srgb, var(--wxz-pg-shadow, #833fd5) 16%, transparent) !important;
    opacity: 1;
}

.wxz-pg-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: calc(var(--wxz-pg-thumb-radius, 14px) - 5px) !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.wxz-pg-thumb-arrow,
.wxz-pg-main-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid var(--wxz-pg-border, #ece7f6) !important;
    background: var(--wxz-pg-arrow-bg, #fff) !important;
    color: var(--wxz-pg-arrow-color, #3f255f) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08) !important;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, transform .16s ease, opacity .16s ease;
    z-index: 5;
}

.wxz-pg-thumb-arrow:hover,
.wxz-pg-main-nav:hover {
    background: var(--wxz-pg-arrow-hover-bg, #833fd5) !important;
    color: var(--wxz-pg-arrow-hover-color, #fff) !important;
    transform: translateY(-1px);
}

.wxz-pg-thumb-arrow:disabled,
.wxz-pg-main-nav:disabled {
    opacity: .35;
    cursor: not-allowed;
    transform: none;
}

.wxz-pg-thumb-arrow {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 999px !important;
}

.wxz-pg-thumb-arrow svg,
.wxz-pg-main-nav svg {
    width: 18px;
    height: 18px;
    display: block;
    pointer-events: none;
}

.wxz-pg-orient-vertical .wxz-pg-thumb-prev svg {
    transform: rotate(-90deg);
}

.wxz-pg-orient-vertical .wxz-pg-thumb-next svg {
    transform: rotate(90deg);
}

.wxz-pg-orient-horizontal .wxz-pg-thumb-prev svg,
.wxz-pg-main-prev svg {
    transform: rotate(180deg);
}

.wxz-pg-main-nav {
    position: absolute;
    top: 50%;
    width: 42px;
    height: 42px;
    border-radius: 999px !important;
    transform: translateY(-50%);
}

.wxz-pg-main-nav:hover {
    transform: translateY(-50%) scale(1.03);
}

.wxz-pg-main-prev {
    left: 12px;
}

.wxz-pg-main-next {
    right: 12px;
}

.wxz-pg-single-image .wxz-pg-main-nav,
.wxz-pg-single-image .wxz-pg-thumb-arrow {
    display: none !important;
}

@media (max-width: 767px) {
    .wxz-product-gallery.wxz-pg-ratio-fixed .wxz-pg-main-link {
        aspect-ratio: var(--wxz-pg-ratio-mobile, var(--wxz-pg-ratio, 1/1));
    }
    .woocommerce div.product div.images.wxz-product-gallery,
    .wxz-product-gallery {
        --wxz-pg-visible: var(--wxz-pg-visible-mobile, 4);
        --wxz-pg-thumb-size: var(--wxz-pg-thumb-size-mobile, 62px);
        width: 100% !important;
        float: none !important;
    }

    .wxz-pg-mobile-left .wxz-pg-inner,
    .wxz-pg-mobile-right .wxz-pg-inner {
        flex-direction: row !important;
    }

    .wxz-pg-mobile-top .wxz-pg-inner,
    .wxz-pg-mobile-bottom .wxz-pg-inner {
        flex-direction: column !important;
    }

    .wxz-pg-mobile-left .wxz-pg-thumbs,
    .wxz-pg-mobile-top .wxz-pg-thumbs {
        order: 1 !important;
    }

    .wxz-pg-mobile-left .wxz-pg-stage,
    .wxz-pg-mobile-top .wxz-pg-stage {
        order: 2 !important;
    }

    .wxz-pg-mobile-right .wxz-pg-stage,
    .wxz-pg-mobile-bottom .wxz-pg-stage {
        order: 1 !important;
    }

    .wxz-pg-mobile-right .wxz-pg-thumbs,
    .wxz-pg-mobile-bottom .wxz-pg-thumbs {
        order: 2 !important;
    }

    .wxz-pg-mobile-left .wxz-pg-thumbs,
    .wxz-pg-mobile-right .wxz-pg-thumbs {
        flex-direction: column !important;
    }

    .wxz-pg-mobile-left .wxz-pg-thumbs-track,
    .wxz-pg-mobile-right .wxz-pg-thumbs-track {
        flex-direction: column !important;
    }

    .wxz-pg-mobile-left .wxz-pg-thumbs-viewport,
    .wxz-pg-mobile-right .wxz-pg-thumbs-viewport {
        width: var(--wxz-pg-thumb-size) !important;
        height: calc((var(--wxz-pg-thumb-size) * var(--wxz-pg-visible)) + (var(--wxz-pg-gap) * (var(--wxz-pg-visible) - 1))) !important;
    }

    .wxz-pg-mobile-top .wxz-pg-thumbs,
    .wxz-pg-mobile-bottom .wxz-pg-thumbs {
        flex-direction: row !important;
    }

    .wxz-pg-mobile-top .wxz-pg-thumbs-track,
    .wxz-pg-mobile-bottom .wxz-pg-thumbs-track {
        flex-direction: row !important;
    }

    .wxz-pg-mobile-top .wxz-pg-thumbs-viewport,
    .wxz-pg-mobile-bottom .wxz-pg-thumbs-viewport {
        width: calc((var(--wxz-pg-thumb-size) * var(--wxz-pg-visible)) + (var(--wxz-pg-gap) * (var(--wxz-pg-visible) - 1))) !important;
        max-width: 100% !important;
        height: var(--wxz-pg-thumb-size) !important;
    }

    .wxz-pg-mobile-left .wxz-pg-thumb-prev svg,
    .wxz-pg-mobile-right .wxz-pg-thumb-prev svg {
        transform: rotate(-90deg) !important;
    }

    .wxz-pg-mobile-left .wxz-pg-thumb-next svg,
    .wxz-pg-mobile-right .wxz-pg-thumb-next svg {
        transform: rotate(90deg) !important;
    }

    .wxz-pg-mobile-top .wxz-pg-thumb-prev svg,
    .wxz-pg-mobile-bottom .wxz-pg-thumb-prev svg {
        transform: rotate(180deg) !important;
    }

    .wxz-pg-mobile-top .wxz-pg-thumb-next svg,
    .wxz-pg-mobile-bottom .wxz-pg-thumb-next svg {
        transform: none !important;
    }

    .wxz-pg-main-nav {
        width: 36px;
        height: 36px;
    }

    .wxz-pg-main-prev { left: 8px; }
    .wxz-pg-main-next { right: 8px; }
}

/* v3.6.1: Elementor compatibility, global-theme alignment, robust swipe and zoom UI */
.woocommerce div.product div.images.wxz-product-gallery,
.elementor .wxz-product-gallery,
.elementor-widget-woocommerce-product-images .wxz-product-gallery,
.elementor-widget-shortcode .wxz-product-gallery,
.wxz-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    opacity: 1 !important;
    margin: 0 0 24px !important;
    color: var(--wxz-theme-text, #111827);
}

.elementor .wxz-product-gallery .wxz-pg-inner,
.elementor-widget-shortcode .wxz-product-gallery .wxz-pg-inner {
    width: 100%;
    min-width: 0;
}

.wxz-pg-stage {
    touch-action: pan-y pinch-zoom;
    user-select: none;
    -webkit-user-select: none;
}

.wxz-pg-main-link,
.wxz-pg-main-img {
    -webkit-user-drag: none;
    user-select: none;
    -webkit-user-select: none;
}

.wxz-product-gallery.is-swiping .wxz-pg-main-link {
    pointer-events: none;
}

.wxz-pg-zoom-btn {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 8;
    width: 42px;
    height: 42px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid var(--wxz-pg-border, var(--wxz-theme-border, #e5e7eb)) !important;
    border-radius: 999px !important;
    background: var(--wxz-pg-arrow-bg, var(--wxz-theme-surface, #fff)) !important;
    color: var(--wxz-pg-arrow-color, var(--wxz-theme-text, #111827)) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08) !important;
    cursor: zoom-in;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.wxz-pg-zoom-btn:hover {
    background: var(--wxz-pg-arrow-hover-bg, var(--wxz-theme-button-bg, #833fd5)) !important;
    color: var(--wxz-pg-arrow-hover-color, var(--wxz-theme-button-text, #fff)) !important;
    transform: translateY(-1px);
}

.wxz-pg-zoom-svg {
    width: 20px;
    height: 20px;
    display: block;
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .wxz-product-gallery[data-hover-zoom="1"] .wxz-pg-stage.is-hover-zoom .wxz-pg-main-img {
        transform: scale(var(--wxz-pg-hover-scale, 1.06));
    }

    .wxz-product-gallery[data-hover-zoom="1"][data-magnifier-lens="1"] .wxz-pg-stage.is-lens-visible .wxz-pg-main-link {
        cursor: none;
    }
}

.wxz-pg-lens {
    position: absolute;
    z-index: 7;
    width: var(--wxz-pg-lens-size, 128px);
    height: var(--wxz-pg-lens-size, 128px);
    left: 0;
    top: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    border: 2px solid color-mix(in srgb, var(--wxz-pg-active, #833fd5) 72%, #fff);
    border-radius: 50%;
    background-color: var(--wxz-pg-stage-bg, #fff);
    background-repeat: no-repeat;
    background-origin: border-box;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .20), inset 0 0 0 1px rgba(255,255,255,.7);
    transform: translate(-50%, -50%) scale(.84);
    transition: opacity .12s ease, transform .16s cubic-bezier(.2,.8,.2,1), visibility .12s ease;
    will-change: left, top, background-position, transform;
    isolation: isolate;
}

.wxz-pg-lens.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.wxz-product-gallery[data-magnifier-effect="1"] .wxz-pg-lens {
    box-shadow:
        0 14px 36px rgba(15, 23, 42, .22),
        0 0 0 5px color-mix(in srgb, var(--wxz-pg-active, #833fd5) 15%, transparent),
        inset 0 0 0 1px rgba(255,255,255,.78),
        inset 0 10px 22px rgba(255,255,255,.12);
}

.wxz-product-gallery[data-magnifier-effect="1"] .wxz-pg-lens::before {
    content: "";
    position: absolute;
    inset: 7px;
    z-index: 1;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.58);
    box-shadow: inset 10px 12px 20px rgba(255,255,255,.10);
    pointer-events: none;
}

.wxz-product-gallery[data-magnifier-effect="1"] .wxz-pg-lens::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 28px;
    height: 10px;
    right: -20px;
    bottom: 5px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wxz-pg-active, #833fd5) 84%, #18181b);
    border: 2px solid color-mix(in srgb, var(--wxz-pg-active, #833fd5) 66%, #fff);
    box-shadow: 0 8px 18px rgba(15,23,42,.24);
    transform: rotate(45deg);
    transform-origin: left center;
    pointer-events: none;
}

@media (hover: none), (pointer: coarse) {
    .wxz-pg-lens { display: none !important; }
}

.wxz-pg-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: var(--wxz-theme-overlay, rgba(9, 9, 11, .78));
    direction: ltr;
}

.wxz-pg-lightbox.is-open {
    display: flex;
}

.wxz-pg-lightbox-panel {
    position: relative;
    width: min(1180px, 100%);
    height: min(86vh, 860px);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--wxz-pg-border, #e5e7eb) 70%, transparent);
    border-radius: var(--wxz-pg-radius, var(--wxz-theme-card-radius, 18px));
    background: var(--wxz-pg-stage-bg, var(--wxz-theme-surface, #fff));
    box-shadow: 0 28px 90px rgba(0, 0, 0, .32);
    overflow: hidden;
}

.wxz-pg-lightbox-img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    cursor: zoom-in;
    transition: transform .18s ease;
    transform-origin: center center;
}

.wxz-pg-lightbox.is-zoomed .wxz-pg-lightbox-img {
    transform: scale(1.75);
    cursor: zoom-out;
}

.wxz-pg-lightbox-close,
.wxz-pg-lightbox-nav {
    position: absolute;
    z-index: 2;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid var(--wxz-pg-border, var(--wxz-theme-border, #e5e7eb)) !important;
    border-radius: 999px !important;
    background: var(--wxz-pg-arrow-bg, var(--wxz-theme-surface, #fff)) !important;
    color: var(--wxz-pg-arrow-color, var(--wxz-theme-text, #111827)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.12) !important;
    cursor: pointer;
}

.wxz-pg-lightbox-close:hover,
.wxz-pg-lightbox-nav:hover {
    background: var(--wxz-pg-arrow-hover-bg, var(--wxz-theme-button-bg, #833fd5)) !important;
    color: var(--wxz-pg-arrow-hover-color, var(--wxz-theme-button-text, #fff)) !important;
}

.wxz-pg-lightbox-close {
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    font-size: 24px;
    line-height: 1;
}

.wxz-pg-lightbox-nav {
    top: 50%;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
}

.wxz-pg-lightbox-prev { left: 14px; }
.wxz-pg-lightbox-next { right: 14px; }
.wxz-pg-lightbox-prev svg { transform: rotate(180deg); }
.wxz-pg-lightbox-nav svg { width: 20px; height: 20px; }

@media (max-width: 767px) {
    .wxz-pg-stage,
    .wxz-pg-thumbs,
    .wxz-pg-thumbs-viewport,
    .wxz-pg-thumbs-track,
    .wxz-pg-thumb {
        touch-action: pan-y pinch-zoom;
        overscroll-behavior-y: auto;
    }
    .wxz-pg-zoom-btn { width: 36px; height: 36px; top: 8px; left: 8px; }
    .wxz-pg-lightbox { padding: 12px; }
    .wxz-pg-lightbox-panel { height: 82vh; border-radius: 16px; }
    .wxz-pg-lightbox-close { width: 38px; height: 38px; top: 10px; right: 10px; }
    .wxz-pg-lightbox-nav { width: 40px; height: 40px; }
    .wxz-pg-lightbox-prev { left: 10px; }
    .wxz-pg-lightbox-next { right: 10px; }
}
html.wxz-pg-lightbox-open,
html.wxz-pg-lightbox-open body {
    overflow: hidden !important;
}


/* v4.5.6: stable pointer gestures, non-draggable thumbnails and accessible lightbox. */
.wxz-product-gallery .wxz-pg-thumb,
.wxz-product-gallery .wxz-pg-thumb img,
.wxz-product-gallery .wxz-pg-main-link,
.wxz-product-gallery .wxz-pg-main-img,
.wxz-pg-lightbox-img {
    -webkit-user-drag: none;
    user-select: none;
    -webkit-user-select: none;
}

.wxz-product-gallery .wxz-pg-stage button,
.wxz-product-gallery .wxz-pg-thumbs button,
.wxz-pg-lightbox button {
    touch-action: manipulation;
}

@media (hover: hover) and (pointer: fine) {
    .wxz-product-gallery .wxz-pg-thumbs-viewport {
        cursor: grab;
    }

    .wxz-product-gallery.is-thumb-dragging .wxz-pg-thumbs-viewport {
        cursor: grabbing;
        scroll-behavior: auto;
    }

    .wxz-product-gallery .wxz-pg-thumb {
        cursor: pointer;
    }
}

.wxz-product-gallery.is-thumb-dragging .wxz-pg-thumb {
    pointer-events: none;
}

.wxz-product-gallery .wxz-pg-thumb:focus-visible,
.wxz-product-gallery .wxz-pg-main-nav:focus-visible,
.wxz-product-gallery .wxz-pg-thumb-arrow:focus-visible,
.wxz-product-gallery .wxz-pg-zoom-btn:focus-visible,
.wxz-pg-lightbox button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--wxz-pg-active, #833fd5) 55%, transparent) !important;
    outline-offset: 3px !important;
}

.wxz-pg-lightbox.is-single .wxz-pg-lightbox-nav,
.wxz-pg-lightbox-nav[hidden] {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .wxz-product-gallery *,
    .wxz-pg-lightbox * {
        scroll-behavior: auto !important;
    }

    .wxz-pg-main-img,
    .wxz-pg-thumb,
    .wxz-pg-main-nav,
    .wxz-pg-thumb-arrow,
    .wxz-pg-lightbox-img {
        transition-duration: .01ms !important;
    }
}

/* WooCommerce Zone isolated button overrides moved from assets/css/product-gallery.css. */
body.wxz-zone-runtime .wxz-pg-thumb-arrow.wxz-button:not(#wxz-button),body.wxz-zone-runtime .wxz-pg-main-nav.wxz-button:not(#wxz-button){display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border:1px solid var(--wxz-pg-border, #ece7f6)!important;background:var(--wxz-pg-arrow-bg, #fff)!important;color:var(--wxz-pg-arrow-color, #3f255f)!important;box-shadow:0 8px 22px rgba(0, 0, 0, .08)!important;cursor:pointer!important;transition:background .16s ease, color .16s ease, transform .16s ease, opacity .16s ease!important;z-index:5!important}
body.wxz-zone-runtime .wxz-pg-thumb-arrow.wxz-button:not(#wxz-button):hover,body.wxz-zone-runtime .wxz-pg-main-nav.wxz-button:not(#wxz-button):hover{background:var(--wxz-pg-arrow-hover-bg, #833fd5)!important;color:var(--wxz-pg-arrow-hover-color, #fff)!important;transform:translateY(-1px)!important}
body.wxz-zone-runtime .wxz-pg-thumb-arrow.wxz-button:not(#wxz-button):disabled,body.wxz-zone-runtime .wxz-pg-main-nav.wxz-button:not(#wxz-button):disabled{opacity:.35!important;cursor:not-allowed!important;transform:none!important}
body.wxz-zone-runtime .wxz-pg-thumb-arrow.wxz-button:not(#wxz-button){flex:0 0 32px!important;width:32px!important;height:32px!important;border-radius:999px!important}
body.wxz-zone-runtime .wxz-pg-thumb-arrow.wxz-button:not(#wxz-button) svg,body.wxz-zone-runtime .wxz-pg-main-nav.wxz-button:not(#wxz-button) svg{width:18px!important;height:18px!important;display:block!important;pointer-events:none!important}
body.wxz-zone-runtime .wxz-pg-orient-vertical .wxz-pg-thumb-prev.wxz-button:not(#wxz-button) svg{transform:rotate(-90deg)!important}
body.wxz-zone-runtime .wxz-pg-orient-vertical .wxz-pg-thumb-next.wxz-button:not(#wxz-button) svg{transform:rotate(90deg)!important}
body.wxz-zone-runtime .wxz-pg-orient-horizontal .wxz-pg-thumb-prev.wxz-button:not(#wxz-button) svg,body.wxz-zone-runtime .wxz-pg-main-prev.wxz-button:not(#wxz-button) svg{transform:rotate(180deg)!important}
body.wxz-zone-runtime .wxz-pg-main-nav.wxz-button:not(#wxz-button){position:absolute!important;top:50%!important;width:42px!important;height:42px!important;border-radius:999px!important;transform:translateY(-50%)!important}
body.wxz-zone-runtime .wxz-pg-main-nav.wxz-button:not(#wxz-button):hover{transform:translateY(-50%) scale(1.03)!important}
body.wxz-zone-runtime .wxz-pg-main-prev.wxz-button:not(#wxz-button){left:12px!important}
body.wxz-zone-runtime .wxz-pg-main-next.wxz-button:not(#wxz-button){right:12px!important}
body.wxz-zone-runtime .wxz-pg-single-image .wxz-pg-main-nav.wxz-button:not(#wxz-button),body.wxz-zone-runtime .wxz-pg-single-image .wxz-pg-thumb-arrow.wxz-button:not(#wxz-button){display:none!important}
@media (max-width: 767px){body.wxz-zone-runtime .wxz-pg-mobile-left .wxz-pg-thumb-prev.wxz-button:not(#wxz-button) svg,body.wxz-zone-runtime .wxz-pg-mobile-right .wxz-pg-thumb-prev.wxz-button:not(#wxz-button) svg{transform:rotate(-90deg)!important}
body.wxz-zone-runtime .wxz-pg-mobile-left .wxz-pg-thumb-next.wxz-button:not(#wxz-button) svg,body.wxz-zone-runtime .wxz-pg-mobile-right .wxz-pg-thumb-next.wxz-button:not(#wxz-button) svg{transform:rotate(90deg)!important}
body.wxz-zone-runtime .wxz-pg-mobile-top .wxz-pg-thumb-prev.wxz-button:not(#wxz-button) svg,body.wxz-zone-runtime .wxz-pg-mobile-bottom .wxz-pg-thumb-prev.wxz-button:not(#wxz-button) svg{transform:rotate(180deg)!important}
body.wxz-zone-runtime .wxz-pg-mobile-top .wxz-pg-thumb-next.wxz-button:not(#wxz-button) svg,body.wxz-zone-runtime .wxz-pg-mobile-bottom .wxz-pg-thumb-next.wxz-button:not(#wxz-button) svg{transform:none!important}
body.wxz-zone-runtime .wxz-pg-main-nav.wxz-button:not(#wxz-button){width:36px!important;height:36px!important}
body.wxz-zone-runtime .wxz-pg-main-prev.wxz-button:not(#wxz-button){left:8px!important}
body.wxz-zone-runtime .wxz-pg-main-next.wxz-button:not(#wxz-button){right:8px!important}}
body.wxz-zone-runtime .wxz-pg-zoom-btn.wxz-button:not(#wxz-button){position:absolute!important;top:12px!important;left:12px!important;z-index:8!important;width:42px!important;height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border:1px solid var(--wxz-pg-border, var(--wxz-theme-border, #e5e7eb))!important;border-radius:999px!important;background:var(--wxz-pg-arrow-bg, var(--wxz-theme-surface, #fff))!important;color:var(--wxz-pg-arrow-color, var(--wxz-theme-text, #111827))!important;box-shadow:0 8px 22px rgba(0, 0, 0, .08)!important;cursor:zoom-in!important;transition:background .16s ease, color .16s ease, transform .16s ease!important}
body.wxz-zone-runtime .wxz-pg-zoom-btn.wxz-button:not(#wxz-button):hover{background:var(--wxz-pg-arrow-hover-bg, var(--wxz-theme-button-bg, #833fd5))!important;color:var(--wxz-pg-arrow-hover-color, var(--wxz-theme-button-text, #fff))!important;transform:translateY(-1px)!important}
body.wxz-zone-runtime .wxz-pg-lightbox-close.wxz-button:not(#wxz-button),body.wxz-zone-runtime .wxz-pg-lightbox-nav.wxz-button:not(#wxz-button){position:absolute!important;z-index:2!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border:1px solid var(--wxz-pg-border, var(--wxz-theme-border, #e5e7eb))!important;border-radius:999px!important;background:var(--wxz-pg-arrow-bg, var(--wxz-theme-surface, #fff))!important;color:var(--wxz-pg-arrow-color, var(--wxz-theme-text, #111827))!important;box-shadow:0 8px 22px rgba(0,0,0,.12)!important;cursor:pointer!important}
body.wxz-zone-runtime .wxz-pg-lightbox-close.wxz-button:not(#wxz-button):hover,body.wxz-zone-runtime .wxz-pg-lightbox-nav.wxz-button:not(#wxz-button):hover{background:var(--wxz-pg-arrow-hover-bg, var(--wxz-theme-button-bg, #833fd5))!important;color:var(--wxz-pg-arrow-hover-color, var(--wxz-theme-button-text, #fff))!important}
body.wxz-zone-runtime .wxz-pg-lightbox-close.wxz-button:not(#wxz-button){top:14px!important;right:14px!important;width:42px!important;height:42px!important;font-size:24px!important;line-height:1!important}
body.wxz-zone-runtime .wxz-pg-lightbox-nav.wxz-button:not(#wxz-button){top:50%!important;width:46px!important;height:46px!important;transform:translateY(-50%)!important}
body.wxz-zone-runtime .wxz-pg-lightbox-prev.wxz-button:not(#wxz-button){left:14px!important}
body.wxz-zone-runtime .wxz-pg-lightbox-next.wxz-button:not(#wxz-button){right:14px!important}
body.wxz-zone-runtime .wxz-pg-lightbox-prev.wxz-button:not(#wxz-button) svg{transform:rotate(180deg)!important}
body.wxz-zone-runtime .wxz-pg-lightbox-nav.wxz-button:not(#wxz-button) svg{width:20px!important;height:20px!important}
@media (max-width: 767px){body.wxz-zone-runtime .wxz-pg-zoom-btn.wxz-button:not(#wxz-button){width:36px!important;height:36px!important;top:8px!important;left:8px!important}
body.wxz-zone-runtime .wxz-pg-lightbox-close.wxz-button:not(#wxz-button){width:38px!important;height:38px!important;top:10px!important;right:10px!important}
body.wxz-zone-runtime .wxz-pg-lightbox-nav.wxz-button:not(#wxz-button){width:40px!important;height:40px!important}
body.wxz-zone-runtime .wxz-pg-lightbox-prev.wxz-button:not(#wxz-button){left:10px!important}
body.wxz-zone-runtime .wxz-pg-lightbox-next.wxz-button:not(#wxz-button){right:10px!important}}

/* WooCommerce Zone 4.6.36 - mobile-first gallery gestures + RTL-safe thumbnails. */
.wxz-product-gallery .wxz-pg-main-link {
    --wxz-pg-swipe-x: 0px;
    will-change: transform;
}

.wxz-product-gallery.is-swiping .wxz-pg-main-link {
    transform: translate3d(var(--wxz-pg-swipe-x), 0, 0) scale(.995);
    transition: none !important;
}

.wxz-product-gallery.is-swipe-returning .wxz-pg-main-link {
    transform: translate3d(0, 0, 0);
    transition: transform .16s ease-out !important;
}

.wxz-product-gallery .wxz-pg-thumbs-viewport {
    -webkit-overflow-scrolling: touch;
}

.wxz-product-gallery .wxz-pg-thumb {
    scroll-snap-align: center;
    scroll-snap-stop: normal;
}

@media (max-width: 767px) {
    /* Main image: horizontal swipe is ours, vertical movement remains page scroll. */
    .wxz-product-gallery .wxz-pg-stage,
    .wxz-product-gallery .wxz-pg-main-link,
    .wxz-product-gallery .wxz-pg-main-img {
        touch-action: pan-y pinch-zoom !important;
    }

    /* Thumbnails use native browser momentum scrolling in both axes. */
    .wxz-product-gallery .wxz-pg-thumbs,
    .wxz-product-gallery .wxz-pg-thumbs-viewport,
    .wxz-product-gallery .wxz-pg-thumbs-track,
    .wxz-product-gallery .wxz-pg-thumb,
    .wxz-product-gallery .wxz-pg-thumb img {
        touch-action: pan-x pan-y pinch-zoom !important;
    }

    .wxz-product-gallery .wxz-pg-thumbs-viewport {
        scroll-behavior: auto !important;
        overscroll-behavior-inline: contain;
        overscroll-behavior-block: auto;
    }

    .wxz-product-gallery.wxz-pg-mobile-top .wxz-pg-thumbs-viewport,
    .wxz-product-gallery.wxz-pg-mobile-bottom .wxz-pg-thumbs-viewport {
        scroll-snap-type: x proximity;
    }

    .wxz-product-gallery.wxz-pg-mobile-left .wxz-pg-thumbs-viewport,
    .wxz-product-gallery.wxz-pg-mobile-right .wxz-pg-thumbs-viewport {
        scroll-snap-type: y proximity;
    }

    .wxz-product-gallery.is-thumb-touching .wxz-pg-thumb {
        transition-duration: .08s !important;
    }
}

/* 4.6.40 — independent main image navigation visibility by device */
@media (min-width: 768px) {
    .wxz-product-gallery.wxz-pg-main-arrows-desktop-off .wxz-pg-main-nav {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .wxz-product-gallery.wxz-pg-main-arrows-mobile-off .wxz-pg-main-nav {
        display: none !important;
    }
}
