.lightbox-wrapper {width:100%;}
.caption {position:relative; z-index:2; display:inline-block;}
.lightbox-wrapper .lightbox {position:fixed; inset:0; z-index:1000; display:none; width:100%; height:100%; padding:30px; background:rgba(2,24,29,.94); text-align:center;}
.lightbox-wrapper .lightbox a {color:#fff; text-decoration:none;}
.lightbox-wrapper .lightbox img {display:block; width:auto; height:auto; max-width:calc(100vw - 120px); max-height:calc(100vh - 60px); border-radius:6px; box-shadow:0 24px 70px rgba(0,0,0,.42);}
.lightbox-wrapper .lightbox:target {display:table;}
.lightbox-wrapper .lightbox .img-prev {position:relative; z-index:1001; display:table-cell; vertical-align:middle;}
.lightbox-wrapper .lightbox .img-prev img {margin:auto;}
.lightbox-wrapper .lightbox-backdrop {position:fixed; inset:0; z-index:-1; display:block;}
.lightbox-wrapper .next,.lightbox-wrapper .prev,.lightbox-wrapper .lightbox-close {position:fixed; z-index:10; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(2,39,49,.5); backdrop-filter:blur(6px); transition:background-color .2s ease,border-color .2s ease,transform .2s ease;}
.lightbox-wrapper .next,.lightbox-wrapper .prev {top:50%; transform:translateY(-50%);}
.lightbox-wrapper .next:hover,.lightbox-wrapper .prev:hover,.lightbox-wrapper .lightbox-close:hover {border-color:#fff; background:var(--theme-color);}
.lightbox-wrapper .prev {left:24px;}
.lightbox-wrapper .next {right:24px;}
.lightbox-wrapper .next .site-icon,.lightbox-wrapper .prev .site-icon {width:14px; height:22px; color:#fff;}
.lightbox-wrapper .lightbox-close {top:22px; right:24px; font-family:Arial,sans-serif; font-size:30px; line-height:1;}
.gallery-tile {position:relative; display:block; min-width:0; overflow:hidden; border-radius:6px; background:var(--alt-color); isolation:isolate;}
.gallery-tile::before {content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 45%,rgba(2,39,49,.44)); opacity:0; transition:opacity .3s ease;}
.gallery-tile-icon {position:absolute; right:16px; bottom:16px; z-index:2; display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(2,39,49,.38); color:#fff; opacity:0; transform:translateY(8px); backdrop-filter:blur(5px); transition:opacity .25s ease,transform .25s ease,background-color .2s ease;}
.gallery-tile-icon .site-icon {width:14px; height:14px;}
.gallery-tile img {width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.65,.3,1);}
.gallery-tile:hover::before,.gallery-tile:focus-visible::before,.gallery-tile:hover .gallery-tile-icon,.gallery-tile:focus-visible .gallery-tile-icon {opacity:1;}
.gallery-tile:hover .gallery-tile-icon,.gallery-tile:focus-visible .gallery-tile-icon {transform:translateY(0);}
.gallery-tile:hover img,.gallery-tile:focus-visible img {transform:scale(1.055);}
.gallery-tile:focus-visible {outline:3px solid var(--theme-color); outline-offset:3px;}

@media (max-width:767px) {
    .gallery-tile-icon {right:11px; bottom:11px; width:36px; height:36px; opacity:1; transform:none;}
    .lightbox-wrapper .lightbox {padding:16px;}
    .lightbox-wrapper .lightbox img {max-width:calc(100vw - 32px); max-height:calc(100vh - 90px);}
    .lightbox-wrapper .next,.lightbox-wrapper .prev,.lightbox-wrapper .lightbox-close {width:42px; height:42px;}
    .lightbox-wrapper .prev {left:12px;}
    .lightbox-wrapper .next {right:12px;}
    .lightbox-wrapper .lightbox-close {top:12px; right:12px;}
}

@media (max-width:359px) {
    .lightbox-wrapper .lightbox {padding:10px;}
    .lightbox-wrapper .lightbox img {max-width:calc(100vw - 20px); max-height:calc(100vh - 78px);}
    .lightbox-wrapper .next,.lightbox-wrapper .prev,.lightbox-wrapper .lightbox-close {width:38px; height:38px;}
    .lightbox-wrapper .lightbox-close {top:12px; right:12px; font-size:26px;}
    .lightbox-wrapper .prev {left:10px;}
    .lightbox-wrapper .next {right:10px;}
}
