#swqv-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    background:rgba(0,0,0,.65);
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px
}
#swqv-modal{
    background:#fafafa;
    width:96%;
    max-width:1200px;
    max-height:92vh;
    overflow:auto;
    border-radius:14px;
    position:relative;
    padding:20px;
    margin:auto;
    box-sizing:border-box;
    scrollbar-width:thin;
    scrollbar-color:#cfcfcf transparent
}
#swqv-modal::-webkit-scrollbar{width:6px}
#swqv-modal::-webkit-scrollbar-track{background:transparent}
#swqv-modal::-webkit-scrollbar-thumb{background:#cfcfcf;border-radius:6px}
#swqv-modal::-webkit-scrollbar-thumb:hover{background:#b5b5b5}

#swqv-close{
    position:absolute;
    top:12px;
    right:12px;
    border:0;
    background:#111;
    color:#fff;
    padding:8px 14px;
    border-radius:8px;
    cursor:pointer
}
#swqv-content{
    display:flex;
    gap:24px;
    align-items:flex-start
}
.swqv-gallery{
    width:42%;
    min-width:320px
}
.swqv-main img{
    width:100%;
    height:420px;
    object-fit:contain;
    border-radius:10px;
    background:#f7f7f7
}
.swqv-thumbs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px
}
.swqv-thumbs img{
    width:72px;
    height:72px;
    object-fit:cover;
    cursor:pointer;
    border-radius:8px;
    border:1px solid #e5e5e5
}
#swqv-content .woocommerce{flex:1}

@media(max-width:768px){
    #swqv-content{flex-direction:column}
    .swqv-gallery{width:100%}
    .swqv-main img{height:300px}
}

.swqv-main{
    width:100%;
    height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7f7f7;
    border-radius:10px;
    overflow:hidden
}
.swqv-main img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    transition:opacity .15s ease
}

/* ===== FULLSCREEN IMAGE VIEW ===== */
#swqv-img-overlay{
    position:fixed;
    inset:0;
    z-index:1000001;
    background:rgba(0,0,0,.92);
    display:none;
    justify-content:center;
    align-items:center
}
#swqv-img-overlay[style*="display: block"]{
    display:flex!important
}
#swqv-img-overlay img{
    max-width:95vw;
    max-height:95vh;
    object-fit:contain;
    margin:auto;
    display:block
}
#swqv-img-close {
    position: fixed;
    top: 18px;
    right: 18px;
    width: 61px;
    height: 61px;
    line-height: 30px;
    text-align: center;
    background: #fff;
    color: #000;
    border: 0;
    border-radius: 50%;
    font-size: 40px;
    font-weight: 600;
    cursor: pointer;
    z-index: 1000002;
    padding: 0px 0px 10px 0px !important;
}
