.zoomable-image{cursor:zoom-in}
.zoomable-image:focus-visible{outline:3px solid #5da83d;outline-offset:4px}
.photo-lightbox{position:fixed;inset:0;width:min(1200px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;margin:auto;padding:16px;border:1px solid #555;border-radius:12px;background:#141714;color:#fff;box-sizing:border-box;overflow:auto;z-index:10000}
.photo-lightbox::backdrop{background:rgba(0,0,0,.85)}
.photo-lightbox-bar,.photo-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.photo-lightbox button{font:inherit;cursor:pointer;padding:10px 16px;border:1px solid #73836d;border-radius:8px;background:#263222;color:#fff}
.photo-lightbox button[hidden]{display:none}
.photo-lightbox figure{margin:12px 0;text-align:center;overflow:auto;max-height:calc(94dvh - 145px)}
.photo-lightbox figure img{display:block;position:static;width:auto;height:auto;max-width:100%;max-height:calc(94dvh - 190px);object-fit:contain;margin:auto;cursor:zoom-in;border-radius:0}
.photo-lightbox figure img.is-zoomed{max-width:none;max-height:none;cursor:zoom-out}
.photo-lightbox figcaption{padding:10px;overflow-wrap:anywhere}
@media(max-width:600px){.photo-lightbox{padding:10px}.photo-lightbox button{padding:10px;font-size:14px}}
