/* Zoom das fotos de produto (dist/zoom.js) */
.zm-aberto,.zm-aberto body{overflow:hidden}
.zm{--zm-fundo:1;position:fixed;inset:0;z-index:200;background:rgba(18,8,17,calc(.94 * var(--zm-fundo)));display:block;color:#fff;touch-action:none;overscroll-behavior:contain}
.zm[hidden]{display:none}
.zm-palco{position:absolute;inset:56px 0 118px;display:grid;place-items:center;overflow:hidden;cursor:zoom-in;touch-action:none}
.zm-perto .zm-palco{cursor:grab}
.zm-img{max-width:min(92vw,900px);max-height:100%;object-fit:contain;background:#fff;border-radius:14px;user-select:none;-webkit-user-drag:none;will-change:transform;transform-origin:center}
.zm-topo{position:absolute;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 18px}
.zm-cont{font-size:13px;opacity:.8}
.zm-x{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;border:0;cursor:pointer}
.zm-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:2}
.zm-nav[hidden]{display:none}
.zm-ant{left:10px}.zm-prox{right:10px}
.zm-perto .zm-nav{opacity:.25}
.zm-base{position:absolute;left:0;right:0;bottom:0;padding:10px 16px calc(14px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}
.zm-leg{margin:0;font-size:14px;font-weight:600;line-height:1.35;grid-column:1}
.zm-ctrl{grid-column:2;grid-row:1 / span 2;display:flex;gap:6px}
.zm-ctrl button{min-width:44px;height:44px;border-radius:12px;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:18px;cursor:pointer}
.zm-ctrl button[data-z="0"]{font-size:12px}
.zm-link{grid-column:1;font-size:13px;color:#f3d3e3;text-decoration:underline;text-underline-offset:3px;width:max-content}
.zm-link[hidden]{display:none}
.zm-dica{grid-column:1 / -1;margin:0;font-size:11px;opacity:.6}
.zm-x:focus-visible,.zm button:focus-visible,.zm a:focus-visible{outline:2px solid #f3d3e3;outline-offset:2px}
@media (max-width:640px){.zm-nav{display:none!important}.zm-ctrl button[data-z]{min-width:40px}}

/* Botão de lupa sobre as fotos */
.variant-card{position:relative}
.zm-btn{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.92);color:#3e102f;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px rgba(30,13,28,.12);transition:transform .15s}
.zm-btn:hover{transform:scale(1.06)}
.zm-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lv2-figura .zm-btn{top:auto;bottom:14px;right:14px;width:44px;height:44px}

/* Lupa ao passar o mouse na foto principal (computador) */
.detail-image-button{position:relative;overflow:hidden}
.zm-lente{position:absolute;width:190px;height:190px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(.6);opacity:0;background-repeat:no-repeat;background-size:320%;background-color:#fff;border:3px solid #fff;box-shadow:0 10px 30px rgba(30,13,28,.28);transition:opacity .15s,transform .15s;z-index:2}
.zm-lente.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (prefers-reduced-motion:reduce){.zm-img,.zm-lente,.zm-btn{transition:none!important}}
