main img[data-enlarge] { cursor: zoom-in; }
main img[data-enlarge]:focus-visible { outline: 3px solid #254536; outline-offset: 5px; }
.photo-viewer { border: 0; padding: 0; background: transparent; color: white; width: min(96vw, 1500px); max-width: 96vw; max-height: 96vh; max-height: 96dvh; overflow: auto; }
.photo-viewer::backdrop { background: rgba(12, 18, 15, .94); }
.photo-viewer figure { margin: 0; padding: 60px 8px 12px; text-align: center; }
.photo-viewer img { display: block; width: auto; height: auto; max-width: 100%; max-height: 72vh; max-height: 72dvh; object-fit: contain; margin: 0 auto; }
.photo-viewer-close { position: absolute; top: 4px; right: 8px; min-height: 44px; padding: 8px 18px; border: 1px solid #ffffff80; border-radius: 24px; background: #17251e; color: white; font: 500 1rem/1.5 sans-serif; cursor: pointer; }
.photo-viewer-close:focus-visible { outline: 3px solid white; outline-offset: 3px; }
