.photo-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:64px 68px;border:0;background:rgba(9,13,16,.97);color:white;box-sizing:border-box;overflow:hidden}
.photo-viewer::backdrop{background:#090d10}
.photo-viewer[open]{display:flex;align-items:center;justify-content:center}
.photo-viewer figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:0}
.photo-viewer img{display:block;max-width:100%;width:auto;max-height:calc(100% - 56px);object-fit:contain;min-height:0;touch-action:pan-y pinch-zoom}
.photo-viewer figcaption{text-align:center;font-size:14px;line-height:1.4;color:#eee;max-width:900px}
.photo-viewer button{position:absolute;width:48px;height:48px;border:1px solid #777;border-radius:50%;background:#20272e;color:white;font-size:36px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;z-index:1}
.photo-viewer button[hidden]{display:none}
.photo-viewer button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.photo-viewer .photo-close{right:16px;top:16px}
.photo-viewer .photo-prev{left:12px;top:calc(50% - 24px)}
.photo-viewer .photo-next{right:12px;top:calc(50% - 24px)}
@media(max-width:600px){.photo-viewer{padding:76px 8px 84px}.photo-viewer .photo-prev{top:auto;bottom:20px;left:calc(50% - 68px)}.photo-viewer .photo-next{top:auto;bottom:20px;right:calc(50% - 68px)}}
