/* Photo overlay (lightbox.js). */
html.lb-lock { overflow: hidden; }
.lb { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(12, 14, 18, .97); color: #f6f8fd; overflow: hidden; }
.lb::backdrop { background: rgba(12, 14, 18, .97); }
.lb[open] { display: block; animation: lb-in .16s ease-out; }
.lb-figure { margin: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 76px; box-sizing: border-box; }
.lb-img { display: block; width: auto; height: auto; max-width: calc(100vw - 152px); max-height: calc(100dvh - 120px); object-fit: contain; background: #1b1e24; }
.lb-caption { width: 100%; max-width: 900px; display: flex; justify-content: space-between; gap: 18px; align-items: baseline; padding-top: 14px; font-size: 13px; line-height: 1.5; color: #d3d9e3; }
.lb-meta { display: flex; gap: 16px; white-space: nowrap; font-size: 12px; color: #a9b3c1; font-variant-numeric: tabular-nums; }
.lb-full { color: #f6f8fd; text-decoration: underline; text-underline-offset: 3px; }
.lb-btn { position: fixed; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; font: 300 30px/1 system-ui, sans-serif; cursor: pointer; }
.lb-btn:hover { background: rgba(255, 255, 255, .2); }
.lb-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.lb-close { top: 12px; right: 12px; }
.lb-prev { left: 12px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 12px; top: 50%; transform: translateY(-50%); }
.lb-btn[hidden] { display: none; }
@keyframes lb-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .lb[open] { animation: none; } }
@media (max-width: 760px) {
  .lb-figure { padding: 64px 12px 76px; }
  .lb-img { max-width: calc(100vw - 24px); max-height: calc(100dvh - 230px); }
  .lb-caption { flex-direction: column; gap: 6px; font-size: 12px; }
  .lb-prev, .lb-next { top: auto; bottom: 14px; transform: none; width: 44px; height: 44px; }
}
.lb-zoom { cursor: zoom-in; }
.lb-zoom:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
