.lw-product-gallery .lw-gallery-stage[role=button] {
    cursor:zoom-in
}
.lw-product-zoom {
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    height:100dvh;
    max-width:none;
    max-height:none;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:#000;
    user-select:none;
    overflow:hidden
}
.lw-product-zoom::backdrop {
    background:transparent
}
.lw-zoom-shell,.lw-zoom-surface {
    position:absolute;
    inset:0
}
.lw-product-zoom[open] .lw-zoom-shell {
    animation:lw-zoom-reveal .3s ease-in-out both
}
.lw-zoom-surface {
    background:#fff;
    transition:opacity .4s ease
}
@keyframes lw-zoom-reveal {
    from { opacity:0 }
    to { opacity:1 }
}
.lw-zoom-floating {
    position:fixed;
    pointer-events:none;
    transition-property:top,left,width,height,opacity;
    transition-duration:.35s;
    transition-timing-function:cubic-bezier(.4,0,.2,1);
    will-change:top,left,width,height,opacity;
    z-index:4
}
.lw-zoom-floating img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0
}
.lw-zoom-floating.is-ready img {
    opacity:1
}
.lw-product-zoom.has-opening-photo .lw-zoom-item.is-active {
    visibility:hidden
}
.lw-zoom-view {
    position:absolute;
    inset:15px;
    overflow:hidden;
    cursor:zoom-in
}
.lw-zoom-track {
    display:flex;
    align-items:center;
    position:absolute;
    inset:0;
    right:auto;
    width:calc(100% * var(--lw-zoom-count,1));
    height:100%;
    transform:translateX(calc(-100% * var(--lw-zoom-index,0) / var(--lw-zoom-count,1)));
    transform-style:preserve-3d;
    backface-visibility:hidden;
    transition:transform .2s ease-in-out
}
.lw-zoom-item {
    display:flex;
    flex-direction:column;
    flex-shrink:0;
    width:calc(100% / var(--lw-zoom-count,1));
    height:100%;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity .2s ease-in-out
}
.lw-zoom-item.is-active.is-ready {
    opacity:1
}
.lw-zoom-image-wrapper {
    position:relative
}
.lw-zoom-item img {
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:calc(100vh - 30px);
    margin:auto;
    object-fit:contain;
    overflow:auto;
    backface-visibility:hidden
}
.lw-zoom-nav {
    box-sizing:content-box;
    position:absolute;
    left:0;
    top:50px;
    bottom:50px;
    display:flex;
    align-items:center;
    width:15%;
    border:0;
    padding:0 13px;
    background:transparent;
    color:inherit;
    z-index:2
}
.lw-zoom-next {
    left:auto;
    right:0;
    justify-content:flex-end
}
.lw-zoom-ui {
    display:flex;
    flex:none;
    align-items:center;
    justify-content:center;
    width:37px;
    height:37px;
    padding:10px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.5);
    box-shadow:0 0 3px rgba(1,1,1,.1);
    color:inherit;
    transition:opacity .3s ease-in-out,background-color .3s ease-in-out,box-shadow .3s ease-in-out;
    will-change:opacity,background-color,box-shadow
}
.lw-zoom-ui svg {
    flex:none;
    pointer-events:none
}
.lw-zoom-toolbar {
    position:absolute;
    top:13px;
    right:13px;
    display:flex;
    gap:10px;
    z-index:3
}
.lw-zoom-decrease,.lw-product-zoom.is-scaled .lw-zoom-increase {
    display:none
}
.lw-product-zoom.is-scaled .lw-zoom-decrease {
    display:block
}
.lw-product-zoom.is-scaled .lw-zoom-view {
    inset:0
}
.lw-product-zoom.is-scaled .lw-zoom-track {
    transform:none;
    transition:none
}
.lw-product-zoom.is-scaled .lw-zoom-item {
    display:none
}
.lw-product-zoom.is-scaled .lw-zoom-item.is-active {
    display:block
}
.lw-product-zoom.is-scaled .lw-zoom-item img {
    position:absolute;
    max-width:none;
    max-height:none;
    margin:0;
    cursor:zoom-out
}
.lw-product-zoom.is-scaled .lw-zoom-nav {
    height:15%;
    margin:auto
}
.lw-zoom-scale:disabled {
    opacity:0!important;
    pointer-events:none
}
.lw-product-zoom:not(.has-keyboard-focus) button:focus-visible {
    outline:none
}
.lw-product-zoom.are-controls-hidden .lw-zoom-ui {
    opacity:0
}
.lw-zoom-status {
    position:absolute;
    left:20px;
    right:20px;
    top:50%;
    text-align:center
}
.lw-product-zoom.is-closing:not(.is-swipe-closing) .lw-zoom-surface,
.lw-product-zoom.is-closing:not(.is-swipe-closing) .lw-zoom-ui,
.lw-product-zoom.is-closing .lw-zoom-floating {
    opacity:0
}
.lw-product-zoom.is-closing:not(.is-swipe-closing) .lw-zoom-item.is-active {
    opacity:0;
    transform:scale(.7) translateY(50%);
    transition:opacity .2s ease-in-out,transform .2s ease-in-out
}
@media(hover:hover) {
    .lw-zoom-nav:hover .lw-zoom-ui,.lw-zoom-ui:hover {
        opacity:1;
        background:#fff
    }
}
@media(max-width:768px) {
    .lw-zoom-view {
        inset:0
    }
}
@media(prefers-reduced-motion:reduce) {
    .lw-product-zoom,.lw-zoom-surface,.lw-zoom-track,.lw-zoom-item,.lw-zoom-ui {
        transition:none!important
    }
    .lw-product-zoom[open] .lw-zoom-shell {
        animation:none
    }
}
