{"product_id":"juvenatur-rejuvenecedor-doble-accion","title":"Juvenatur® Rejuvenecedor Doble Acción 2x1","description":"\u003cdiv class=\"product-block-AMVpzZUlOeXFYTGplQ__custom_liquid_beicVJ\"\u003e\n\u003ch2 class=\"vc-autoplay-video-wrapper\" style=\"text-align: center;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cstrong\u003e\u003cstrong\u003e¡ADIÓS A LA MIRADA CANSADA! ✨\u003c\/strong\u003e\u003c\/strong\u003e\u003cstrong\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/strong\u003e\n\u003c\/h2\u003e\n\u003ch2 class=\"vc-autoplay-video-wrapper\" style=\"text-align: center;\"\u003e\n\u003cvideo poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0000\/0000\/files\/poster.jpg\" preload=\"auto\" autoplay=\"autoplay\" playsinline=\"\" muted=\"\" class=\"vc-autoplay-video\" id=\"vcVideo_template--20925924409483__main\"\u003e\n    \u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/2c01294b4954448398f1093d03cd5ca7.mp4\"\u003e\u003c\/video\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0649\/4974\/7797\/files\/f778ec18-6e82-443e-acff-8e57820ed6ce.png?v=1783315980\" alt=\"\"\u003e\u003cmeta charset=\"utf-8\"\u003e \u003cstrong\u003e💸 CUÍDATE SIN GASTAR DE MÁS\u003c\/strong\u003e\u003cbr\u003eTratamientos estéticos, cremas caras, sesiones que no funcionan... hoy eso queda atrás. Con Juvenatur, cada aplicación se traduce en resultados reales, visibles y duraderos, sin vaciar tu bolsillo.\u003c!-- Play solo visual --\u003e\n\u003c\/h2\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0649\/4974\/7797\/files\/imgi_163_4_712cefcb-b821-42f6-a764-5bc7fe9eaee9.png?v=1783315948\" alt=\"\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0649\/4974\/7797\/files\/imgi_101_3.jpg?v=1783315950\" alt=\"\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0649\/4974\/7797\/files\/imgi_66_Use_the_attached_202604161707_57f204d4-5b4e-4464-927b-bc8a3076e31e.webp?v=1783316011\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cdiv style=\"opacity: 0;\" class=\"vc-play-overlay\" id=\"vcPlayOverlay_template--20925924409483__main\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cscript\u003e\n(function () {\n  const video = document.getElementById(\"vcVideo_template--20925924409483__main\");\n  const overlay = document.getElementById(\"vcPlayOverlay_template--20925924409483__main\");\n  if (!video) return;\n\n  let userInteracted = false;\n  let userEnabledSound = false;\n  let warmedUp = false;\n  let autoPlayStarted = false;\n  let forceSoundAttempts = 0;\n  let observerActive = false;\n\n  function updateOverlay() {\n    if (!overlay) return;\n\n    \/\/ Oculta play solo cuando realmente está sonando\n    if (!video.paused \u0026\u0026 !video.muted \u0026\u0026 video.volume \u003e 0) {\n      overlay.style.opacity = \"0\";\n    } else {\n      overlay.style.opacity = \"1\";\n    }\n  }\n\n  function safePlay() {\n    return video.play().catch(() =\u003e Promise.reject());\n  }\n\n  function warmupVideo() {\n    if (warmedUp) return;\n    warmedUp = true;\n\n    video.load();\n\n    const originalMuted = video.muted;\n    const originalTime = video.currentTime || 0;\n\n    video.muted = true;\n\n    video.play()\n      .then(() =\u003e {\n        setTimeout(() =\u003e {\n          video.pause();\n          video.currentTime = 0;\n          video.muted = originalMuted;\n          updateOverlay();\n        }, 120);\n      })\n      .catch(() =\u003e {\n        video.muted = originalMuted;\n        video.currentTime = originalTime;\n        updateOverlay();\n      });\n  }\n\n  function tryForceSoundPlayback() {\n    if (!userInteracted) return;\n    if (userEnabledSound) return;\n\n    forceSoundAttempts++;\n\n    video.muted = false;\n    video.volume = 1;\n\n    video.play().then(() =\u003e {\n      userEnabledSound = true;\n      updateOverlay();\n    }).catch(() =\u003e {\n      \/\/ Si falla, vuelve a mute para no romper autoplay\n      video.muted = true;\n      video.play().then(() =\u003e {\n        updateOverlay();\n      }).catch(() =\u003e {});\n    });\n  }\n\n  function unlockFromInteraction() {\n    userInteracted = true;\n    warmupVideo();\n\n    \/\/ Intenta varias veces justo después de la interacción\n    tryForceSoundPlayback();\n    setTimeout(tryForceSoundPlayback, 80);\n    setTimeout(tryForceSoundPlayback, 220);\n    setTimeout(tryForceSoundPlayback, 500);\n\n    document.removeEventListener(\"scroll\", unlockFromInteraction);\n    document.removeEventListener(\"click\", unlockFromInteraction);\n    document.removeEventListener(\"touchstart\", unlockFromInteraction);\n    document.removeEventListener(\"touchend\", unlockFromInteraction);\n  }\n\n  \/\/ Escucha cualquier interacción mínima\n  document.addEventListener(\"scroll\", unlockFromInteraction, { passive: true });\n  document.addEventListener(\"click\", unlockFromInteraction, { passive: true });\n  document.addEventListener(\"touchstart\", unlockFromInteraction, { passive: true });\n  document.addEventListener(\"touchend\", unlockFromInteraction, { passive: true });\n\n  function playWhenVisible() {\n    if (autoPlayStarted) return;\n    autoPlayStarted = true;\n\n    if (userInteracted || userEnabledSound) {\n      video.muted = false;\n      video.volume = 1;\n\n      video.play().then(() =\u003e {\n        userEnabledSound = true;\n        updateOverlay();\n      }).catch(() =\u003e {\n        video.muted = true;\n        video.play().then(updateOverlay).catch(() =\u003e {});\n      });\n    } else {\n      video.muted = true;\n      video.play().then(updateOverlay).catch(() =\u003e {});\n    }\n  }\n\n  const observer = new IntersectionObserver((entries) =\u003e {\n    entries.forEach(entry =\u003e {\n      if (entry.isIntersecting) {\n        observerActive = true;\n\n        if (userEnabledSound || userInteracted) {\n          video.muted = false;\n          video.volume = 1;\n\n          video.play().then(() =\u003e {\n            userEnabledSound = true;\n            updateOverlay();\n          }).catch(() =\u003e {\n            video.muted = true;\n            video.play().then(updateOverlay).catch(() =\u003e {});\n          });\n\n          \/\/ reintentos extra por si el navegador desbloquea tarde\n          setTimeout(tryForceSoundPlayback, 100);\n          setTimeout(tryForceSoundPlayback, 350);\n        } else {\n          video.muted = true;\n          video.play().then(updateOverlay).catch(() =\u003e {});\n        }\n\n      } else {\n        observerActive = false;\n        video.pause();\n        video.muted = true;\n        updateOverlay();\n      }\n    });\n  }, {\n    threshold: 0.2,\n    rootMargin: \"180px 0px 180px 0px\"\n  });\n\n  observer.observe(video);\n\n  function enableSoundDirectly() {\n    userInteracted = true;\n    userEnabledSound = true;\n\n    video.muted = false;\n    video.volume = 1;\n\n    video.play().then(() =\u003e {\n      updateOverlay();\n    }).catch(() =\u003e {\n      \/\/ último respaldo\n      video.muted = true;\n      video.play().then(() =\u003e {\n        setTimeout(() =\u003e {\n          video.muted = false;\n          video.volume = 1;\n          video.play().then(updateOverlay).catch(() =\u003e {});\n        }, 120);\n      }).catch(() =\u003e {});\n    });\n  }\n\n  \/\/ tocar el video = máxima prioridad para sonido\n  video.addEventListener(\"click\", enableSoundDirectly, { passive: true });\n  video.addEventListener(\"touchstart\", enableSoundDirectly, { passive: true });\n\n  \/\/ intento inicial apenas carga\n  window.addEventListener(\"load\", function () {\n    warmupVideo();\n    playWhenVisible();\n\n    setTimeout(() =\u003e {\n      if (!observerActive) return;\n      if (video.paused) {\n        video.muted = true;\n        video.play().then(updateOverlay).catch(() =\u003e {});\n      }\n    }, 300);\n  });\n\n  video.addEventListener(\"play\", updateOverlay);\n  video.addEventListener(\"pause\", updateOverlay);\n  video.addEventListener(\"volumechange\", updateOverlay);\n\n  updateOverlay();\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Tienda","offers":[{"title":"Default Title","offer_id":42691603595349,"sku":"JN01","price":29990.0,"currency_code":"CLP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0649\/4974\/7797\/files\/9bcb996b-749f-4e77-8347-97cf1d49ba45.png?v=1783315149","url":"https:\/\/rayoshopchile.com\/products\/juvenatur-rejuvenecedor-doble-accion","provider":"Tienda","version":"1.0","type":"link"}