.image-viewer{box-sizing:border-box;width:min(960px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:92dvh;padding:18px;border:1px solid #b9cec6;border-radius:18px;background:#fff;color:#153d38;box-shadow:0 24px 80px #0005;overflow:auto}
.image-viewer::backdrop{background:#0d2421bf}.viewer-bar,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-viewer h2{font:700 20px/1.3 system-ui;margin:0;letter-spacing:normal}.image-viewer button{font:600 14px/1.4 system-ui;background:#edf4e9;color:#153d38;border:1px solid #9eb9ac;border-radius:8px;min-height:44px;padding:10px 14px;cursor:pointer}.image-viewer button:focus-visible{outline:3px solid #315cba;outline-offset:3px}.viewer-stage{margin-top:16px;max-height:62dvh;overflow:auto;background:#fff;overscroll-behavior:contain}.viewer-stage img{display:block;margin:auto;width:auto;height:auto;max-width:100%;max-height:62dvh;object-fit:contain}.viewer-stage.is-zoomed img{max-width:none;max-height:none;width:1200px;height:auto}.viewer-caption{font:14px/1.5 system-ui;margin:14px 0;color:#36574f}.gallery-caption{padding:0 16px;font-size:14px;line-height:1.5}.image-viewer [hidden]{display:none!important}@media(max-width:600px){.image-viewer{padding:12px}.viewer-stage,.viewer-stage img{max-height:54dvh}.viewer-controls{gap:6px}.image-viewer button{padding:10px}.image-viewer h2{font-size:18px}}
