/* Navegação móvel do Lightbox: deslize horizontal e controles legíveis. */
.lightbox .lb-image {
    -webkit-user-drag: none;
    user-select: none;
    touch-action: pan-y;
}

/* v17.0.20 — imagem flutuante: sem moldura branca, com sombra semelhante
   ao carrossel público. O arquivo original não é alterado. */
.lightbox .lb-outerContainer {
    background: transparent !important;
    padding: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
}

.lightbox .lb-container {
    padding: 0 !important;
}

.lightbox .lb-image {
    border: 0 !important;
    background: transparent !important;
    border-radius: 10px !important;
    box-shadow:
        0 20px 50px rgba(0, 0, 0, .45),
        0 8px 18px rgba(0, 0, 0, .25);
    transition: opacity .18s ease;
}

/* Desktop/notebook: moldura vertical 4:5, adequada ao padrão predominante
   da galeria (1:1, 3:4 e 9:16). Imagens fora da proporção são recortadas
   centralmente apenas no lightbox, sem alterar o arquivo original. */
@media (min-width: 701px) {
    .lightbox .lb-outerContainer {
        width: min(38vw, 608px) !important;
        height: min(82vh, 760px) !important;
        box-sizing: border-box;
        border-radius: 10px;
        transition: none !important;
    }

    .lightbox .lb-container {
        width: 100% !important;
        height: 100% !important;
    }

    .lightbox .lb-image {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover;
        object-position: center;
    }

    .lightbox .lb-dataContainer {
        width: min(38vw, 608px) !important;
        max-width: min(38vw, 608px) !important;
    }

    .lightbox .lb-nav a.lb-prev,
    .lightbox .lb-nav a.lb-next {
        position: absolute;
        top: 50%;
        width: 48px;
        height: 48px;
        margin-top: -24px;
        float: none;
        opacity: .92;
        border-radius: 50%;
        background-color: rgba(24, 18, 21, .78);
        background-position: center;
        background-size: 18px auto;
        box-shadow: 0 5px 18px rgba(0,0,0,.28);
        backdrop-filter: blur(4px);
        transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
    }

    .lightbox .lb-nav a.lb-prev { left: 14px; }
    .lightbox .lb-nav a.lb-next { right: 14px; }

    .lightbox .lb-nav a.lb-prev:hover,
    .lightbox .lb-nav a.lb-next:hover {
        opacity: 1;
        transform: scale(1.06);
        background-color: rgba(24, 18, 21, .94);
    }
}

/* Celular: área vertical estável, preenchida pela foto, sem caixa branca. */
@media (max-width: 700px) {
    .lightbox .lb-outerContainer {
        width: 92vw !important;
        height: min(72vh, 720px) !important;
        border-radius: 10px;
    }

    .lightbox .lb-container {
        width: 100% !important;
        height: 100% !important;
    }

    .lightbox .lb-image {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover;
        object-position: center;
    }

    .lightbox .lb-dataContainer {
        width: 92vw !important;
    }
}

@media (hover: none), (pointer: coarse) {
    .lightbox .lb-nav a.lb-prev,
    .lightbox .lb-nav a.lb-next {
        opacity: .78;
        background-size: 28px auto;
    }

    .lightbox .lb-nav a.lb-prev { background-position: 12px 50%; }
    .lightbox .lb-nav a.lb-next { background-position: calc(100% - 12px) 50%; }
}
