.image-zoom-open{display:block;position:relative;cursor:zoom-in;color:inherit}
.image-zoom-hint{position:absolute;bottom:10px;left:10px;padding:4px 9px;border-radius:4px;background:#fff;color:#222;font-size:14px;line-height:1.4;box-shadow:0 1px 5px #0002;pointer-events:none}
.image-zoom-open:focus-visible{outline:3px solid var(--accent,#ff5a0a);outline-offset:3px}
.image-zoom{padding:0;border:0;background:transparent;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;overflow:hidden}
.image-zoom:not([open]){display:none}
.image-zoom[open]{display:flex;align-items:center;justify-content:center}
.image-zoom::backdrop{background:rgba(0,0,0,.88)}
.image-zoom img{display:block;max-width:calc(100vw - 24px);max-height:calc(100dvh - 96px);width:auto;height:auto;object-fit:contain}
.image-zoom-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#111;font:36px/1 sans-serif;cursor:pointer}
html.image-zoom-active{overflow:hidden}
