/* Full-screen photo viewer, shared by event pages and the landing-page wall. */
dialog.lb{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;
  background:rgba(6,2,16,.96);color:var(--cream)}
dialog.lb::backdrop{background:rgba(6,2,16,.9)}
.lb-stage{position:absolute;inset:56px 72px 64px;display:flex;align-items:center;justify-content:center}
.lb-stage img{width:100%;height:100%;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px -30px #000;transition:opacity .25s}
.lb-stage img.loading{opacity:.25}
.lb-btn{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);
  background:rgba(20,10,40,.7);color:var(--cream);cursor:pointer;transition:background .25s,border-color .25s}
.lb-btn:hover{background:rgba(157,92,255,.35);border-color:rgba(243,236,255,.3)}
.lb-btn svg{width:22px;height:22px;stroke:currentColor}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}.lb-next{right:14px;top:50%;transform:translateY(-50%)}
.lb-close{right:14px;top:10px}
.lb-count{position:absolute;left:0;right:0;bottom:20px;text-align:center;font-size:.85rem;color:var(--muted);letter-spacing:.06em}
@media(max-width:640px){.lb-stage{inset:60px 8px 70px}.lb-prev,.lb-next{top:auto;bottom:10px;transform:none}.lb-prev{left:12px}.lb-next{right:12px}}

.lb-caption{position:absolute;left:0;right:0;bottom:44px;text-align:center;font-size:.95rem;color:var(--cream)}
.lb-caption a{color:var(--aqua);text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.lb-caption{bottom:64px;padding:0 70px}}
