/* Images stay bounded by their native resolution; original size is optional. */
body.image-viewer-open{overflow:hidden}
[data-image-viewer]{cursor:zoom-in}
.image-viewer{padding:0;border:1px solid #dce4e6;border-radius:22px;width:min(1180px,calc(100vw - 40px));height:calc(100dvh - 40px);max-width:none;max-height:none;background:#f8fafb;color:#243e49;box-shadow:0 24px 100px #15314050;overflow:hidden}
.image-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}
.image-viewer::backdrop{background:#152b3ec4;backdrop-filter:blur(8px)}
.image-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid #dce4e6;background:#fff}
.image-viewer-title{font:500 22px/1.25 var(--serif,Georgia,serif);letter-spacing:-.02em;margin:0}
.image-viewer-actions{display:flex;align-items:center;gap:10px}
.image-viewer-button{border:1px solid #ccd9dd;border-radius:999px;min-height:44px;padding:9px 16px;background:#fff;color:#28434d;font:500 12px/1.35 var(--sans,Arial,sans-serif)}
.image-viewer-button:hover{background:#eaf0f4;border-color:#9eafb9}
.image-viewer-button:focus-visible,.image-viewer-file:focus-visible{outline:3px solid #926d30;outline-offset:3px}
.image-viewer-close{display:flex;align-items:center;gap:8px}
.image-viewer-close span{font-size:22px;line-height:1}
.image-viewer-stage{display:grid;place-items:center;overflow:auto;min-width:0;min-height:0;padding:18px;background:#eef2f4;overscroll-behavior:contain}
.image-viewer-image{display:block;object-fit:contain;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto;mix-blend-mode:normal}
.image-viewer-stage.is-original{display:block}
.image-viewer-stage.is-original .image-viewer-image{max-width:none;max-height:none}
.image-viewer-footer{padding:13px 22px 16px;border-top:1px solid #dce4e6;background:#fff;display:flex;align-items:start;justify-content:space-between;gap:20px}
.image-viewer-caption{font-size:12px;line-height:1.6;margin:0;max-width:840px}
.image-viewer-note{display:block;color:#536b76;font-size:11px;margin-top:3px}
.image-viewer-file{font-size:11px;line-height:1.6;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;flex-shrink:0;padding:4px 0}
@media(max-width:600px){.image-viewer{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:15px}.image-viewer-header{padding:10px 12px;gap:8px}.image-viewer-title{font-size:18px}.image-viewer-actions{gap:6px}.image-viewer-button{padding:8px 11px;font-size:11px}.image-viewer-close{font-size:0;padding:8px 13px}.image-viewer-close span{font-size:25px}.image-viewer-stage{padding:10px}.image-viewer-footer{padding:11px 14px 14px;display:block}.image-viewer-caption{font-size:11px}.image-viewer-note{font-size:10px}.image-viewer-file{display:inline-block;font-size:10px;margin-top:7px}}
@media(prefers-reduced-motion:reduce){.image-viewer,.image-viewer *{scroll-behavior:auto;animation:none;transition:none}}
