
/* In-page screenshot viewer. Native dialog provides focus trapping and Escape. */
.screenshot-gallery a,.workshop-photos a{cursor:zoom-in}
.screenshot-viewer{position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:60px 64px;border:0;background:transparent;overflow:hidden;color:white}
.screenshot-viewer[open]{display:flex;align-items:center;justify-content:center}
.screenshot-viewer::backdrop{background:rgba(0,0,0,.88)}
.screenshot-viewer .viewer-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;touch-action:pan-y pinch-zoom}
.screenshot-viewer button{position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#202020b3;color:#fff;font:32px/1 Arial;cursor:pointer}
.screenshot-viewer button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.screenshot-viewer button[hidden]{display:none}
.viewer-close{top:12px;right:12px}.viewer-prev{left:10px;top:calc(50% - 22px)}.viewer-next{right:10px;top:calc(50% - 22px)}
.viewer-count{position:absolute;bottom:18px;left:0;width:100%;text-align:center;font:14px/1.5 Arial;color:#fff}
@media(max-width:600px){.screenshot-viewer{padding:64px 8px 80px}.viewer-prev{top:auto;bottom:14px;left:calc(50% - 90px)}.viewer-next{top:auto;bottom:14px;right:calc(50% - 90px)}.viewer-count{bottom:25px;left:calc(50% - 35px);width:70px}}
