.detail-image a[data-photo], .other-photos a[data-photo], .artwork-views a[data-photo] { display: block; cursor: zoom-in; }
dialog.photo-viewer { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 64px 72px; border: 0; background: rgba(18,18,18,.97); color: white; }
.photo-viewer::backdrop { background: #121212; }
.photo-viewer[open] { display: grid; place-items: center; }
.photo-viewer img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.photo-viewer button { position: absolute; border: 0; background: transparent; color: white; cursor: pointer; width: 48px; height: 48px; font: 32px/1 sans-serif; }
.photo-viewer button:focus-visible { outline: 1px solid white; outline-offset: 2px; }
.photo-viewer-close { top: 12px; right: 16px; }
.photo-viewer-prev { left: 12px; top: calc(50% - 24px); }
.photo-viewer-next { right: 12px; top: calc(50% - 24px); }
.photo-viewer-count { position: absolute; bottom: 16px; left: 0; width: 100%; text-align: center; font-size: 14px; letter-spacing: .12em; }
@media (max-width: 720px) { dialog.photo-viewer { padding: 64px 12px 88px; } .photo-viewer-prev, .photo-viewer-next { top: auto; bottom: 8px; } }

