.lightbox .photo-zoom-viewport{position:relative;display:grid;place-items:center;width:100%;height:min(72dvh,calc(100dvh - 164px));min-height:80px;overflow:hidden;touch-action:none;overscroll-behavior:contain;background:#030303;user-select:none;-webkit-user-select:none;isolation:isolate}
.lightbox .photo-zoom-viewport img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform-origin:50% 50%;touch-action:none;transition:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.lightbox .photo-zoom-viewport[data-zoomed=true]{cursor:grab}.lightbox .photo-zoom-viewport:active{cursor:grabbing}
.lightbox .photo-zoom-controls{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin:4px 12px;position:relative;z-index:4;flex-wrap:wrap}
.lightbox .photo-zoom-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;color:#fff;background:#171717;border:1px solid #666;border-radius:5px;font:500 15px/1.3 Montserrat,Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.lightbox .photo-zoom-button:first-child,.lightbox .photo-zoom-button:nth-child(3){font-size:24px;line-height:1}
.lightbox .photo-zoom-button:disabled{opacity:.4;cursor:default}.lightbox .photo-zoom-button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lightbox .photo-zoom-status{min-width:45px;font:500 13px/1.4 Montserrat,Arial,sans-serif;color:#bbb;text-align:center}
.lightbox figure.has-photo-zoom{display:flex;flex-direction:column;max-height:calc(100dvh - 22px);overflow:hidden}
.lightbox figure.has-photo-zoom>.lightbox-reserve{flex-shrink:0;margin:4px auto 10px;min-height:44px}
.lightbox figure.has-photo-zoom>.lightbox-image-status{margin:0;padding:3px 12px;font-size:13px}
@media(max-width:680px){.lightbox .photo-zoom-viewport{height:calc(100dvh - 154px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.lightbox figure.has-photo-zoom{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.lightbox .photo-zoom-controls{gap:8px;margin:4px 10px}.lightbox .photo-zoom-button{padding:8px 12px;font-size:14px}}
@media(max-height:420px) and (orientation:landscape){.lightbox .photo-zoom-viewport{height:calc(100dvh - 132px)}.lightbox .photo-zoom-controls{margin:2px 10px;gap:8px}.lightbox .photo-zoom-button{min-height:40px}}
