{"product_id":"telefono-inteligente-para-ninos-con-dobl","title":"Teléfono Inteligente Para Niños Con Dobl","description":"\u003cbody\u003e\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, viewport-fit=cover\"\u003e\n  \u003cmeta name=\"theme-color\" content=\"#000000\"\u003e\n  \u003ctitle\u003eMi Primer Teléfono Didáctico - Oferta Limitada\u003c\/title\u003e\n\n  \u003cscript src=\"https:\/\/cdn.tailwindcss.com\/3.4.17\"\u003e\u003c\/script\u003e\n  \u003cscript src=\"\/_sdk\/element_sdk.js\"\u003e\u003c\/script\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue\u0026amp;family=DM+Sans:wght@400;500;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\n  \u003cstyle\u003e\n    * { -webkit-tap-highlight-color: transparent; }\n\n    html, body { \n      margin: 0; \n      padding: 0; \n      width: 100%; \n      height: 100%;\n      -webkit-user-select: none;\n      user-select: none;\n    }\n\n    body { box-sizing: border-box; }\n\n    @keyframes slideInRight {\n      from { transform: translateX(120%); opacity: 0; }\n      to { transform: translateX(0); opacity: 1; }\n    }\n\n    @keyframes slideOutRight {\n      from { transform: translateX(0); opacity: 1; }\n      to { transform: translateX(120%); opacity: 0; }\n    }\n\n    @keyframes pulse {\n      0%, 100% { opacity: 1; }\n      50% { opacity: 0.7; }\n    }\n\n    @keyframes fadeIn {\n      from { opacity: 0; transform: translateY(10px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    .trigger-enter {\n      animation: slideInRight 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;\n    }\n\n    .trigger-exit {\n      animation: slideOutRight 0.5s ease-in forwards;\n    }\n\n    .timer-pulse {\n      animation: pulse 1s infinite;\n    }\n\n    .fade-in {\n      animation: fadeIn 0.6s ease-out forwards;\n    }\n\n    img { \n      display: block; \n      width: 100%;\n      max-width: 100%;\n      height: auto;\n      -webkit-touch-callout: none;\n    }\n  \u003c\/style\u003e\n\n  \u003cscript src=\"https:\/\/cdn.jsdelivr.net\/npm\/lucide@0.263.0\/dist\/umd\/lucide.min.js\" type=\"text\/javascript\"\u003e\u003c\/script\u003e\n  \u003cscript src=\"\/_sdk\/data_sdk.js\" type=\"text\/javascript\"\u003e\u003c\/script\u003e\n\n  \u003c!-- Floating notification tab --\u003e\n  \u003cdiv id=\"purchase-trigger\" class=\"fixed right-0 top-1\/2 transform -translate-y-1\/2 z-50\" style=\"pointer-events: none;\"\u003e\n    \u003cdiv id=\"buyer-info\" class=\"bg-gradient-to-r from-red-600 to-red-500 text-white rounded-l-lg shadow-2xl hidden\" style=\"padding: 16px 20px; pointer-events: auto;\"\u003e\n      \u003cp class=\"text-xs font-semibold opacity-75 m-0\" style=\"margin: 0 0 4px 0;\"\u003e✓ NUEVA COMPRA\u003c\/p\u003e\n      \u003cp id=\"buyer-display-name\" class=\"text-lg font-bold m-0\" style=\"margin: 0 0 4px 0;\"\u003eNombre\u003c\/p\u003e\n      \u003cp id=\"buyer-display-city\" class=\"text-sm opacity-90 m-0\" style=\"margin: 0;\"\u003eCiudad\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Main content wrapper --\u003e\n  \u003cdiv id=\"app-wrapper\" class=\"w-full h-full flex flex-col overflow-y-auto overflow-x-hidden\" style=\"background-color: #ffffff;\"\u003e\n\n    \u003c!-- Urgency Timer Bar --\u003e\n    \u003cdiv class=\"w-full text-white py-4 px-4 sticky top-0 z-40\" style=\"background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);\"\u003e\n      \u003cdiv class=\"flex items-center justify-center gap-3 mb-2\"\u003e\n        \u003cspan class=\"text-3xl font-bold timer-pulse leading-none\" id=\"timer-display\" style=\"font-family: 'Bebas Neue', sans-serif; letter-spacing: 2px;\"\u003e30:00\u003c\/span\u003e\n        \u003cspan class=\"text-sm font-bold\" style=\"letter-spacing: 1px;\"\u003e⏰ OFERTA VÁLIDA POR\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"w-full bg-red-900 rounded-full h-2 overflow-hidden\"\u003e\n        \u003cdiv id=\"timer-progress\" class=\"bg-yellow-300 h-full rounded-full\" style=\"width: 100%; transition: width 0.1s linear; box-shadow: 0 0 8px rgba(253, 224, 71, 0.6);\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Images container --\u003e\n    \u003cdiv class=\"w-full flex-1\"\u003e\n\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/1d9458e6-ecd0-4a9a-a1a1-d0a18dc98cac.png?v=1783527368\" alt=\"Mi Primer Teléfono Didáctico 1\" loading=\"lazy\" class=\"w-full h-auto block fade-in\" onerror=\"console.error('Image 1 failed:', this.src); this.style.background='#1a1a1a';\"\u003e\n\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/c9a98a8e-0ab7-41dc-8145-f77c301c514f.png?v=1783527368\" alt=\"Mi Primer Teléfono Didáctico 2\" loading=\"lazy\" class=\"w-full h-auto block fade-in\" onerror=\"console.error('Image 2 failed:', this.src); this.style.background='#1a1a1a';\"\u003e\n\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/fc65b7ed-a800-41ce-b2e8-23c510d81601.png?v=1783527369\" alt=\"Mi Primer Teléfono Didáctico 3\" loading=\"lazy\" class=\"w-full h-auto block fade-in\" onerror=\"console.error('Image 3 failed:', this.src); this.style.background='#1a1a1a';\"\u003e\n\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/67b727ab-7051-4097-919e-9e5b8527dd03.png?v=1783527368\" alt=\"Mi Primer Teléfono Didáctico 4\" loading=\"lazy\" class=\"w-full h-auto block fade-in\" onerror=\"console.error('Image 4 failed:', this.src); this.style.background='#1a1a1a';\"\u003e\n\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/24468702-8146-4a21-8716-272dfa0aad29.png?v=1783527369\" alt=\"Mi Primer Teléfono Didáctico 5\" loading=\"lazy\" class=\"w-full h-auto block fade-in\" onerror=\"console.error('Image 5 failed:', this.src); this.style.background='#1a1a1a';\"\u003e\n\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/a6278759-3a35-4431-b05b-99727b87d772.png?v=1783527368\" alt=\"Mi Primer Teléfono Didáctico 6\" loading=\"lazy\" class=\"w-full h-auto block fade-in\" onerror=\"console.error('Image 6 failed:', this.src); this.style.background='#1a1a1a';\"\u003e\n\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/0137b118-6055-4ec3-ba2a-86dd060e1d92.png?v=1783527368\" alt=\"Mi Primer Teléfono Didáctico 7\" loading=\"lazy\" class=\"w-full h-auto block fade-in\" onerror=\"console.error('Image 7 failed:', this.src); this.style.background='#1a1a1a';\"\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e  \u003cscript\u003e\n    const defaultConfig = {\n      main_title: 'MI PRIMER TELÉFONO DIDÁCTICO',\n      background_color: '#ffffff',\n      accent_color: '#dc2626',\n      text_color: '#ffffff',\n      font_family: 'Bebas Neue',\n      font_size: 16\n    };\n\n    if (document.readyState !== 'loading') {\n      initializeApp();\n    } else {\n      document.addEventListener('DOMContentLoaded', initializeApp);\n    }\n\n    function initializeApp() {\n      startTimer();\n      setupBuyerNotifications();\n      setupSDK();\n    }\n\n    \/\/ ===== TIMER FUNCTIONALITY =====\n    let timeRemaining = 30 * 60;\n    const totalTime = 30 * 60;\n\n    function formatTime(seconds) {\n      const mins = Math.floor(seconds \/ 60);\n      const secs = seconds % 60;\n      return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;\n    }\n\n    function startTimer() {\n      function updateTimer() {\n        const timerDisplay = document.getElementById('timer-display');\n        const timerProgress = document.getElementById('timer-progress');\n\n        if (timerDisplay) {\n          timerDisplay.textContent = formatTime(timeRemaining);\n        }\n\n        if (timerProgress) {\n          const progressPercent = (timeRemaining \/ totalTime) * 100;\n          timerProgress.style.width = progressPercent + '%';\n        }\n\n        if (timeRemaining \u003e 0) {\n          timeRemaining--;\n        }\n      }\n\n      updateTimer();\n      setInterval(updateTimer, 1000);\n    }\n\n    \/\/ ===== BUYER NOTIFICATIONS =====\n    function setupBuyerNotifications() {\n      const buyerInfo = document.getElementById('buyer-info');\n      const buyerDisplayName = document.getElementById('buyer-display-name');\n      const buyerDisplayCity = document.getElementById('buyer-display-city');\n      let autoHideTimeout;\n\n      const testNames = [\n        'María Fernanda',\n        'Carolina R.',\n        'Laura Gómez',\n        'Daniela López',\n        'Andrea Martínez',\n        'Paola Sánchez',\n        'Juliana Torres',\n        'Camila Ruiz'\n      ];\n\n      const testCities = [\n        'Bogotá',\n        'Medellín',\n        'Cali',\n        'Barranquilla',\n        'Cartagena',\n        'Bucaramanga',\n        'Cúcuta',\n        'Pereira'\n      ];\n\n      function showBuyerNotification(name, city) {\n        if (!buyerInfo) return;\n\n        buyerDisplayName.textContent = name;\n        buyerDisplayCity.textContent = city;\n        buyerInfo.classList.remove('hidden', 'trigger-exit');\n        buyerInfo.classList.add('trigger-enter');\n\n        clearTimeout(autoHideTimeout);\n        autoHideTimeout = setTimeout(() =\u003e {\n          hideBuyerNotification();\n        }, 5000);\n      }\n\n      function hideBuyerNotification() {\n        if (!buyerInfo) return;\n\n        buyerInfo.classList.remove('trigger-enter');\n        buyerInfo.classList.add('trigger-exit');\n\n        setTimeout(() =\u003e {\n          buyerInfo.classList.add('hidden');\n        }, 500);\n      }\n\n      setTimeout(() =\u003e {\n        showBuyerNotification('Andrea Martínez', 'Bogotá');\n      }, 2000);\n\n      setInterval(() =\u003e {\n        const randomName = testNames[Math.floor(Math.random() * testNames.length)];\n        const randomCity = testCities[Math.floor(Math.random() * testCities.length)];\n        showBuyerNotification(randomName, randomCity);\n      }, 15000);\n    }\n\n    \/\/ ===== ELEMENT SDK =====\n    function setupSDK() {\n      if (!window.elementSdk) return;\n\n      window.elementSdk.init({\n        defaultConfig,\n        onConfigChange: async (config) =\u003e {\n          const wrapper = document.getElementById('app-wrapper');\n\n          if (wrapper) {\n            wrapper.style.backgroundColor = config.background_color || defaultConfig.background_color;\n          }\n        },\n        mapToCapabilities: (config) =\u003e ({\n          recolorables: [\n            {\n              get: () =\u003e config.background_color || defaultConfig.background_color,\n              set: (v) =\u003e {\n                config.background_color = v;\n                window.elementSdk.setConfig({ background_color: v });\n              }\n            },\n            {\n              get: () =\u003e config.accent_color || defaultConfig.accent_color,\n              set: (v) =\u003e {\n                config.accent_color = v;\n                window.elementSdk.setConfig({ accent_color: v });\n              }\n            }\n          ],\n          borderables: [],\n          fontEditable: {\n            get: () =\u003e config.font_family || defaultConfig.font_family,\n            set: (v) =\u003e {\n              config.font_family = v;\n              window.elementSdk.setConfig({ font_family: v });\n            }\n          },\n          fontSizeable: {\n            get: () =\u003e config.font_size || defaultConfig.font_size,\n            set: (v) =\u003e {\n              config.font_size = v;\n              window.elementSdk.setConfig({ font_size: v });\n            }\n          }\n        }),\n        mapToEditPanelValues: (config) =\u003e new Map([\n          ['main_title', config.main_title || defaultConfig.main_title]\n        ])\n      });\n    }\n  \u003c\/script\u003e\n\u003c\/body\u003e","brand":"Ama store","offers":[{"title":"ROSA","offer_id":48099096592642,"sku":"-1","price":109900.0,"currency_code":"COP","in_stock":true},{"title":"AZUL","offer_id":48099096625410,"sku":"-0","price":109900.0,"currency_code":"COP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0781\/2228\/7362\/files\/9305bcb4-85ef-47e3-8c41-b6d3b3c08cb1.png?v=1783530769","url":"https:\/\/amacompra.com\/products\/telefono-inteligente-para-ninos-con-dobl","provider":"Ama store","version":"1.0","type":"link"}