main img[data-lightbox] { cursor: zoom-in; }
main img[data-lightbox]:focus-visible { outline: 3px solid #C8793D; outline-offset: -4px; }
.photo-lightbox { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(12, 19, 16, .97); color: white; }
.photo-lightbox::backdrop { background: #0c1310; }
.photo-lightbox__viewport { position: absolute; inset: 64px 16px 64px; overflow: hidden; overscroll-behavior: contain; touch-action: none; }
.photo-lightbox__canvas { display: flex; width: 100%; height: 100%; }
.photo-lightbox__image { display: block; flex: none; margin: auto; max-width: none; max-height: none; object-fit: contain; user-select: none; -webkit-user-select: none; }
.photo-lightbox__control { position: absolute; z-index: 2; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #ffffff80; border-radius: 50%; background: #10231de6; color: white; cursor: pointer; }
.photo-lightbox__control:hover { background: #2C4A3E; }
.photo-lightbox__control:focus-visible { outline: 3px solid #C8793D; outline-offset: 3px; }
.photo-lightbox__control svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; }
.photo-lightbox__close { top: 8px; right: 16px; }
.photo-lightbox__prev { top: calc(50% - 24px); left: 8px; }
.photo-lightbox__next { top: calc(50% - 24px); right: 8px; }
.photo-lightbox__caption { position: absolute; bottom: 12px; left: 64px; right: 64px; margin: 0; text-align: center; font-size: 14px; }
@media (max-width: 767px) {
  .photo-lightbox__viewport { bottom: 88px; }
  .photo-lightbox__prev, .photo-lightbox__next { top: auto; bottom: max(16px, env(safe-area-inset-bottom)); background: transparent; border-color: #ffffff40; }
  .photo-lightbox__prev { left: 16px; }
  .photo-lightbox__next { right: 16px; }
  .photo-lightbox__caption { bottom: calc(max(16px, env(safe-area-inset-bottom)) + 12px); left: 76px; right: 76px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
