html.vidrovez_lightbox_open { overflow: hidden; }
.vidrovez_lightbox {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 72px 80px 32px;
    border: 0;
    background: rgba(10, 30, 40, .96);
    color: #fff;
}
.vidrovez_lightbox[open] { display: flex; align-items: center; justify-content: center; }
.vidrovez_lightbox::backdrop { background: rgba(0, 0, 0, .8); }
.vidrovez_lightbox .vidrovez_lightbox_figure { margin: 0; max-width: 100%; text-align: center; }
.vidrovez_lightbox [data-lightbox-image] {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100dvh - 170px);
    margin: auto;
    object-fit: contain;
}
.vidrovez_lightbox figcaption { margin-top: 18px; font: 14px/1.5 sans-serif; color: #fff; }
.vidrovez_lightbox button {
    position: absolute;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 50%;
    background: #285f73;
    color: #fff;
    font: 28px/1 sans-serif;
    cursor: pointer;
}
.vidrovez_lightbox button:hover { background: #377e91; }
.vidrovez_lightbox button:focus-visible { outline: 3px solid #75bfd0; outline-offset: 4px; }
.vidrovez_lightbox button[hidden] { display: none; }
.vidrovez_lightbox_close { top: 16px; right: 20px; }
.vidrovez_lightbox_previous { top: calc(50% - 24px); left: 16px; }
.vidrovez_lightbox_next { top: calc(50% - 24px); right: 16px; }
@media (max-width: 600px) {
    .vidrovez_lightbox { padding: 76px 16px 100px; }
    .vidrovez_lightbox [data-lightbox-image] { max-height: calc(100dvh - 240px); }
    .vidrovez_lightbox_previous { top: auto; bottom: 24px; left: calc(50% - 64px); }
    .vidrovez_lightbox_next { top: auto; bottom: 24px; right: calc(50% - 64px); }
}
