/* ================= ZOOM OVERLAY ================= */
.zoom-overlay{
    position:fixed;
    inset:0;
    background:#000;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    overflow:hidden;
    overscroll-behavior:none;
}

.zoom-overlay.is-open{display:flex;}

/* ================= BOTÃO VOLTAR ================= */
.zoom-close{
    position:fixed;
    top:70px;
    left:15px;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(0,0,0,.7);
    color:#fff;
    font-size:20px;
    border:0;
    cursor:pointer;
    z-index:10001;
    backdrop-filter:blur(6px);
}
.zoom-close:active{transform:scale(.92)}

/* Galeria fullscreen: uma foto por página e swipe horizontal nativo. */
.zoom-gallery{
    position:relative;
    width:100vw;
    height:100dvh;
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pinch-zoom;
    user-select:none;
    -webkit-user-select:none;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
}

.zoom-gallery::-webkit-scrollbar{display:none;}

.zoom-slide{
    flex:0 0 100vw;
    width:100vw;
    height:100dvh;
    display:flex;
    align-items:center;
    justify-content:center;
    scroll-snap-align:start;
    scroll-snap-stop:always;
}

.zoom-gallery img{
    display:block;
    width:auto;
    height:auto;
    max-width:100vw;
    max-height:100dvh;
    object-fit:contain;
    transform:none !important;
    image-orientation:from-image;
    -webkit-user-drag:none;
    pointer-events:none;
}

.zoom-counter{
    position:fixed;
    top:70px;
    right:15px;
    color:#fff;
    background:rgba(0,0,0,.6);
    padding:6px 12px;
    border-radius:20px;
    font-size:14px;
    z-index:10001;
}
