.responsive-image{display:block;width:100%;min-width:0}
.hero-image img{width:100%;height:clamp(240px,26vw,360px);max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
.image-zoom{display:block;position:relative;width:100%;border-radius:6px;overflow:hidden;color:inherit;cursor:zoom-in}
.image-zoom-hint{position:absolute;right:8px;bottom:8px;padding:6px 9px;border-radius:4px;background:rgba(255,255,255,.94);box-shadow:0 1px 6px #17202114;color:#4b5552;font-size:10px;line-height:1.3;pointer-events:none}
.image-zoom:focus-visible{outline:3px solid #b8222d;outline-offset:4px}
.hero-visual{padding:clamp(12px,2vw,22px)}
.hero-visual img{aspect-ratio:1.4;max-height:400px;object-fit:contain}
.product-photo>.image-zoom{align-self:center}
.gallery .image-zoom{background:#fafbf8}
.fsh-image-dialog{border:0;border-radius:12px;max-width:min(1100px,94vw);max-height:94dvh;padding:24px;background:#fff;color:#172021;box-shadow:0 24px 100px #0005}
.fsh-image-dialog::backdrop{background:#10201ed9}
.fsh-image-dialog img{display:block;max-width:100%;width:auto;height:auto;max-height:73dvh;object-fit:contain;margin:0 auto}
.fsh-image-dialog button{display:block;margin:0 0 16px auto;background:#fff;border:1px solid #d8dfd9;border-radius:5px;padding:8px 14px;color:#172021;font:inherit;cursor:pointer}
.fsh-image-dialog button:focus-visible{outline:3px solid #b8222d;outline-offset:3px}
.fsh-image-dialog p{margin:16px 0 0;max-width:800px;color:#58635d;font-size:13px;line-height:1.7}
@media(max-width:640px){.hero-image img{height:auto;aspect-ratio:1.5}.hero-visual img{max-height:300px}.fsh-image-dialog{padding:15px}.fsh-image-dialog img{max-height:66dvh}.image-zoom-hint{font-size:9px}}
