{"product_id":"balon-de-futbol-flotante-con-luz-y-musica-recargable","title":"Balón de Fútbol Flotante con Luz y Música Recargable","description":"\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700;800\u0026family=Manrope:wght@400;600;700;800\u0026display=swap');\n\n#mg3108{\n  --green:#08A56E;\n  --dark:#142923;\n  --muted:#62716b;\n  --light:#f0faf5;\n  --border:#e2eee7;\n  font-family:'DM Sans',sans-serif;\n  color:var(--dark);\n  background:#fff;\n  line-height:1.55;\n  width:100%;\n  overflow:hidden;\n}\n#mg3108 *{box-sizing:border-box}\n#mg3108 h2,#mg3108 h3,#mg3108 p{\n  margin:0;\n  padding:0;\n  letter-spacing:normal;\n  text-transform:none;\n}\n#mg3108 h2,#mg3108 h3{\n  font-family:'Manrope',sans-serif;\n  line-height:1.22;\n  color:var(--dark);\n}\n#mg3108 .wrap{\n  max-width:1060px;\n  padding:0 24px;\n  margin:auto;\n}\n#mg3108 .green{color:var(--green)}\n#mg3108 .eyebrow{\n  font-size:11px;\n  letter-spacing:1.5px;\n  text-transform:uppercase;\n  font-weight:800;\n  color:var(--green);\n  display:block;\n  margin-bottom:13px;\n}\n#mg3108 .hero{\n  padding:53px 0 49px;\n  text-align:center;\n}\n#mg3108 .hero h2{\n  font-size:clamp(29px,4.4vw,48px);\n  letter-spacing:-1.6px;\n  font-weight:800;\n  max-width:770px;\n  margin:0 auto 18px;\n}\n#mg3108 .hero p{\n  font-size:16px;\n  line-height:1.8;\n  color:var(--muted);\n  max-width:590px;\n  margin:0 auto 22px;\n}\n#mg3108 .highlight{\n  display:inline-block;\n  background:var(--light);\n  color:#08764f;\n  padding:11px 19px;\n  border-radius:30px;\n  font-size:13px;\n  font-weight:800;\n}\n#mg3108 .benefits{\n  padding:48px 0 55px;\n  border-top:1px solid var(--border);\n}\n#mg3108 .heading{\n  text-align:center;\n  margin-bottom:31px;\n}\n#mg3108 .heading h2{\n  font-size:clamp(24px,3vw,32px);\n  font-weight:800;\n  letter-spacing:-.8px;\n}\n#mg3108 .grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:15px;\n}\n#mg3108 .feature{\n  border:1px solid var(--border);\n  border-radius:18px;\n  padding:25px;\n  background:white;\n}\n#mg3108 .feature h3{\n  font-size:17px;\n  font-weight:800;\n  margin-bottom:8px;\n}\n#mg3108 .feature p{\n  font-size:14px;\n  line-height:1.7;\n  color:var(--muted);\n}\n#mg3108 .feature-icon{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  width:46px;\n  height:46px;\n  border-radius:13px;\n  background:var(--light);\n  color:var(--green);\n  margin-bottom:16px;\n}\n#mg3108 .feature-icon svg{\n  width:24px;\n  height:24px;\n  stroke:currentColor;\n  stroke-width:1.8;\n  fill:none;\n  stroke-linecap:round;\n  stroke-linejoin:round;\n}\n\n\/* VIDEO EN USO *\/\n#mg3108 .video-section{\n  padding:54px 0;\n  background:var(--light);\n}\n#mg3108 .video-grid{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:50px;\n  align-items:center;\n}\n#mg3108 .video-copy h2{\n  font-size:clamp(25px,3.4vw,35px);\n  font-weight:800;\n  letter-spacing:-1px;\n  margin-bottom:17px;\n}\n#mg3108 .video-copy p{\n  color:var(--muted);\n  font-size:15px;\n  line-height:1.8;\n}\n#mg3108 .video-note{\n  display:flex;\n  align-items:center;\n  gap:10px;\n  font-size:13px;\n  font-weight:800;\n  color:#08764f;\n  margin-top:23px;\n}\n#mg3108 .check{\n  background:var(--green);\n  color:#fff;\n  width:25px;\n  height:25px;\n  border-radius:50%;\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  flex-shrink:0;\n}\n#mg3108 .check svg{\n  width:15px;\n  height:15px;\n  fill:none;\n  stroke:currentColor;\n  stroke-width:3;\n}\n#mg3108 .video-frame{\n  width:100%;\n  max-width:410px;\n  margin:auto;\n  background:#fff;\n  padding:9px;\n  border:1px solid var(--border);\n  border-radius:19px;\n  overflow:hidden;\n}\n#mg3108 .video-frame video{\n  width:100%;\n  height:auto;\n  aspect-ratio:3\/4;\n  display:block;\n  object-fit:cover;\n  border-radius:12px;\n  background:#e7eee9;\n}\n#mg3108 .video-caption{\n  padding:12px 6px 5px;\n  font-size:12px;\n  font-weight:800;\n  color:#587569;\n  text-align:center;\n}\n\n\/* CTA *\/\n#mg3108 .cta{\n  text-align:center;\n  padding:55px 0;\n}\n#mg3108 .cta h2{\n  font-size:clamp(25px,3.5vw,34px);\n  font-weight:800;\n  letter-spacing:-1px;\n  margin-bottom:13px;\n}\n#mg3108 .cta p{\n  font-size:15px;\n  color:var(--muted);\n  margin-bottom:27px;\n}\n#mg3108 .cart-btn{\n  width:100%;\n  max-width:420px;\n  min-height:60px;\n  margin:auto;\n  background:var(--green);\n  border:0;\n  border-radius:12px;\n  color:#fff;\n  font-family:'DM Sans',sans-serif;\n  font-size:15px;\n  font-weight:800;\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:18px;\n  padding:15px 22px;\n  cursor:pointer;\n  transition:background .2s;\n}\n#mg3108 .cart-btn:hover{background:#087f55}\n#mg3108 .cart-btn:disabled{\n  opacity:.65;\n  cursor:wait;\n}\n#mg3108 .btn-left{\n  display:flex;\n  align-items:center;\n  gap:12px;\n}\n#mg3108 .cart-btn svg{\n  width:21px;\n  height:21px;\n  fill:none;\n  stroke:currentColor;\n  stroke-width:1.8;\n  stroke-linecap:round;\n  stroke-linejoin:round;\n}\n#mg3108 .cart-status{\n  font-size:12px;\n  min-height:20px;\n  margin-top:13px;\n  color:var(--muted);\n}\n\n\/* FAQ *\/\n#mg3108 .faq{\n  padding:54px 0 68px;\n  background:#f8faf9;\n}\n#mg3108 .faq-list{\n  max-width:760px;\n  margin:auto;\n}\n#mg3108 .faq details{\n  background:#fff;\n  border:1px solid var(--border);\n  border-radius:12px;\n  margin-bottom:10px;\n  overflow:hidden;\n}\n#mg3108 .faq summary{\n  list-style:none;\n  cursor:pointer;\n  padding:19px 22px;\n  display:flex;\n  justify-content:space-between;\n  gap:16px;\n  align-items:center;\n  font-size:14px;\n  font-weight:800;\n  color:var(--dark);\n}\n#mg3108 .faq summary::-webkit-details-marker{\n  display:none;\n}\n#mg3108 .plus{\n  width:23px;\n  height:23px;\n  border-radius:50%;\n  background:var(--light);\n  flex-shrink:0;\n  position:relative;\n}\n#mg3108 .plus:before,\n#mg3108 .plus:after{\n  content:\"\";\n  position:absolute;\n  left:50%;\n  top:50%;\n  transform:translate(-50%,-50%);\n  background:var(--green);\n}\n#mg3108 .plus:before{width:10px;height:2px}\n#mg3108 .plus:after{width:2px;height:10px}\n#mg3108 details[open] .plus:after{display:none}\n#mg3108 .answer{\n  padding:0 22px 20px;\n  font-size:14px;\n  line-height:1.75;\n  color:var(--muted);\n}\n\n@media(max-width:767px){\n  #mg3108 .wrap{padding:0 19px}\n  #mg3108 .hero{padding:37px 0 40px}\n  #mg3108 .hero h2{\n    font-size:30px;\n    letter-spacing:-1px;\n  }\n  #mg3108 .hero p{font-size:14px}\n  #mg3108 .benefits{padding:40px 0 45px}\n  #mg3108 .grid{\n    grid-template-columns:1fr;\n    gap:11px;\n  }\n  #mg3108 .feature{\n    display:grid;\n    grid-template-columns:43px 1fr;\n    column-gap:14px;\n    padding:19px;\n  }\n  #mg3108 .feature-icon{\n    grid-row:span 2;\n    width:43px;\n    height:43px;\n    margin:0;\n  }\n  #mg3108 .feature h3{\n    font-size:15px;\n    margin-bottom:5px;\n  }\n  #mg3108 .feature p{font-size:13px}\n  #mg3108 .video-section{padding:43px 0}\n  #mg3108 .video-grid{\n    grid-template-columns:1fr;\n    gap:26px;\n  }\n  #mg3108 .video-copy h2{font-size:26px}\n  #mg3108 .video-copy p{font-size:14px}\n  #mg3108 .video-frame{max-width:380px}\n  #mg3108 .cta{padding:46px 0}\n  #mg3108 .faq{padding:43px 0 54px}\n  #mg3108 .faq summary{\n    font-size:13px;\n    padding:17px;\n  }\n  #mg3108 .answer{\n    padding:0 17px 17px;\n    font-size:13px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv id=\"mg3108\"\u003e\n\u003csection class=\"hero\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cspan class=\"eyebrow\"\u003eDIVERSIÓN EN CASA\u003c\/span\u003e\n\u003ch2\u003e¡El fútbol ahora también \u003cspan class=\"green\"\u003ese juega dentro de casa!\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp\u003eUna pelota que se desliza por el piso, con luces y música para hacer cada partido mucho más divertido.\u003c\/p\u003e\n\u003cspan class=\"highlight\"\u003e Más juego, más movimiento y menos pantallas. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"benefits\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"heading\"\u003e\n\u003cspan class=\"eyebrow\"\u003eDESCUBRÍ CÓMO FUNCIONA\u003c\/span\u003e\n\u003ch2\u003eUna forma diferente de jugar\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"grid\"\u003e\n\u003carticle class=\"feature\"\u003e\n\u003cdiv class=\"feature-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\"\u003e\n              \u003cpath d=\"M3 8h11a3 3 0 1 0-3-3\"\u003e\u003c\/path\u003e\n              \u003cpath d=\"M2 12h17a3 3 0 1 1-3 3\"\u003e\u003c\/path\u003e\n              \u003cpath d=\"M4 16h7a3 3 0 1 1-3 3\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eSe desliza, no rueda\u003c\/h3\u003e\n\u003cp\u003eSu sistema eléctrico genera aire para desplazarse suavemente sobre pisos lisos.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"feature\"\u003e\n\u003cdiv class=\"feature-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\"\u003e\n              \u003cpath d=\"M9 18V5l12-2v13\"\u003e\u003c\/path\u003e\n              \u003ccircle cx=\"6\" cy=\"18\" r=\"3\"\u003e\u003c\/circle\u003e\n              \u003ccircle cx=\"18\" cy=\"16\" r=\"3\"\u003e\u003c\/circle\u003e\n            \u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eLuces y música\u003c\/h3\u003e\n\u003cp\u003eEfectos luminosos y sonido que acompañan cada jugada y hacen el juego más entretenido.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"feature\"\u003e\n\u003cdiv class=\"feature-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\"\u003e\n              \u003crect x=\"3\" y=\"7\" width=\"17\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\n              \u003cpath d=\"M22 10v4M12 9l-3 4h3l-1 3 5-5\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eBatería recargable\u003c\/h3\u003e\n\u003cp\u003eSe recarga para volver a jugar, sin depender de pilas desechables.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"feature\"\u003e\n\u003cdiv class=\"feature-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\"\u003e\n              \u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\n              \u003ccircle cx=\"17\" cy=\"8\" r=\"2.5\"\u003e\u003c\/circle\u003e\n              \u003cpath d=\"M2 20v-2a6 6 0 0 1 12 0v2\"\u003e\u003c\/path\u003e\n              \u003cpath d=\"M16 14a5 5 0 0 1 6 5v1\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3\u003eDiversión para compartir\u003c\/h3\u003e\n\u003cp\u003eIdeal para jugar entre hermanos, amigos o en familia, sin necesidad de salir.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- VIDEO EN REEMPLAZO DE LA IMAGEN --\u003e\n\u003csection class=\"video-section\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"video-grid\"\u003e\n\u003cdiv class=\"video-copy\"\u003e\n\u003cspan class=\"eyebrow\"\u003e MIRÁ CÓMO FUNCIONA \u003c\/span\u003e\n\u003ch2\u003eNo necesitás una cancha para \u003cspan class=\"green\"\u003edivertirte jugando.\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp\u003eSe desliza sobre el piso para que los chicos puedan pasarla, perseguirla y organizar sus propios partidos en casa.\u003c\/p\u003e\n\u003cdiv class=\"video-note\"\u003e\n\u003cspan class=\"check\"\u003e \u003csvg viewbox=\"0 0 24 24\"\u003e\n                \u003cpath d=\"M5 12l5 5L20 7\"\u003e\u003c\/path\u003e\n              \u003c\/svg\u003e \u003c\/span\u003e Ideal para pisos lisos y planos.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"video-frame\"\u003e\n\u003cvideo id=\"mg3108-video\" autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" preload=\"metadata\" disablepictureinpicture=\"\" aria-label=\"Demostración de la pelota de fútbol flotante en uso\"\u003e\n            \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/4dc02e68b3814e1bbf539b9baff695ac.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n\u003cdiv class=\"video-caption\"\u003eMirá la pelota flotante en acción\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"cta\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cspan class=\"eyebrow\"\u003eLISTA PARA JUGAR\u003c\/span\u003e\n\u003ch2\u003e¡Que empiece \u003cspan class=\"green\"\u003eel partido!\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp\u003eLuces, música y diversión para disfrutar en casa.\u003c\/p\u003e\n\u003cbutton type=\"button\" id=\"mg3108-add\" class=\"cart-btn\"\u003e \u003cspan class=\"btn-left\"\u003e \u003csvg viewbox=\"0 0 24 24\"\u003e\n            \u003ccircle cx=\"9\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\n            \u003ccircle cx=\"20\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\n            \u003cpath d=\"M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6\"\u003e\u003c\/path\u003e\n          \u003c\/svg\u003e \u003cspan id=\"mg3108-btn-text\"\u003e Agregar al carrito \u003c\/span\u003e \u003c\/span\u003e \u003csvg viewbox=\"0 0 24 24\"\u003e\n          \u003cpath d=\"M5 12h14m-6-6 6 6-6 6\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e \u003c\/button\u003e\n\u003cdiv class=\"cart-status\" id=\"mg3108-status\" role=\"status\" aria-live=\"polite\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"faq\"\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"heading\"\u003e\n\u003cspan class=\"eyebrow\"\u003e TODO LO QUE NECESITÁS SABER \u003c\/span\u003e\n\u003ch2\u003ePreguntas frecuentes\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"faq-list\"\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿La pelota vuela por el aire? \u003cspan class=\"plus\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"answer\"\u003eNo. Su sistema de aire permite que se deslice ligeramente elevada sobre el piso. No es una pelota voladora.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿En qué superficies funciona mejor? \u003cspan class=\"plus\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"answer\"\u003eFunciona mejor en pisos lisos y planos, como cerámica o baldosas. No es recomendable para alfombras gruesas, pasto o terrenos irregulares.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿Tiene luces y sonido? \u003cspan class=\"plus\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"answer\"\u003eSí. Incorpora luces y música para acompañar el juego.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿Necesita pilas? \u003cspan class=\"plus\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"answer\"\u003eNo. Este modelo cuenta con batería recargable, por lo que no necesita pilas desechables.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿Pueden jugar dos personas? \u003cspan class=\"plus\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"answer\"\u003eSí. Pueden pasarse la pelota y organizar pequeños partidos entre amigos, hermanos o familiares.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e¿Se puede utilizar al aire libre? \u003cspan class=\"plus\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"answer\"\u003eSí, sobre una superficie lisa, seca y nivelada. No está diseñada para jugar sobre pasto, tierra o terrenos irregulares.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  'use strict';\n\n  function init3108(){\n    var root=document.getElementById('mg3108');\n    if(!root||root.dataset.initialized==='true')return;\n    root.dataset.initialized='true';\n\n    \/\/ VIDEO AUTOMÁTICO E INFINITO\n    var video=root.querySelector('#mg3108-video');\n\n    if(video){\n      video.muted=true;\n      video.loop=true;\n      video.defaultMuted=true;\n\n      function playVideo(){\n        var result=video.play();\n        if(result\u0026\u0026typeof result.catch==='function'){\n          result.catch(function(){});\n        }\n      }\n\n      if('IntersectionObserver' in window){\n        var observer=new IntersectionObserver(function(entries){\n          entries.forEach(function(entry){\n            if(entry.isIntersecting){\n              playVideo();\n            }else{\n              video.pause();\n            }\n          });\n        },{threshold:0.15});\n        observer.observe(video);\n      }else{\n        playVideo();\n      }\n\n      document.addEventListener('visibilitychange',function(){\n        if(document.hidden){\n          video.pause();\n        }else if(video.getBoundingClientRect().top\u003cwindow.innerHeight){\n          playVideo();\n        }\n      });\n    }\n\n    \/\/ ACORDEONES FAQ\n    var faqs=root.querySelectorAll('.faq details');\n    faqs.forEach(function(item){\n      item.addEventListener('toggle',function(){\n        if(!item.open)return;\n        faqs.forEach(function(other){\n          if(other!==item)other.open=false;\n        });\n      });\n    });\n\n    \/\/ AGREGAR AL CARRITO\n    var button=root.querySelector('#mg3108-add');\n    var buttonText=root.querySelector('#mg3108-btn-text');\n    var status=root.querySelector('#mg3108-status');\n\n    function productForm(){\n      return Array.from(\n        document.querySelectorAll('form[action*=\"\/cart\/add\"]')\n      ).find(function(form){\n        return !root.contains(form);\n      })||null;\n    }\n\n    function variantId(){\n      var form=productForm();\n      var input=form\u0026\u0026form.querySelector('[name=\"id\"]');\n\n      if(input\u0026\u0026input.value)return input.value;\n\n      if(\n        window.ShopifyAnalytics\u0026\u0026\n        window.ShopifyAnalytics.meta\u0026\u0026\n        window.ShopifyAnalytics.meta.selectedVariantId\n      ){\n        return window.ShopifyAnalytics.meta.selectedVariantId;\n      }\n\n      return null;\n    }\n\n    function openDrawer(){\n      var drawer=document.querySelector(\n        'cart-drawer,#CartDrawer,.cart-drawer'\n      );\n\n      if(drawer\u0026\u0026typeof drawer.open==='function'){\n        drawer.open();\n        return true;\n      }\n\n      var trigger=document.querySelector(\n        '[aria-controls=\"CartDrawer\"],' +\n        '[data-cart-drawer-toggle],' +\n        '[data-cart-toggle]'\n      );\n\n      if(trigger){\n        trigger.click();\n        return true;\n      }\n      return false;\n    }\n\n    button.addEventListener('click',async function(){\n      if(button.disabled)return;\n\n      var id=variantId();\n\n      if(!id){\n        status.textContent='No se encontró la variante seleccionada.';\n        return;\n      }\n\n      button.disabled=true;\n      buttonText.textContent='Agregando...';\n      status.textContent='';\n\n      var base=window.Shopify\u0026\u0026window.Shopify.routes\n        ? window.Shopify.routes.root\n        : '\/';\n\n      var added=false;\n\n      try{\n        var form=productForm();\n        var data=form?new FormData(form):new FormData();\n\n        data.set('id',id);\n        if(!data.get('quantity'))data.set('quantity','1');\n        data.delete('form_type');\n        data.delete('utf8');\n\n        var response=await fetch(base+'cart\/add.js',{\n          method:'POST',\n          body:data,\n          credentials:'same-origin',\n          headers:{'Accept':'application\/json'}\n        });\n\n        var item=await response.json();\n\n        if(!response.ok){\n          throw new Error(\n            item.description||'No se pudo agregar el producto.'\n          );\n        }\n\n        added=true;\n        buttonText.textContent='¡Agregado al carrito!';\n\n        var cartResponse=await fetch(base+'cart.js',{\n          credentials:'same-origin'\n        });\n\n        if(cartResponse.ok){\n          var cart=await cartResponse.json();\n\n          document.querySelectorAll(\n            '.cart-count-bubble span[aria-hidden=\"true\"],' +\n            '[data-cart-count],.cart-count'\n          ).forEach(function(el){\n            el.textContent=cart.item_count;\n          });\n\n          ['cart:updated','cart:refresh','cart:change','cart:added']\n            .forEach(function(eventName){\n              document.dispatchEvent(new CustomEvent(eventName,{\n                bubbles:true,\n                detail:{\n                  cart:cart,\n                  product:item,\n                  source:'mg3108'\n                }\n              }));\n            });\n\n          if(\n            typeof window.publish==='function'\u0026\u0026\n            window.PUB_SUB_EVENTS\u0026\u0026\n            window.PUB_SUB_EVENTS.cartUpdate\n          ){\n            window.publish(window.PUB_SUB_EVENTS.cartUpdate,{\n              source:'mg3108',\n              cartData:cart,\n              variantId:item.id\n            });\n          }\n        }\n\n        requestAnimationFrame(openDrawer);\n        status.textContent='Producto agregado correctamente.';\n\n      }catch(error){\n        console.error('MilGenial 3108:',error);\n\n        if(added){\n          buttonText.textContent='¡Agregado al carrito!';\n          status.textContent='Producto agregado. Actualizá el carrito para verlo.';\n        }else{\n          buttonText.textContent='Agregar al carrito';\n          status.textContent=error.message||'Intentá nuevamente.';\n        }\n      }finally{\n        button.disabled=false;\n        if(added){\n          setTimeout(function(){\n            buttonText.textContent='Agregar al carrito';\n            status.textContent='';\n          },2500);\n        }\n      }\n    });\n  }\n\n  if(document.readyState==='loading'){\n    document.addEventListener('DOMContentLoaded',init3108);\n  }else{\n    init3108();\n  }\n})();\n\u003c\/script\u003e","brand":"Clara (Yiwu Mayhome Import\u0026export Co.,ltd) (0.0 Unidades - 99,83 $)","offers":[{"title":"Default Title","offer_id":67951838724410,"sku":"3108-0","price":790.0,"currency_code":"UYU","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0758\/3698\/1562\/files\/Portada_86d78d74-dfda-4833-953e-f33322df8767.png?v=1794413718","url":"https:\/\/milgenialuruguay.com\/products\/balon-de-futbol-flotante-con-luz-y-musica-recargable","provider":"MilGenial Uruguay","version":"1.0","type":"link"}