{"product_id":"libro-de-dibujo-portatil-y-reutilizable-para-ninos","title":"Libro de Dibujo Portátil y Reutilizable para Niños","description":"\n\u003c!--\nMILGENIAL\nLibro de Dibujo Portátil y Reutilizable para Niños\nSKU: 3115-0\n--\u003e\n\n\u003cdiv id=\"mg3115\"\u003e\n\n\u003cstyle\u003e\n#mg3115 {\n  --mg-green: #08A56E;\n  --mg-dark-green: #078559;\n  --mg-black: #202b25;\n  --mg-gray: #64736b;\n  --mg-border: #e2ebe5;\n  --mg-light: #f4faf6;\n\n  width: 100%;\n  max-width: 100%;\n  margin: 0 auto;\n  background: #ffffff;\n  color: var(--mg-black);\n  font-family: 'Poppins', Arial, sans-serif;\n  line-height: 1.65;\n  overflow: hidden;\n}\n\n#mg3115 *,\n#mg3115 *::before,\n#mg3115 *::after {\n  box-sizing: border-box;\n}\n\n#mg3115 .mg-container {\n  width: 100%;\n  max-width: 980px;\n  margin: 0 auto;\n  padding: 0 22px;\n}\n\n#mg3115 h2,\n#mg3115 h3,\n#mg3115 p {\n  margin: 0;\n  padding: 0;\n  opacity: 1;\n  visibility: visible;\n  transform: none;\n  text-transform: none;\n  letter-spacing: normal;\n}\n\n#mg3115 h2 {\n  color: var(--mg-black);\n  font-family: inherit;\n  font-size: clamp(27px, 4vw, 40px);\n  font-weight: 750;\n  line-height: 1.2;\n  letter-spacing: -0.8px;\n}\n\n#mg3115 h3 {\n  color: var(--mg-black);\n  font-family: inherit;\n  font-size: 18px;\n  font-weight: 700;\n  line-height: 1.35;\n}\n\n#mg3115 p {\n  color: var(--mg-gray);\n  font-family: inherit;\n  font-size: 15px;\n  line-height: 1.75;\n}\n\n#mg3115 .mg-green {\n  color: var(--mg-green);\n}\n\n#mg3115 .mg-kicker {\n  display: block;\n  margin-bottom: 15px;\n  color: var(--mg-dark-green);\n  font-size: 11px;\n  font-weight: 750;\n  letter-spacing: 1.2px;\n  text-transform: uppercase;\n}\n\n#mg3115 .mg-section {\n  padding: 65px 0;\n}\n\n#mg3115 .mg-soft {\n  background: var(--mg-light);\n}\n\n\/* HERO *\/\n\n#mg3115 .mg-hero {\n  padding: 55px 0 35px;\n  background: #ffffff;\n  text-align: center;\n}\n\n#mg3115 .mg-hero-inner {\n  max-width: 730px;\n  margin: 0 auto;\n}\n\n#mg3115 .mg-hero p {\n  max-width: 600px;\n  margin: 19px auto 0;\n}\n\n#mg3115 .mg-pills {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 8px;\n  margin: 24px 0 0;\n}\n\n#mg3115 .mg-pill {\n  display: inline-block;\n  padding: 7px 13px;\n  border: 1px solid var(--mg-border);\n  border-radius: 30px;\n  background: var(--mg-light);\n  color: #486454;\n  font-size: 11px;\n  font-weight: 650;\n}\n\n\/* VIDEO PRINCIPAL *\/\n\n#mg3115 .mg-video-section {\n  padding: 15px 0 60px;\n  background: #ffffff;\n}\n\n#mg3115 .mg-video-box {\n  width: 100%;\n  max-width: 740px;\n  margin: 0 auto;\n}\n\n#mg3115 .mg-video-frame {\n  overflow: hidden;\n  border: 1px solid var(--mg-border);\n  border-radius: 17px;\n  background: #f5f7f5;\n  box-shadow: 0 12px 38px rgba(16, 49, 29, 0.06);\n}\n\n#mg3115 .mg-video-frame video {\n  display: block;\n  width: 100%;\n  height: auto;\n  max-height: 550px;\n  object-fit: contain;\n  background: #f5f7f5;\n}\n\n#mg3115 .mg-video-caption {\n  margin-top: 13px;\n  color: var(--mg-gray);\n  font-size: 12px;\n  text-align: center;\n}\n\n\/* BENEFICIOS *\/\n\n#mg3115 .mg-intro {\n  max-width: 650px;\n  margin: 0 auto;\n  text-align: center;\n}\n\n#mg3115 .mg-intro p {\n  margin-top: 17px;\n}\n\n#mg3115 .mg-cards {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 14px;\n  margin-top: 36px;\n}\n\n#mg3115 .mg-card {\n  padding: 27px 23px;\n  background: #ffffff;\n  border: 1px solid var(--mg-border);\n  border-radius: 15px;\n}\n\n#mg3115 .mg-card-number {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 36px;\n  height: 36px;\n  margin-bottom: 17px;\n  border-radius: 10px;\n  background: #e5f7ec;\n  color: var(--mg-dark-green);\n  font-size: 14px;\n  font-weight: 800;\n}\n\n#mg3115 .mg-card p {\n  margin-top: 9px;\n  font-size: 13px;\n}\n\n\/* BLOQUE EMOCIONAL *\/\n\n#mg3115 .mg-message {\n  max-width: 750px;\n  margin: 0 auto;\n  text-align: center;\n}\n\n#mg3115 .mg-message p {\n  max-width: 580px;\n  margin: 19px auto 0;\n}\n\n\/* CIERRE DEL COPY *\/\n\n#mg3115 .mg-statement {\n  padding: 64px 0;\n  background: var(--mg-light);\n  text-align: center;\n}\n\n#mg3115 .mg-statement-inner {\n  max-width: 680px;\n  margin: 0 auto;\n}\n\n#mg3115 .mg-statement p {\n  max-width: 510px;\n  margin: 18px auto 0;\n}\n\n\/* PREGUNTAS FRECUENTES *\/\n\n#mg3115 .mg-faq {\n  max-width: 750px;\n  margin: 0 auto;\n}\n\n#mg3115 .mg-faq h2 {\n  margin-bottom: 25px;\n  font-size: clamp(25px, 3vw, 31px);\n  text-align: center;\n}\n\n#mg3115 .mg-faq details {\n  display: block;\n  border-bottom: 1px solid var(--mg-border);\n}\n\n#mg3115 .mg-faq summary {\n  position: relative;\n  display: block;\n  padding: 19px 36px 19px 0;\n  color: var(--mg-black);\n  font-size: 14px;\n  font-weight: 700;\n  cursor: pointer;\n  list-style: none;\n}\n\n#mg3115 .mg-faq summary::-webkit-details-marker {\n  display: none;\n}\n\n#mg3115 .mg-faq summary::after {\n  content: \"+\";\n  position: absolute;\n  top: 14px;\n  right: 4px;\n  color: var(--mg-green);\n  font-size: 23px;\n  font-weight: 400;\n}\n\n#mg3115 .mg-faq details[open] summary::after {\n  content: \"−\";\n}\n\n#mg3115 .mg-faq details p {\n  padding: 0 30px 20px 0;\n  font-size: 13px;\n}\n\n\/* BOTON FINAL *\/\n\n#mg3115 .mg-final-cta {\n  padding: 55px 0 65px;\n  background: #ffffff;\n  text-align: center;\n}\n\n#mg3115 .mg-final-cta-inner {\n  max-width: 630px;\n  margin: 0 auto;\n}\n\n#mg3115 .mg-final-cta h2 {\n  font-size: clamp(25px, 3vw, 32px);\n}\n\n#mg3115 .mg-final-cta p {\n  max-width: 480px;\n  margin: 15px auto 25px;\n}\n\n#mg3115 .mg-btn {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  width: 100%;\n  max-width: 410px;\n  min-height: 56px;\n  margin: 0 auto;\n  padding: 13px 19px;\n  background: var(--mg-green);\n  border: 0;\n  border-radius: 11px;\n  color: #ffffff;\n  font-family: inherit;\n  font-size: 14px;\n  font-weight: 750;\n  line-height: 1.3;\n  text-align: center;\n  cursor: pointer;\n  transition: background 0.2s ease;\n}\n\n#mg3115 .mg-btn:hover {\n  background: var(--mg-dark-green);\n}\n\n#mg3115 .mg-btn:disabled {\n  opacity: 0.75;\n  cursor: wait;\n}\n\n#mg3115 .mg-btn svg {\n  display: block;\n  width: 19px;\n  height: 19px;\n  flex-shrink: 0;\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 1.8;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n#mg3115 .mg-btn-label {\n  flex: 1;\n  color: #ffffff;\n  text-align: center;\n}\n\n#mg3115 .mg-status {\n  min-height: 20px;\n  margin-top: 10px;\n  color: var(--mg-gray);\n  font-size: 12px;\n  text-align: center;\n}\n\n\/* RESPONSIVE MOBILE *\/\n\n@media (max-width: 767px) {\n\n  #mg3115 .mg-container {\n    padding: 0 16px;\n  }\n\n  #mg3115 .mg-hero {\n    padding: 36px 0 27px;\n  }\n\n  #mg3115 h2 {\n    font-size: clamp(26px, 7.2vw, 33px);\n    line-height: 1.22;\n  }\n\n  #mg3115 .mg-hero p {\n    font-size: 14px;\n    margin-top: 15px;\n  }\n\n  #mg3115 .mg-pills {\n    margin-top: 20px;\n    gap: 6px;\n  }\n\n  #mg3115 .mg-pill {\n    padding: 7px 10px;\n    font-size: 10px;\n  }\n\n  #mg3115 .mg-video-section {\n    padding: 10px 0 45px;\n  }\n\n  #mg3115 .mg-video-frame {\n    border-radius: 12px;\n  }\n\n  #mg3115 .mg-video-frame video {\n    max-height: none;\n  }\n\n  #mg3115 .mg-section {\n    padding: 50px 0;\n  }\n\n  #mg3115 .mg-cards {\n    grid-template-columns: 1fr;\n    gap: 11px;\n    margin-top: 27px;\n  }\n\n  #mg3115 .mg-card {\n    padding: 21px;\n  }\n\n  #mg3115 .mg-card-number {\n    margin-bottom: 10px;\n  }\n\n  #mg3115 .mg-statement {\n    padding: 52px 0;\n  }\n\n  #mg3115 .mg-faq summary {\n    font-size: 13px;\n  }\n\n  #mg3115 .mg-final-cta {\n    padding: 45px 0 55px;\n  }\n\n  #mg3115 .mg-btn {\n    min-height: 54px;\n    font-size: 13px;\n  }\n}\n\u003c\/style\u003e\n\n\u003c!-- HERO --\u003e\n\n\u003cdiv class=\"mg-hero\"\u003e\n  \u003cdiv class=\"mg-container\"\u003e\n    \u003cdiv class=\"mg-hero-inner\"\u003e\n\n      \u003cspan class=\"mg-kicker\"\u003e\n        LIBRO DE DIBUJO REUTILIZABLE\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Sus dibujos cambian todos los días.\n        \u003cspan class=\"mg-green\"\u003e\n          Su libro no tiene por qué cambiar.\n        \u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Hoy dibuja un dinosaurio. Mañana inventa una casa.\n        Y pasado mañana se le ocurre algo diferente.\n        Un libro para que sus ganas de crear no se terminen\n        con la última hoja.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"mg-pills\"\u003e\n        \u003cspan class=\"mg-pill\"\u003eReutilizable\u003c\/span\u003e\n        \u003cspan class=\"mg-pill\"\u003ePlegable\u003c\/span\u003e\n        \u003cspan class=\"mg-pill\"\u003ePortátil\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- VIDEO DEFINITIVO --\u003e\n\n\u003cdiv class=\"mg-video-section\"\u003e\n  \u003cdiv class=\"mg-container\"\u003e\n    \u003cdiv class=\"mg-video-box\"\u003e\n\n      \u003cdiv class=\"mg-video-frame\"\u003e\n\n        \u003cvideo autoplay muted loop playsinline preload=\"metadata\" disablepictureinpicture aria-label=\"Demostración del libro de dibujo reutilizable\"\u003e\n\n          \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/7dc87c4b232546c5a0c2c22586a1031b.mp4\" type=\"video\/mp4\"\u003e\n\n          Tu navegador no admite este video.\n\n        \u003c\/source\u003e\u003c\/video\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"mg-video-caption\"\u003e\n        Mirá cómo funciona el libro de dibujo.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- BENEFICIOS --\u003e\n\n\u003cdiv class=\"mg-section mg-soft\"\u003e\n  \u003cdiv class=\"mg-container\"\u003e\n\n    \u003cdiv class=\"mg-intro\"\u003e\n\n      \u003cspan class=\"mg-kicker\"\u003e\n        MÁS OPORTUNIDADES PARA CREAR\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Se equivocó.\n        \u003cspan class=\"mg-green\"\u003e¿Y qué?\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        No necesita arrancar una hoja ni abandonar su dibujo.\n        Puede borrar, probar otra idea y volver a empezar.\n        Porque dibujar también es experimentar.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"mg-cards\"\u003e\n\n      \u003cdiv class=\"mg-card\"\u003e\n        \u003cdiv class=\"mg-card-number\"\u003e01\u003c\/div\u003e\n\n        \u003ch3\u003eVolver a intentarlo\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Si algo no le gusta, puede borrarlo\n          y empezar de nuevo sin gastar otra hoja.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"mg-card\"\u003e\n        \u003cdiv class=\"mg-card-number\"\u003e02\u003c\/div\u003e\n\n        \u003ch3\u003eUn libro para muchas ideas\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Su superficie reutilizable permite crear\n          nuevos dibujos una y otra vez.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"mg-card\"\u003e\n        \u003cdiv class=\"mg-card-number\"\u003e03\u003c\/div\u003e\n\n        \u003ch3\u003eEntretenimiento para llevar\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Su formato plegable permite guardarlo\n          fácilmente para viajes, visitas o salidas.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- MENOS PANTALLAS --\u003e\n\n\u003cdiv class=\"mg-section\"\u003e\n  \u003cdiv class=\"mg-container\"\u003e\n    \u003cdiv class=\"mg-message\"\u003e\n\n      \u003cspan class=\"mg-kicker\"\u003e\n        UNA ACTIVIDAD DIFERENTE\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        No todos los momentos de diversión\n        \u003cspan class=\"mg-green\"\u003e\n          necesitan una pantalla.\n        \u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        A veces alcanza con un lugar donde dibujar\n        lo que se les ocurra, borrar y empezar otra vez.\n        Una alternativa sencilla para esos momentos\n        de entretenimiento cotidiano.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- CIERRE DEL COPY --\u003e\n\n\u003cdiv class=\"mg-statement\"\u003e\n  \u003cdiv class=\"mg-container\"\u003e\n    \u003cdiv class=\"mg-statement-inner\"\u003e\n\n      \u003cspan class=\"mg-kicker\"\u003e\n        DIBUJAR, BORRAR Y REPETIR\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Una hoja se termina.\n        \u003cspan class=\"mg-green\"\u003e\n          Las ganas de dibujar, no.\n        \u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Un libro que acompaña sus nuevas ideas,\n        una y otra vez.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- PREGUNTAS FRECUENTES --\u003e\n\n\u003cdiv class=\"mg-section\"\u003e\n  \u003cdiv class=\"mg-container\"\u003e\n    \u003cdiv class=\"mg-faq\"\u003e\n\n      \u003ch2\u003ePreguntas frecuentes\u003c\/h2\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          ¿Se puede volver a utilizar?\n        \u003c\/summary\u003e\n\n        \u003cp\u003e\n          Sí. Su superficie permite borrar los dibujos\n          y volver a utilizar el libro.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          ¿Es fácil de transportar?\n        \u003c\/summary\u003e\n\n        \u003cp\u003e\n          Sí. Su formato plegable facilita guardarlo\n          y llevarlo en una mochila o bolso.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          ¿Se puede usar fuera de casa?\n        \u003c\/summary\u003e\n\n        \u003cp\u003e\n          Sí. Es práctico para llevarlo durante viajes,\n          salidas o visitas familiares.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          ¿Reemplaza un cuaderno común?\n        \u003c\/summary\u003e\n\n        \u003cp\u003e\n          Es una alternativa reutilizable para dibujar,\n          aunque no sustituye todas las actividades\n          que se realizan con papel.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- UNICO BOTON AL FINAL --\u003e\n\n\u003cdiv class=\"mg-final-cta\"\u003e\n  \u003cdiv class=\"mg-container\"\u003e\n    \u003cdiv class=\"mg-final-cta-inner\"\u003e\n\n      \u003cspan class=\"mg-kicker\"\u003e\n        LIBRO DE DIBUJO PORTÁTIL Y REUTILIZABLE\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Que su próxima idea\n        \u003cspan class=\"mg-green\"\u003e\n          tenga dónde empezar.\n        \u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Dibujar, borrar y volver a crear.\n        Una actividad para disfrutar muchas veces.\n      \u003c\/p\u003e\n\n      \u003cbutton type=\"button\" class=\"mg-btn\" id=\"mg3115-add\"\u003e\n\n        \u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\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\n\n        \u003cspan class=\"mg-btn-label\"\u003e\n          Agregar al carrito\n        \u003c\/span\u003e\n\n        \u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\n          \u003cpath d=\"M5 12h14\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"m13 6 6 6-6 6\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n\n      \u003c\/button\u003e\n\n      \u003cdiv id=\"mg3115-status\" class=\"mg-status\" aria-live=\"polite\"\u003e\u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- JAVASCRIPT --\u003e\n\n\u003cscript\u003e\n(function () {\n\n  function initializeMG3115() {\n\n    var root = document.getElementById('mg3115');\n\n    if (!root || root.dataset.initialized === 'true') {\n      return;\n    }\n\n    root.dataset.initialized = 'true';\n\n    var button = root.querySelector('#mg3115-add');\n    var label = button\n      ? button.querySelector('.mg-btn-label')\n      : null;\n\n    var status = root.querySelector('#mg3115-status');\n\n    var shopRoot =\n      window.Shopify \u0026\u0026\n      window.Shopify.routes \u0026\u0026\n      window.Shopify.routes.root\n        ? window.Shopify.routes.root\n        : '\/';\n\n    var loading = false;\n\n    \/* VIDEO *\/\n\n    var video = root.querySelector('video');\n\n    if (video) {\n      video.muted = true;\n      video.defaultMuted = true;\n      video.loop = true;\n      video.playsInline = true;\n\n      var playPromise = video.play();\n\n      if (playPromise \u0026\u0026 playPromise.catch) {\n        playPromise.catch(function () {});\n      }\n    }\n\n    \/* FORMULARIO DE PRODUCTO *\/\n\n    function getProductForm() {\n\n      var forms = Array.prototype.slice.call(\n        document.querySelectorAll(\n          'form[action*=\"\/cart\/add\"]'\n        )\n      );\n\n      var validForms = forms.filter(function (form) {\n        return !root.contains(form) \u0026\u0026\n          form.querySelector('[name=\"id\"]');\n      });\n\n      return validForms.find(function (form) {\n        return form.getClientRects().length \u003e 0;\n      }) || validForms[0] || null;\n\n    }\n\n    \/* VARIANTE *\/\n\n    function getVariantId() {\n\n      var form = getProductForm();\n\n      if (form) {\n        var idField = form.querySelector('[name=\"id\"]');\n\n        if (idField \u0026\u0026 idField.value) {\n          return idField.value;\n        }\n      }\n\n      var urlVariant = new URLSearchParams(\n        window.location.search\n      ).get('variant');\n\n      return urlVariant || null;\n\n    }\n\n    \/* MINI CARRITO *\/\n\n    function openCartDrawer() {\n\n      var drawer = document.querySelector('cart-drawer');\n\n      if (drawer \u0026\u0026 typeof drawer.open === 'function') {\n        drawer.open();\n        return true;\n      }\n\n      var trigger = document.querySelector(\n        '[data-cart-drawer-toggle], ' +\n        '[data-cart-toggle], ' +\n        '[aria-controls=\"CartDrawer\"], ' +\n        '[aria-controls=\"cart-drawer\"]'\n      );\n\n      if (trigger) {\n        trigger.click();\n        return true;\n      }\n\n      return false;\n    }\n\n    \/* ESTADOS *\/\n\n    function setButtonState(message, disabled) {\n\n      if (label) {\n        label.textContent = message;\n      }\n\n      if (button) {\n        button.disabled = disabled;\n      }\n\n    }\n\n    function setStatus(message) {\n\n      if (status) {\n        status.textContent = message;\n      }\n\n    }\n\n    \/* AGREGAR AL CARRITO *\/\n\n    async function addToCart() {\n\n      if (loading) {\n        return;\n      }\n\n      var variantId = getVariantId();\n\n      if (!variantId) {\n\n        setStatus(\n          'Seleccioná una variante del producto.'\n        );\n\n        var form = getProductForm();\n\n        if (form) {\n          form.scrollIntoView({\n            behavior: 'smooth',\n            block: 'center'\n          });\n        }\n\n        return;\n      }\n\n      loading = true;\n\n      setButtonState('Agregando...', true);\n      setStatus('');\n\n      try {\n\n        var response = await fetch(\n          shopRoot + 'cart\/add.js',\n          {\n            method: 'POST',\n            credentials: 'same-origin',\n            headers: {\n              'Content-Type': 'application\/json',\n              'Accept': 'application\/json'\n            },\n            body: JSON.stringify({\n              items: [{\n                id: Number(variantId),\n                quantity: 1\n              }]\n            })\n          }\n        );\n\n        var result = await response.json();\n\n        if (!response.ok) {\n          throw new Error(\n            result.description ||\n            'No se pudo agregar el producto.'\n          );\n        }\n\n        setButtonState('Agregado al carrito', false);\n        setStatus('Producto agregado correctamente.');\n\n        try {\n\n          var cartResponse = await fetch(\n            shopRoot + 'cart.js',\n            { credentials: 'same-origin' }\n          );\n\n          if (cartResponse.ok) {\n\n            var cart = await cartResponse.json();\n\n            document.dispatchEvent(\n              new CustomEvent('cart:refresh', {\n                bubbles: true,\n                detail: { cart: cart }\n              })\n            );\n\n            document.dispatchEvent(\n              new CustomEvent('cart:updated', {\n                bubbles: true,\n                detail: { cart: cart }\n              })\n            );\n\n            document.dispatchEvent(\n              new CustomEvent('cart:change', {\n                bubbles: true,\n                detail: { cart: cart }\n              })\n            );\n\n            window.dispatchEvent(\n              new CustomEvent('cart:updated', {\n                detail: { cart: cart }\n              })\n            );\n\n            var counters = document.querySelectorAll(\n              '[data-cart-count], ' +\n              '.cart-count-bubble span[aria-hidden=\"true\"]'\n            );\n\n            counters.forEach(function (counter) {\n              counter.textContent = cart.item_count;\n            });\n\n          }\n\n        } catch (refreshError) {\n\n          console.warn(\n            'No se pudo actualizar visualmente el carrito.',\n            refreshError\n          );\n\n        }\n\n        setTimeout(function () {\n          openCartDrawer();\n        }, 180);\n\n        setTimeout(function () {\n          setButtonState('Agregar al carrito', false);\n          setStatus('');\n        }, 2700);\n\n      } catch (error) {\n\n        setButtonState('Agregar al carrito', false);\n\n        setStatus(\n          error.message ||\n          'Ocurrió un error. Intentá nuevamente.'\n        );\n\n      } finally {\n\n        loading = false;\n\n      }\n\n    }\n\n    if (button) {\n      button.addEventListener('click', addToCart);\n    }\n\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener(\n      'DOMContentLoaded',\n      initializeMG3115\n    );\n  } else {\n    initializeMG3115();\n  }\n\n})();\n\u003c\/script\u003e\n\n\u003c\/div\u003e\n","brand":"Clara (Yiwu Mayhome Import\u0026export Co.,ltd) (0.0 Unidades - 108,06 $)","offers":[{"title":"Default Title","offer_id":67951839609146,"sku":"3115-0","price":790.0,"currency_code":"UYU","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0758\/3698\/1562\/files\/Portada_44abc4b2-1512-42dd-aae4-71b35bd448c7.png?v=1794504611","url":"https:\/\/milgenialuruguay.com\/products\/libro-de-dibujo-portatil-y-reutilizable-para-ninos","provider":"MilGenial Uruguay","version":"1.0","type":"link"}