.flatlay-strip img{cursor:zoom-in}
.product-zoom-cursor{position:absolute;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:white;mix-blend-mode:difference;font-size:20px;line-height:1;pointer-events:none;z-index:3;opacity:0;transition:opacity .15s}
.product-zoom-cursor.is-visible{opacity:1}
.product-zoom{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;border:0;margin:0;background:#fff;color:#111;overflow:hidden}
.product-zoom::backdrop{background:rgba(0,0,0,.25)}
.product-zoom-stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;cursor:zoom-out;touch-action:none}
.product-zoom-stage img{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;pointer-events:none;transform-origin:center;will-change:transform;user-select:none}
.product-zoom-close{position:absolute;top:18px;right:20px;z-index:2;display:grid;place-items:center;width:44px;height:44px;background:rgba(255,255,255,.8);border:0;border-radius:50%;font-size:28px;line-height:1}
.product-zoom-note{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:2;margin:0;font-size:11px;letter-spacing:.04em;text-align:center;white-space:nowrap;padding:8px 12px;background:rgba(255,255,255,.8);pointer-events:none}
@media(any-hover:hover) and (any-pointer:fine){.flatlay-gallery:has(.product-zoom-cursor) .flatlay-strip img{cursor:none}}
@media(prefers-reduced-motion:reduce){.product-zoom-cursor{transition:none}}
