{"product_id":"libro-colorear-las-aventuras-de-jesus-mas-bonos","title":"Libro para colorear \"Las aventuras de Jesús\" + BONOS","description":"\u003cstyle\u003e\n  @keyframes pulse {\n    0%   { transform: scale(1); }\n    50%  { transform: scale(1.08); }\n    100% { transform: scale(1); }\n  }\n\n  .price-alert {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    animation: pulse 1s ease-in-out infinite;\n    background: #14ff00;\n    color: #000;\n    padding: 16px 20px;\n    border-radius: 6px;\n    font-weight: bold;\n    font-size: 15px;\n    line-height: 1.5;\n    min-height: 60px;\n    text-align: center;\n  }\n\n  .viewers-box {\n    background: #f5f5f5;\n    color: #555;\n    padding: 6px 12px;\n    border-radius: 4px;\n    font-size: 14px;\n  }\n\n  .stock-box {\n    background: #fff3cd;\n    color: #856404;\n    padding: 6px 12px;\n    border-radius: 4px;\n    font-size: 14px;\n  }\n\n  .stock-low {\n    color: #ff0000;\n    font-weight: bold;\n  }\n\n  .countdown {\n    color: #d32f2f;\n    font-weight: bold;\n    font-size: 20px;\n  }\n\n  #purchase-popup {\n    position: fixed;\n    bottom: 20px;\n    left: 20px;\n    background: #fff;\n    border-left: 5px solid #14ff00;\n    padding: 12px 16px;\n    box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n    border-radius: 6px;\n    font-size: 14px;\n    display: none;\n    z-index: 9999;\n  }\n\n  \/* 🚨 BOTÓN AGRESIVO *\/\n  .buy-urgent {\n    background: #ff0000 !important;\n    color: #fff !important;\n    font-weight: bold;\n  }\n\u003c\/style\u003e\n\n\u003cdiv id=\"urgency-bar\" style=\"display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 15px; flex-wrap: wrap;\"\u003e\n  \u003cspan class=\"price-alert\"\u003e\n    🔥 OFERTA ACTIVA (SE CIERRA PRONTO)\n  \u003c\/span\u003e \n  \n  \u003cspan class=\"viewers-box\"\u003e\n    \u003cspan id=\"viewers-count\"\u003e...\u003c\/span\u003e personas están viendo\n  \u003c\/span\u003e\n\n  \u003cspan class=\"stock-box\"\u003e\n    \u003cspan id=\"stock-count\"\u003e...\u003c\/span\u003e\n  \u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"text-align:center; font-size:18px; font-weight:bold; margin-bottom:10px;\"\u003e\n  \u003cspan id=\"countdown-label\"\u003e⏳ DESCUENTO EXPIRA EN: \u003c\/span\u003e\n  \u003cspan id=\"countdown\" class=\"countdown\"\u003e--:--\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003c!-- ⚠️ BOTÓN (puedes adaptar si ya tienes uno) --\u003e\n\u003cdiv style=\"text-align:center; margin-top:15px;\"\u003e\n  \u003cbutton id=\"buy-button\" style=\"padding:12px 20px; font-size:16px; border:none; border-radius:6px; cursor:pointer;\"\u003e\n    Comprar ahora\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv id=\"purchase-popup\"\u003e\u003c\/div\u003e\n\n\u003cscript\u003e\n(function() {\n\n  if (window.urgencyScriptLoaded) return;\n  window.urgencyScriptLoaded = true;\n\n  \/\/ 👀 PERSONAS\n  function getRandomViewers() {\n    return Math.floor(Math.random() * (120 - 40 + 1)) + 40;\n  }\n\n  function updateViewers() {\n    document.getElementById(\"viewers-count\").textContent = getRandomViewers();\n  }\n\n  \/\/ =========================\n  \/\/ ⏳ CONTADOR + CIERRE AGRESIVO\n  \/\/ =========================\n  let duration = localStorage.getItem(\"countdown\")\n    ? parseInt(localStorage.getItem(\"countdown\"))\n    : 10 * 60;\n\n  let phase = localStorage.getItem(\"countdown_phase\")\n    ? parseInt(localStorage.getItem(\"countdown_phase\"))\n    : 1;\n\n  function startCountdown() {\n    const el = document.getElementById(\"countdown\");\n    const label = document.getElementById(\"countdown-label\");\n\n    setInterval(() =\u003e {\n      let minutes = Math.floor(duration \/ 60);\n      let seconds = duration % 60;\n\n      seconds = seconds \u003c 10 ? \"0\" + seconds : seconds;\n      el.textContent = minutes + \":\" + seconds;\n\n      duration--;\n      localStorage.setItem(\"countdown\", duration);\n\n      if (duration \u003c= 60) {\n        el.style.color = \"#ff0000\";\n      }\n\n      \/\/ FASE 2\n      if (duration \u003c 0 \u0026\u0026 phase === 1) {\n        duration = 5 * 60;\n        phase = 2;\n        localStorage.setItem(\"countdown_phase\", phase);\n        label.textContent = \"⏳ TIEMPO EXTRA ACTIVADO: \";\n      }\n\n      \/\/ FASE 3 (CIERRE AGRESIVO)\n      else if (duration \u003c 0 \u0026\u0026 phase === 2) {\n        duration = 3 * 60;\n        phase = 3;\n        localStorage.setItem(\"countdown_phase\", phase);\n\n        label.textContent = \"🚨 ÚLTIMOS MINUTOS: \";\n\n        const btn = document.getElementById(\"buy-button\");\n        if (btn) {\n          btn.textContent = \"⚡ COMPRAR AHORA (ÚLTIMOS CUPOS)\";\n          btn.classList.add(\"buy-urgent\");\n        }\n      }\n\n      \/\/ FINAL\n      else if (duration \u003c 0 \u0026\u0026 phase === 3) {\n        el.textContent = \"00:00\";\n        label.textContent = \"❌ OFERTA FINALIZADA: \";\n      }\n\n    }, 1000);\n  }\n\n  \/\/ 📦 STOCK\n  let stock = localStorage.getItem(\"stock\")\n    ? parseInt(localStorage.getItem(\"stock\"))\n    : Math.floor(Math.random() * (40 - 25 + 1)) + 25;\n\n  let isSoldOut = false;\n\n  function updateStock() {\n  const el = document.getElementById(\"stock-count\");\n\n  if (isSoldOut) return;\n\n  \/\/ 🔴 PRIORIDAD: SI ES 0\n  if (stock === 0) {\n    el.innerHTML = \"❌ AGOTADO\";\n    return;\n  }\n\n  \/\/ 🟠 STOCK BAJO\n  if (stock \u003c= 5) {\n    el.innerHTML = \"⚠️ ¡SOLO \" + stock + \" DISPONIBLES!\";\n    el.classList.add(\"stock-low\");\n  } \n  \/\/ 🟢 STOCK NORMAL\n  else {\n    el.innerHTML = \"Quedan \" + stock + \" unidades\";\n  }\n}\n\n  function simulatePurchase() {\n    if (!isSoldOut \u0026\u0026 stock \u003e 0) {\n      stock--;\n      localStorage.setItem(\"stock\", stock);\n      updateStock();\n      if (stock \u003c= 0) {\n         stock = 0;\n         triggerSoldOut();\n      }\n    }\n  }\n\n  function triggerSoldOut() {\n    const el = document.getElementById(\"stock-count\");\n    isSoldOut = true;\n\n    el.innerHTML = \"❌ AGOTADO\";\n\n    setTimeout(() =\u003e {\n      stock = 20;\n      localStorage.setItem(\"stock\", stock);\n\n      el.innerHTML = \"🔥 ÚLTIMA OPORTUNIDAD: 20 UNIDADES DISPONIBLES\";\n\n      setTimeout(() =\u003e {\n        isSoldOut = false;\n        updateStock();\n      }, 3000);\n\n    }, 30000);\n  }\n\n  function randomPurchaseInterval() {\n    const time = Math.floor(Math.random() * (60000 - 25000 + 1)) + 25000;\n\n    setTimeout(() =\u003e {\n      simulatePurchase();\n      randomPurchaseInterval();\n    }, time);\n  }\n\n  \/\/ 🔔 NOTIFICACIONES\n  const names = [\"Juan\",\"María\",\"Carlos\",\"Ana\",\"Luis\",\"Sofía\",\"Pedro\",\"Lucía\",\"Martín\",\"Valentina\",\"Diego\",\"Camila\"];\n  const lastnames = [\"González\",\"Rodríguez\",\"Pérez\",\"Fernández\",\"López\",\"Martínez\",\"García\",\"Sánchez\",\"Romero\",\"Torres\"];\n  const cities = [\"Buenos Aires\",\"La Plata\",\"Quilmes\",\"Lomas de Zamora\",\"Avellaneda\",\"San Isidro\",\"Morón\",\"Lanús\"];\n\n  function getRandomName() {\n    return names[Math.floor(Math.random() * names.length)] + \" \" +\n           lastnames[Math.floor(Math.random() * lastnames.length)];\n  }\n\n  function getNaturalTime() {\n    const options = [\"hace unos segundos\",\"hace 1 min\",\"hace 2 min\",\"hace 3 min\",\"hace 5 min\"];\n    return options[Math.floor(Math.random() * options.length)];\n  }\n\n  function showPopup() {\n    const popup = document.getElementById(\"purchase-popup\");\n\n    popup.innerHTML = `✅ ${getRandomName()} de ${cities[Math.floor(Math.random()*cities.length)]} compró ${getNaturalTime()}`;\n    popup.style.display = \"block\";\n\n    setTimeout(() =\u003e popup.style.display = \"none\", 4000);\n  }\n\n  function startPopups() {\n    setInterval(showPopup, Math.floor(Math.random() * (20000 - 10000 + 1)) + 10000);\n  }\n\n  \/\/ 🚀 INIT\n  function initUrgency() {\n    updateViewers();\n    updateStock();\n    startCountdown();\n\n    setInterval(updateViewers, 5000);\n    randomPurchaseInterval();\n    startPopups();\n  }\n\n  document.addEventListener(\"DOMContentLoaded\", initUrgency);\n  document.addEventListener(\"shopify:section:load\", initUrgency);\n\n})();\n\u003c\/script\u003e","brand":"BibliaKids","offers":[{"title":"Default Title","offer_id":63293655482737,"sku":null,"price":14999.0,"currency_code":"ARS","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0997\/6083\/2881\/files\/grok-image-b4238cf8-038a-4e54-99e0-984236330dac_9c81d15d-6384-42ec-a2e2-e170349fcc6b.jpg?v=1773370099","url":"https:\/\/bibliakidsar.online\/products\/libro-colorear-las-aventuras-de-jesus-mas-bonos","provider":"BibliaKids","version":"1.0","type":"link"}