/*TILT_MELMAK_FINAL_v13 - Anulación de sombra nativa y Tilt directo en VIP*/ (function () { if (window.matchMedia('(pointer:coarse)').matches) return; (function () { var s = document.createElement('style'); s.appendChild(document.createTextNode( '[class*="product-offer"] { z-index: 999 !important; pointer-events: none !important; }' + /* Matamos la sombra gris nativa de Empretienda en el producto VIP para que no ensucie el 3D */ '.product-vip__carrousel-image { box-shadow: none !important; transition: transform .05s ease-out; will-change: transform; cursor: pointer; }' )); document.head.appendChild(s); })(); function atar() { // 1. Selector para el Catálogo (Grid general) var catalogos = document.querySelectorAll('.block-products-feed__product-media, .products-feed__product-media, .product-preview-carrousel__item'); for (var i = 0; i < catalogos.length; i++) (function (c) { if (c.getAttribute('data-mxm-tilt')) return; var img = c.querySelector('img'); if (!img) return; c.setAttribute('data-mxm-tilt', '1'); c.addEventListener('mousemove', function (e) { var r = c.getBoundingClientRect(); var x = (e.clientX - r.left) / r.width; var y = (e.clientY - r.top) / r.height; c.style.transform = 'perspective(400px) rotateX(' + ((0.5 - y) * 25) + 'deg) rotateY(' + ((x - 0.5) * 30) + 'deg) scale(1.10)'; c.style.transition = 'transform .05s ease-out'; c.style.zIndex = '50'; }); c.addEventListener('mouseleave', function () { c.style.transform = 'perspective(400px) rotateX(0deg) rotateY(0deg) scale(1)'; c.style.transition = 'transform .3s ease-out'; c.style.zIndex = '1'; }); })(catalogos[i]); // 2. Selector directo para la imagen de la página de producto VIP var vips = document.querySelectorAll('.product-vip__carrousel-image'); for (var j = 0; j < vips.length; j++) (function (img) { if (img.getAttribute('data-mxm-tilt')) return; img.setAttribute('data-mxm-tilt', '1'); img.addEventListener('mousemove', function (e) { var r = img.getBoundingClientRect(); var x = (e.clientX - r.left) / r.width; var y = (e.clientY - r.top) / r.height; img.style.transform = 'perspective(500px) rotateX(' + ((0.5 - y) * 20) + 'deg) rotateY(' + ((x - 0.5) * 20) + 'deg) scale(1.05)'; img.style.transition = 'transform .05s ease-out'; }); img.addEventListener('mouseleave', function () { img.style.transform = 'perspective(500px) rotateX(0deg) rotateY(0deg) scale(1)'; img.style.transition = 'transform .3s ease-out'; }); })(vips[j]); } atar(); setInterval(atar, 700); document.addEventListener('DOMContentLoaded', atar); })();