{"title":"Adhesivo","description":"Adhesivo","products":[{"product_id":"pegazulejo-blanco-cemix-20-kg","title":"Pegazulejo Blanco Cemix 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Cemix, modelo Pegazulejo, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Mecánica lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Mezcla en polvo base cemento portland reforzado con resinas y polimeroa de calidad superior, que al mezclarse con agua forman un mortero adhesivo de altas propiedades y desempeño\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-1000\" class=\"llano-calculadora\" data-rendimiento=\"2.6\" data-unidad=\"bultos\" data-presentacion=\"20 kg\" data-sku=\"110.1000\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1101000() {\n    var calc = document.getElementById('llano-calc-110-1000');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-1000');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-1000');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1101000);\n  } else {\n    initCalculadorallanocalc1101000();\n  }\n  \n  setTimeout(initCalculadorallanocalc1101000, 500);\n  setTimeout(initCalculadorallanocalc1101000, 1000);\n  setTimeout(initCalculadorallanocalc1101000, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.1000\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePegazulejo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30164\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico, piedra natural, barro, cantera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEmpastes, cemento-arena, concreto colado, panel de cemento, block, piso cerámico existente, panel yeso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e180 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 17 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 95 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e14 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Vida en Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.5 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo debe usar el adhesivo para nivelar la superficie\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResisten Tem Prom70\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 90 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia Al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 17 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia ATension Con Baja Aa\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 90 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 95 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 6 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 6 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Vida En Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.5 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534326677759,"sku":"110.1000","price":121.07,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.1000_1.jpg?v=1783455859"},{"product_id":"pegamix-constructor-cemix-20-kg","title":"PegaMix Constructor Cemix 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Cemix, modelo Constructor, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Mecánica lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Mezcla en polvo base cemento portland reforzado con resinas y polimeroa de calidad superior, que al mezclarse con agua forman un mortero adhesivo de altas propiedades y desempeño\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4400\" class=\"llano-calculadora\" data-rendimiento=\"2.7\" data-unidad=\"bultos\" data-presentacion=\"20 kg\" data-sku=\"110.4400\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104400() {\n    var calc = document.getElementById('llano-calc-110-4400');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4400');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4400');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104400);\n  } else {\n    initCalculadorallanocalc1104400();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104400, 500);\n  setTimeout(initCalculadorallanocalc1104400, 1000);\n  setTimeout(initCalculadorallanocalc1104400, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4400\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eConstructor\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30156\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico, piedra natural, barro, cantera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEmpastes, cemento-arena, concreto colado, panel de cemento, block, piso cerámico existente, panel yeso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.8 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e180 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 19 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 85 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.7 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e14 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Vida en Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.5 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eUn saco de 20 kg rinde aproximadamente 6 m2 en piezas de hasta 15 x 15 cm, 4 m2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.8 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResisten Tem Prom70\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 5 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia Al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 19 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia ATension Con Baja Aa\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 5 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 85 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 8 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 8 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Vida En Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.5 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534326710527,"sku":"110.4400","price":181.91,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4400_1.jpg?v=1783445792"},{"product_id":"pegamix-psp-porcelanico-cemix-20-kg","title":"PegaMix PSP Porcelánico Cemix 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Cemix, modelo PIso sobre piso, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Química lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Adhesivo en polvo base cemento Portland reforzado para instalar piezas de lata media, baja y nula absorción de agua\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4537\" class=\"llano-calculadora\" data-rendimiento=\"1.3\" data-unidad=\"bultos\" data-presentacion=\"20 kg\" data-sku=\"110.4537\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104537() {\n    var calc = document.getElementById('llano-calc-110-4537');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4537');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4537');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104537);\n  } else {\n    initCalculadorallanocalc1104537();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104537, 500);\n  setTimeout(initCalculadorallanocalc1104537, 1000);\n  setTimeout(initCalculadorallanocalc1104537, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4537\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePIso sobre piso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e34860\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta o media absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelánica, marmol, granito, cantera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRepello, concreto, panel de yeso, panel de cemento, piso previamente instalado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e120 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 9 \u0026lt; 15 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 120 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 - 3 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e14 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Vida en Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePara instalaciones que requieren adherencia especial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia Al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 9 \u0026lt; 15 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 120 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e6 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e6 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Vida En Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta o media absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534326743295,"sku":"110.4537","price":219.99,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4537_1.jpg?v=1783454065"},{"product_id":"boquilla-universal-cemix-sin-arena-champange-5-kg","title":"Boquilla Universal Cemix Sin Arena Champange 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Champagne viene en una presentación de 5 kg. El complemento necesario para la instalación de tu piso. Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4551\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4551\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104551() {\n    var calc = document.getElementById('llano-calc-110-4551');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4551');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4551');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104551);\n  } else {\n    initCalculadorallanocalc1104551();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104551, 500);\n  setTimeout(initCalculadorallanocalc1104551, 1000);\n  setTimeout(initCalculadorallanocalc1104551, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4551\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30981\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eChampagne\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534326808831,"sku":"110.4551","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4551_1.jpg?v=1783450117"},{"product_id":"boquilla-universal-cemix-sin-arena-saltillo-5-kg","title":"Boquilla Universal Cemix Sin Arena Saltillo 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Saltillo viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4552\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4552\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104552() {\n    var calc = document.getElementById('llano-calc-110-4552');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4552');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4552');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104552);\n  } else {\n    initCalculadorallanocalc1104552();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104552, 500);\n  setTimeout(initCalculadorallanocalc1104552, 1000);\n  setTimeout(initCalculadorallanocalc1104552, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4552\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30987\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSaltillo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328086783,"sku":"110.4552","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4552_1.jpg?v=1783448323"},{"product_id":"boquilla-universal-cemix-sin-arena-chocolate-5-kg","title":"Boquilla Universal Cemix Sin Arena Chocolate 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Chocolate viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4553\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4553\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104553() {\n    var calc = document.getElementById('llano-calc-110-4553');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4553');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4553');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104553);\n  } else {\n    initCalculadorallanocalc1104553();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104553, 500);\n  setTimeout(initCalculadorallanocalc1104553, 1000);\n  setTimeout(initCalculadorallanocalc1104553, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4553\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30979\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eChocolate\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328152319,"sku":"110.4553","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4553_1.jpg?v=1783386043"},{"product_id":"boquilla-universal-cemix-sin-arena-almendra-5-kg","title":"Boquilla Universal Cemix Sin Arena Almendra 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Almendra viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4556\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4556\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104556() {\n    var calc = document.getElementById('llano-calc-110-4556');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4556');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4556');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104556);\n  } else {\n    initCalculadorallanocalc1104556();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104556, 500);\n  setTimeout(initCalculadorallanocalc1104556, 1000);\n  setTimeout(initCalculadorallanocalc1104556, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4556\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30985\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlmendra\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328217855,"sku":"110.4556","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4556_1.jpg?v=1783455866"},{"product_id":"boquilla-universal-cemix-sin-arena-negra-5-kg","title":"Boquilla Universal Cemix Sin Arena Negra 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Negro viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4557\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4557\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104557() {\n    var calc = document.getElementById('llano-calc-110-4557');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4557');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4557');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104557);\n  } else {\n    initCalculadorallanocalc1104557();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104557, 500);\n  setTimeout(initCalculadorallanocalc1104557, 1000);\n  setTimeout(initCalculadorallanocalc1104557, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4557\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30991\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNegro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328250623,"sku":"110.4557","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4557_1.jpg?v=1783441108"},{"product_id":"boquilla-universal-cemix-sin-arena-niebla-5-kg","title":"Boquilla Universal Cemix Sin Arena Niebla 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Niebla viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4558\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4558\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104558() {\n    var calc = document.getElementById('llano-calc-110-4558');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4558');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4558');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104558);\n  } else {\n    initCalculadorallanocalc1104558();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104558, 500);\n  setTimeout(initCalculadorallanocalc1104558, 1000);\n  setTimeout(initCalculadorallanocalc1104558, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4558\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30990\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNiebla\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328283391,"sku":"110.4558","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4558_1.jpg?v=1783455174"},{"product_id":"boquilla-universal-cemix-sin-arena-blanco-5-kg","title":"Boquilla Universal Cemix Sin Arena Blanco 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Blanco viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4562\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4562\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104562() {\n    var calc = document.getElementById('llano-calc-110-4562');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4562');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4562');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104562);\n  } else {\n    initCalculadorallanocalc1104562();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104562, 500);\n  setTimeout(initCalculadorallanocalc1104562, 1000);\n  setTimeout(initCalculadorallanocalc1104562, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4562\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30983\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328316159,"sku":"110.4562","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4562_1.jpg?v=1783453727"},{"product_id":"boquilla-universal-cemix-sin-arena-marfil-5-kg","title":"Boquilla Universal Cemix Sin Arena Marfil 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Marfil viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4563\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4563\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104563() {\n    var calc = document.getElementById('llano-calc-110-4563');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4563');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4563');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104563);\n  } else {\n    initCalculadorallanocalc1104563();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104563, 500);\n  setTimeout(initCalculadorallanocalc1104563, 1000);\n  setTimeout(initCalculadorallanocalc1104563, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4563\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30992\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMarfil\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328348927,"sku":"110.4563","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4563_1.jpg?v=1783196310"},{"product_id":"boquilla-universal-cemix-sin-arena-grafito-5-kg","title":"Boquilla Universal Cemix Sin Arena Grafito 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Grafito viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4564\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4564\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104564() {\n    var calc = document.getElementById('llano-calc-110-4564');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4564');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4564');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104564);\n  } else {\n    initCalculadorallanocalc1104564();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104564, 500);\n  setTimeout(initCalculadorallanocalc1104564, 1000);\n  setTimeout(initCalculadorallanocalc1104564, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4564\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30980\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGrafito\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328381695,"sku":"110.4564","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4564_1.jpg?v=1783455873"},{"product_id":"boquilla-universal-cemix-sin-arena-adobe-5-kg","title":"Boquilla Universal Cemix Sin Arena Adobe 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Adobe viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4565\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4565\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104565() {\n    var calc = document.getElementById('llano-calc-110-4565');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4565');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4565');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104565);\n  } else {\n    initCalculadorallanocalc1104565();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104565, 500);\n  setTimeout(initCalculadorallanocalc1104565, 1000);\n  setTimeout(initCalculadorallanocalc1104565, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4565\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30986\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdobe\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328414463,"sku":"110.4565","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4565_1.jpg?v=1783374868"},{"product_id":"adhesivo-universal-blanco-cemix-20-kg","title":"Adhesivo Universal Blanco Cemix 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Cemix, modelo Universal, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Mecánica lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Mezcla en polvo base cemento portland reforzado con resinas y polimeroa de calidad superior, que al mezclarse con agua forman un mortero adhesivo de altas propiedades y desempeño\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4570\" class=\"llano-calculadora\" data-rendimiento=\"3.1\" data-unidad=\"bultos\" data-presentacion=\"20 kg\" data-sku=\"110.4570\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104570() {\n    var calc = document.getElementById('llano-calc-110-4570');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4570');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4570');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104570);\n  } else {\n    initCalculadorallanocalc1104570();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104570, 500);\n  setTimeout(initCalculadorallanocalc1104570, 1000);\n  setTimeout(initCalculadorallanocalc1104570, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4570\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eUniversal\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30847\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEmpastes, cemento-arena, concreto colado, panel de cemento, block, piso cerámico existente, panel yeso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e120 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 27 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 120 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3.1 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e50 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Vida en Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSe mezcla con 5 litros de agua y forma una pasta homogénea que se aplica con llana dentada\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResisten Tem Prom70\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 90 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia Al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 27 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia ATension Con Baja Aa\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 90 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 120 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 8 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 8 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Vida En Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328447231,"sku":"110.4570","price":182.94,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4570_1.jpg?v=1783455881"},{"product_id":"boquilla-universal-cemix-sin-arena-plata-5-kg","title":"Boquilla Universal Cemix Sin Arena Plata 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Plata viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4586\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4586\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104586() {\n    var calc = document.getElementById('llano-calc-110-4586');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4586');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4586');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104586);\n  } else {\n    initCalculadorallanocalc1104586();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104586, 500);\n  setTimeout(initCalculadorallanocalc1104586, 1000);\n  setTimeout(initCalculadorallanocalc1104586, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4586\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30988\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePlata\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328479999,"sku":"110.4586","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4586_1.jpg?v=1783455888"},{"product_id":"boquilla-universal-cemix-sin-arena-pacifico-5-kg","title":"Boquilla Universal Cemix Sin Arena Pacífico 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Pacífico viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4587\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4587\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104587() {\n    var calc = document.getElementById('llano-calc-110-4587');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4587');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4587');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104587);\n  } else {\n    initCalculadorallanocalc1104587();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104587, 500);\n  setTimeout(initCalculadorallanocalc1104587, 1000);\n  setTimeout(initCalculadorallanocalc1104587, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4587\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30989\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePacífico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328545535,"sku":"110.4587","price":215.85,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4587_1.jpg?v=1783278371"},{"product_id":"boquilla-universal-cemix-sin-arena-gris-perla-5-kg","title":"Boquilla Universal Cemix Sin Arena Gris Perla 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Gris perla viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4588\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4588\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104588() {\n    var calc = document.getElementById('llano-calc-110-4588');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4588');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4588');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104588);\n  } else {\n    initCalculadorallanocalc1104588();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104588, 500);\n  setTimeout(initCalculadorallanocalc1104588, 1000);\n  setTimeout(initCalculadorallanocalc1104588, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4588\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30993\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris perla\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328676607,"sku":"110.4588","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4588_1.jpg?v=1783379210"},{"product_id":"boquilla-universal-cemix-sin-arena-cafe-claro-5-kg","title":"Boquilla Universal Cemix Sin Arena Café Claro 5 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Boquilla \/ Junta de la marca Cemix, modelo Boquillex, color Café claro viene en una presentación de 5 kg.  Emboquillador sin arena base cemento portland y pigmentos especiales, modificado con resinas en polvo, aditivos químicos, sellador y fungicida integrados para rellenar juntas mayores de 1.5 mm y hasta 8 mm\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-110-4590\" class=\"llano-calculadora\" data-rendimiento=\"4.6\" data-unidad=\"bultos\" data-presentacion=\"5 kg\" data-sku=\"110.4590\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc1104590() {\n    var calc = document.getElementById('llano-calc-110-4590');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-110-4590');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-110-4590');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc1104590);\n  } else {\n    initCalculadorallanocalc1104590();\n  }\n  \n  setTimeout(initCalculadorallanocalc1104590, 500);\n  setTimeout(initCalculadorallanocalc1104590, 1000);\n  setTimeout(initCalculadorallanocalc1104590, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.4590\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBoquillex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e30982\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCafé claro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso o azulejo este sólida, firme, y con al menos 24 horas de haberse colocado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 - 3 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo haga la mezcla con más agua de la recomendada, hacer el trabajo de emboquillado con las horas más frescas del día, y en exteriores procurar darle sombra al área\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e210 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 0 y 10 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta, media, baja o nula absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328709375,"sku":"110.4590","price":211.24,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4590_1.jpg?v=1783363775"},{"product_id":"aplanado-cemix-40-kg","title":"Aplanado Cemix 40 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl complemento de instalación de pisos, de la marca Cemix modelo Aplanado, viene en una presentación de 40 kg. Recubrir muros que requieran ser aplanados para corregir desplomes de 5 a 40 mm de espesor\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.6060\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAplanado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e32352\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e40 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e40 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMuros de block y concreto colado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAntes de colocar el producto asegurese que la superficie este limpia de polvo, grasas, pintura, aceites, desmoldantes ceras o cualquier otro material\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e40 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 4 y 38 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 4 y 38 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328774911,"sku":"110.6060","price":303.18,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.6060_1.jpg?v=1783447630"},{"product_id":"adhesivo-gran-formato-cemix-32305-20-kg","title":"Adhesivo Gran Formato Cemix 32305 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Cemix, modelo Gres grandes formatos, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Química lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Adhesivos en polvo base cemento Portland blanco reforzado con aditivos especiales para instalar los nuevos formatos grandes y pesados de piso\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e110.6061\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGres grandes formatos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e32305\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, marmol, fachaletas, loseta de barro, cantera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEmpastes, cemento-arena, concreto colado, panel de cemento, block, piso cerámico existente, panel yeso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e6 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 23 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 95 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e14 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eToda la superficie debe estar limpia y seca. nivelada y plana\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e6 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResisten Tem Prom70\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 7 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia Al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 23 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia ATension Con Baja Aa\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 7 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 95 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 8 y 36 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 8 y 36 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Cemix","offers":[{"title":"Default Title","offer_id":47534328807679,"sku":"110.6061","price":316.36,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.6061_1.jpg?v=1783441131"},{"product_id":"adhesivo-perdura-blanco-20-kg","title":"Adhesivo Perdura Blanco 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Perdura, modelo Blanco, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Mecánica lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Adhesivo para la instalación de todo tipo de azulejos, losetas de cerámica, de mármol o de cantera en muro\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2010-0050-SA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta o media absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, pétrea\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEmpastes, cemento-arena, concreto colado, panel de cemento\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLlanas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLlanas de dientes cuadrados\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e55 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSea precavido con las superficies calientes y las corrientes de aire, ya que éstas acelerarán el fraguado del adhesivo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlta o media absorción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534332182783,"sku":"181.1","price":224.04,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.1_1.jpg?v=1783452041"},{"product_id":"adhesivo-perdura-porcelanico-blanco-20-kg","title":"Adhesivo Perdura Porcelánico Blanco 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Perdura, modelo Pega porcelánico  , lo encuentras en una presentación de 20 kg. Su tipo de adherencia Química lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Ideal para la instalación de pisos porcelánicos de poca absorción de agua\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.1458\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePega porcelánico  \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2010-0064-SA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánicos, recubrimientos existentes o de nula absorción de agua\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBase cemento poroso, block, ladrillo, barroblock, concreto celular, tabla-yeso, tabla-cemento, base cemento pulido, piso existente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLlanas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLlanas de dientes cuadrados\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e55 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSea precavido con las superficies calientes y las corrientes de aire, ya que éstas acelerarán el fraguado del adhesivo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534334378239,"sku":"181.1458","price":250.66,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.1458_1.jpg?v=1783449438"},{"product_id":"adhesivo-perdura-pega-piso-y-marmol-gris-20-kg","title":"Adhesivo Perdura Pega Piso y Marmol Gris 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Perdura, modelo Pega piso mármol, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Química lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Adhesivo diseñado para la instalación de todo tipo de pisos cerámicos, de mármol, cantera, piedra, fachaleta y vitropisos\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePega piso mármol\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2010-0057-SA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica, porcelanato, mármol, granito, cantera, piedra natural, loseta de vidrio, pizarra \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBase cemento poroso, block, ladrillo, barroblock, concreto celular, tabla-yeso, tabla-cemento, base cemento pulido, piso existente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLlanas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLlanas de dientes cuadrados\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e55 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNo aplique capas superiores a 2 cm, para estos casos nivele primero con un firme de cemento y arena\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534334411007,"sku":"181.2","price":211.94,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.2_1.jpg?v=1783382504"},{"product_id":"liquido-perdura-duracril-1-l","title":"Líquido Perdura Duracril 1 L","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl complemento de instalación de pisos, de la marca Perdura modelo Duracril, viene en una presentación de 1 L. Proporciona resistencia, incrementa la adhesividad y dureza, minimiza la contracción y expansión, disminuye la absorción de agua\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eDuracril\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2120-0274-LT01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eÚnico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánicos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePara adherir concreto nuevo con viejo, en mezclas con adhesivos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534334476543,"sku":"181.20","price":220.7,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.20_1.jpg?v=1782605259"},{"product_id":"liquido-perdura-duracril-1-gal","title":"Líquido Perdura Duracril 1 Gal","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl complemento de instalación de pisos, de la marca Perdura modelo Duracril, viene en una presentación de 4 L. Proporciona resistencia, incrementa la adhesividad y dureza, minimiza la contracción y expansión, disminuye la absorción de agua\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.23\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eDuracril\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2120-0275-LT04\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eÚnico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánicos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePara adherir concreto nuevo con viejo, en mezclas con adhesivos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.5 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534349451519,"sku":"181.23","price":636.88,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.23_1.jpg?v=1781536032"},{"product_id":"liquido-perdura-sellacril-1-l","title":"Líquido Perdura Sellacril 1 L","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl complemento de instalación de pisos, de la marca Perdura modelo Sellacril, viene en una presentación de 1 L. Sella y protege de la penetración de agua, grasa y mugre. Realza la belleza de los colores naturales, aumentando su brillo y conservándolos. Ayuda a una fácil limpieza\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-24\" class=\"llano-calculadora\" data-rendimiento=\"4\" data-unidad=\"bultos\" data-presentacion=\"1 L\" data-sku=\"181.24\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18124() {\n    var calc = document.getElementById('llano-calc-181-24');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-24');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-24');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18124);\n  } else {\n    initCalculadorallanocalc18124();\n  }\n  \n  setTimeout(initCalculadorallanocalc18124, 500);\n  setTimeout(initCalculadorallanocalc18124, 1000);\n  setTimeout(initCalculadorallanocalc18124, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.24\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSellacril\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2100-0318-LT01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eÚnico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.5 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eUtilice SELLACRIL sobre sus juntas para evitar la acumulación de mugre en ellas.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534349582591,"sku":"181.24","price":361.51,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.24_1.jpg?v=1783112170"},{"product_id":"adhesivo-perdura-pega-psp-interiores-blanco-20-kg","title":"Adhesivo Perdura Pega PSP Interiores Blanco 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Perdura, modelo Piso sobre piso interiores, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Química lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Adhesivo de superior adherencia y resistencia, ideal para la instalación de piso sobre piso, losetas vidriadas, vitroblock, porcelánicos o cualquier loseta cerámica, canteras y piedras\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.306\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso sobre piso interiores\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2010-0094-SA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánicos, recubrimientos existentes o de nula absorción de agua\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBase cemento poroso, block, ladrillo, barroblock, concreto celular, tabla-yeso, tabla-cemento, base cemento pulido, piso existente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLlanas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLlanas de dientes cuadrados\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e55 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSea precavido con las superficies calientes y las corrientes de aire, ya que éstas acelerarán el fraguado del adhesivo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534349811967,"sku":"181.306","price":291.69,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.306_1.jpg?v=1783455896"},{"product_id":"adhesivo-pegabum-blanco-20-kg","title":"Adhesivo Pegabum Blanco 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Pegabum, modelo Pegazulejo, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Mecánica lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Pegabum pegazulejo adhesivo en polvo, de color blanco aperlado, formulado con cemento de alta resistencia, cargas minerales seleccionadas y aditivos químicos\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-307\" class=\"llano-calculadora\" data-rendimiento=\"4\" data-unidad=\"bultos\" data-presentacion=\"20 kg\" data-sku=\"181.307\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc181307() {\n    var calc = document.getElementById('llano-calc-181-307');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-307');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-307');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc181307);\n  } else {\n    initCalculadorallanocalc181307();\n  }\n  \n  setTimeout(initCalculadorallanocalc181307, 500);\n  setTimeout(initCalculadorallanocalc181307, 1000);\n  setTimeout(initCalculadorallanocalc181307, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.307\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePegazulejo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4010-0198-SA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAzulejos de alta y mediana absorción de agua\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCemento, barro, cantera, arena\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.8 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e45 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e36 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4 - 6 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Inicial\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFraguado Final\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e14 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Vida en Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e45 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePara aplicar Pegabum® Pegazulejo la superficie de colocación debe estar firme y sin grietas, sólida, plana, a nivel o plomo y libre de impurezas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.8 L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 30 y 70 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 30 y 70 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Vida En Charola\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e45 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMecánica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534349943039,"sku":"181.307","price":172.6,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.307_1.jpg?v=1783452751"},{"product_id":"tira-trim-marmoleada-perdura-beige-2-40-m","title":"Tira Trim Marmoleada Perdura Beige 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV, Color Beige, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-38\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.38\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18138() {\n    var calc = document.getElementById('llano-calc-181-38');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-38');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-38');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18138);\n  } else {\n    initCalculadorallanocalc18138();\n  }\n  \n  setTimeout(initCalculadorallanocalc18138, 500);\n  setTimeout(initCalculadorallanocalc18138, 1000);\n  setTimeout(initCalculadorallanocalc18138, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.38\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0293-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBeige\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534355054847,"sku":"181.38","price":86.25,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.38_1.jpg?v=1783452760"},{"product_id":"adhesivo-pega-piedra-perdura-20-kg","title":"Adhesivo Pega Piedra Perdura 20 Kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl adhesivo de la marca Perdura, modelo Pega piedra, lo encuentras en una presentación de 20 kg. Su tipo de adherencia Química lo convierte en el complemento ideal para la colocación de tu recubrimiento de preferencia. Ya sea para pisos y muros cerámicos, porcelanatos, piedra, vitroblock, azulejo veneciano, tenemos el ideal para ti Adhesivo especial para pegar piedra natural y fachaleta\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-44\" class=\"llano-calculadora\" data-rendimiento=\"2.5\" data-unidad=\"bultos\" data-presentacion=\"20 kg\" data-sku=\"181.44\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18144() {\n    var calc = document.getElementById('llano-calc-181-44');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-44');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-44');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18144);\n  } else {\n    initCalculadorallanocalc18144();\n  }\n  \n  setTimeout(initCalculadorallanocalc18144, 500);\n  setTimeout(initCalculadorallanocalc18144, 1000);\n  setTimeout(initCalculadorallanocalc18144, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.44\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePega piedra\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2010-0072-SA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior, exterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial, institucional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Loseta (Absorción de Agua)\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico, piedra natural, barro, cantera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eSustratos Recomendados\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEmpastes, cemento-arena, concreto colado, panel de cemento\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Tráfico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLlanas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLlanas de dientes cuadrados\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Abierto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e25 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt;= 14 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e125 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e24 - 48 hr\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.5 - 3.5 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEn instalaciones mayores a 4 metros de altura siempre deberá usar malla de gallinero para mejorar el anclaje\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia Al Corte\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt;= 14 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e125 kg\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 5 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTemperatura De Aplicacion\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEntre 5 y 34 °c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo De Almacenamiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 meses\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Adherencia\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eQuímica\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Loseta\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaja o nula absoción\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo De Trafico\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIntenso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534355185919,"sku":"181.44","price":310.01,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.44_1.jpg?v=1783452768"},{"product_id":"tira-trim-lisa-perdura-champagne-2-40-m","title":"Tira Trim Lisa Perdura Champagne 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Champagne, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-48\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.48\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18148() {\n    var calc = document.getElementById('llano-calc-181-48');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-48');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-48');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18148);\n  } else {\n    initCalculadorallanocalc18148();\n  }\n  \n  setTimeout(initCalculadorallanocalc18148, 500);\n  setTimeout(initCalculadorallanocalc18148, 1000);\n  setTimeout(initCalculadorallanocalc18148, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0273-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eChampagne\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534356496639,"sku":"181.48","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.48_1.jpg?v=1782950858"},{"product_id":"tira-trim-lisa-perdura-perla-2-40-m","title":"Tira Trim Lisa Perdura Perla 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Perla, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-49\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.49\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18149() {\n    var calc = document.getElementById('llano-calc-181-49');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-49');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-49');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18149);\n  } else {\n    initCalculadorallanocalc18149();\n  }\n  \n  setTimeout(initCalculadorallanocalc18149, 500);\n  setTimeout(initCalculadorallanocalc18149, 1000);\n  setTimeout(initCalculadorallanocalc18149, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.49\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0281-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerla\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.3 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534356562175,"sku":"181.49","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.49_1.jpg?v=1782862324"},{"product_id":"tira-trim-lisa-perdura-negro-2-40-m","title":"Tira Trim Lisa Perdura Negro 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Negro, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-50\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.50\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18150() {\n    var calc = document.getElementById('llano-calc-181-50');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-50');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-50');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18150);\n  } else {\n    initCalculadorallanocalc18150();\n  }\n  \n  setTimeout(initCalculadorallanocalc18150, 500);\n  setTimeout(initCalculadorallanocalc18150, 1000);\n  setTimeout(initCalculadorallanocalc18150, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0279-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eNegro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534356660479,"sku":"181.50","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.50_1.jpg?v=1783039431"},{"product_id":"tira-trim-lisa-perdura-blanco-2-40-m","title":"Tira Trim Lisa Perdura Blanco 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Blanco, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-51\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.51\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18151() {\n    var calc = document.getElementById('llano-calc-181-51');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-51');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-51');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18151);\n  } else {\n    initCalculadorallanocalc18151();\n  }\n  \n  setTimeout(initCalculadorallanocalc18151, 500);\n  setTimeout(initCalculadorallanocalc18151, 1000);\n  setTimeout(initCalculadorallanocalc18151, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.51\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0268-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534361411839,"sku":"181.51","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.51_1.jpg?v=1783195988"},{"product_id":"tira-trim-lisa-perdura-durazno-2-40-m","title":"Tira Trim Lisa Perdura Durazno 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Durazno, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-52\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.52\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18152() {\n    var calc = document.getElementById('llano-calc-181-52');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-52');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-52');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18152);\n  } else {\n    initCalculadorallanocalc18152();\n  }\n  \n  setTimeout(initCalculadorallanocalc18152, 500);\n  setTimeout(initCalculadorallanocalc18152, 1000);\n  setTimeout(initCalculadorallanocalc18152, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0275-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eDurazno\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534361444607,"sku":"181.52","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.52_1.jpg?v=1780280165"},{"product_id":"tira-trim-lisa-perdura-hueso-2-40-m","title":"Tira Trim Lisa Perdura Hueso 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Hueso, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-53\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.53\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18153() {\n    var calc = document.getElementById('llano-calc-181-53');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-53');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-53');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18153);\n  } else {\n    initCalculadorallanocalc18153();\n  }\n  \n  setTimeout(initCalculadorallanocalc18153, 500);\n  setTimeout(initCalculadorallanocalc18153, 1000);\n  setTimeout(initCalculadorallanocalc18153, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.53\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0277-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eHueso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534361641215,"sku":"181.53","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.53_1.jpg?v=1780280172"},{"product_id":"tira-trim-lisa-perdura-caoba-2-40-m","title":"Tira Trim Lisa Perdura Caoba 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Caoba, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-54\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.54\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18154() {\n    var calc = document.getElementById('llano-calc-181-54');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-54');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-54');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18154);\n  } else {\n    initCalculadorallanocalc18154();\n  }\n  \n  setTimeout(initCalculadorallanocalc18154, 500);\n  setTimeout(initCalculadorallanocalc18154, 1000);\n  setTimeout(initCalculadorallanocalc18154, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.54\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0271-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCaoba\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534361673983,"sku":"181.54","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.54_1.jpg?v=1783377853"},{"product_id":"adhesivo-a-plana-perdura-blanco-20kg","title":"Adhesivo A-Plana Perdura Blanco 20kg","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eRecubrimiento para corregir muros en interiores y exteriores de hasta 4 cm, en superficies de arena-cemento, block, ladrillo, concreto y tabique\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos bultos necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-543\" class=\"llano-calculadora\" data-rendimiento=\"1\" data-unidad=\"bultos\" data-presentacion=\"20kg\" data-sku=\"181.543\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e bultos\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc181543() {\n    var calc = document.getElementById('llano-calc-181-543');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-543');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-543');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc181543);\n  } else {\n    initCalculadorallanocalc181543();\n  }\n  \n  setTimeout(initCalculadorallanocalc181543, 500);\n  setTimeout(initCalculadorallanocalc181543, 1000);\n  setTimeout(initCalculadorallanocalc181543, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.543\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eA-Plana\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2040-16AP-SA20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporción de Agua\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4 litros\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Compresión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e67 kg\/cm2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTiempo de Secado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e15 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 m2 por cada saco de 20 kg a un espesor de 1.25 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProporcion De Agua Por20kg\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4 litros\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia De Compresion Por28Dias\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e67 kg\/cm2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534367604991,"sku":"181.543","price":162.33,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.543_1.jpg?v=1783350047"},{"product_id":"tira-trim-lisa-perdura-arena-2-40-m","title":"Tira Trim Lisa Perdura Arena 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Arena, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-55\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.55\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18155() {\n    var calc = document.getElementById('llano-calc-181-55');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-55');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-55');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18155);\n  } else {\n    initCalculadorallanocalc18155();\n  }\n  \n  setTimeout(initCalculadorallanocalc18155, 500);\n  setTimeout(initCalculadorallanocalc18155, 1000);\n  setTimeout(initCalculadorallanocalc18155, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0264-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eArena\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534368162047,"sku":"181.55","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.55_1.jpg?v=1780515050"},{"product_id":"tira-trim-lisa-perdura-cafe-2-40-m","title":"Tira Trim Lisa Perdura Café 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Café, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-56\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.56\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18156() {\n    var calc = document.getElementById('llano-calc-181-56');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-56');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-56');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18156);\n  } else {\n    initCalculadorallanocalc18156();\n  }\n  \n  setTimeout(initCalculadorallanocalc18156, 500);\n  setTimeout(initCalculadorallanocalc18156, 1000);\n  setTimeout(initCalculadorallanocalc18156, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.56\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0272-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCafé\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534372913407,"sku":"181.56","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.56_1.jpg?v=1783113924"},{"product_id":"tira-trim-lisa-perdura-beige-2-40-m","title":"Tira Trim Lisa Perdura Beige 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Beige, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-57\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.57\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18157() {\n    var calc = document.getElementById('llano-calc-181-57');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-57');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-57');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18157);\n  } else {\n    initCalculadorallanocalc18157();\n  }\n  \n  setTimeout(initCalculadorallanocalc18157, 500);\n  setTimeout(initCalculadorallanocalc18157, 1000);\n  setTimeout(initCalculadorallanocalc18157, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.57\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0267-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBeige\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534372978943,"sku":"181.57","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.57_1.jpg?v=1781811916"},{"product_id":"tira-trim-lisa-perdura-gris-2-40-m","title":"Tira Trim Lisa Perdura Gris 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Gris, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-58\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.58\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18158() {\n    var calc = document.getElementById('llano-calc-181-58');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-58');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-58');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18158);\n  } else {\n    initCalculadorallanocalc18158();\n  }\n  \n  setTimeout(initCalculadorallanocalc18158, 500);\n  setTimeout(initCalculadorallanocalc18158, 1000);\n  setTimeout(initCalculadorallanocalc18158, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.58\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0276-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534373044479,"sku":"181.58","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.58_1.jpg?v=1783455904"},{"product_id":"tira-trim-lisa-perdura-platino-2-40-m","title":"Tira Trim Lisa Perdura Platino 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Platino, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-59\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.59\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18159() {\n    var calc = document.getElementById('llano-calc-181-59');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-59');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-59');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18159);\n  } else {\n    initCalculadorallanocalc18159();\n  }\n  \n  setTimeout(initCalculadorallanocalc18159, 500);\n  setTimeout(initCalculadorallanocalc18159, 1000);\n  setTimeout(initCalculadorallanocalc18159, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.59\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0280-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePlatino\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534373241087,"sku":"181.59","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.59_1.jpg?v=1783033354"},{"product_id":"tira-trim-lisa-perdura-jade-2-40-m","title":"Tira Trim Lisa Perdura Jade 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Jade, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-60\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.60\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18160() {\n    var calc = document.getElementById('llano-calc-181-60');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-60');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-60');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18160);\n  } else {\n    initCalculadorallanocalc18160();\n  }\n  \n  setTimeout(initCalculadorallanocalc18160, 500);\n  setTimeout(initCalculadorallanocalc18160, 1000);\n  setTimeout(initCalculadorallanocalc18160, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.60\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0286-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eJade\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534373273855,"sku":"181.60","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.60_1.jpg?v=1780280234"},{"product_id":"tira-trim-lisa-perdura-baltico-2-40-m","title":"Tira Trim Lisa Perdura Báltico 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Báltico, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-61\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.61\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18161() {\n    var calc = document.getElementById('llano-calc-181-61');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-61');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-61');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18161);\n  } else {\n    initCalculadorallanocalc18161();\n  }\n  \n  setTimeout(initCalculadorallanocalc18161, 500);\n  setTimeout(initCalculadorallanocalc18161, 1000);\n  setTimeout(initCalculadorallanocalc18161, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.61\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0263-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBáltico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534373306623,"sku":"181.61","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.61_1.jpg?v=1783442976"},{"product_id":"tira-trim-lisa-perdura-rosa-2-40","title":"Tira Trim Lisa Perdura Rosa 2.40","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Rosa, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-62\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.62\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18162() {\n    var calc = document.getElementById('llano-calc-181-62');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-62');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-62');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18162);\n  } else {\n    initCalculadorallanocalc18162();\n  }\n  \n  setTimeout(initCalculadorallanocalc18162, 500);\n  setTimeout(initCalculadorallanocalc18162, 1000);\n  setTimeout(initCalculadorallanocalc18162, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.62\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0284-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRosa\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534373339391,"sku":"181.62","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.62_1.jpg?v=1783189517"},{"product_id":"tira-trim-lisa-perdura-coral-2-40-m","title":"Tira Trim Lisa Perdura Coral 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Coral, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-63\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.63\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18163() {\n    var calc = document.getElementById('llano-calc-181-63');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-63');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-63');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18163);\n  } else {\n    initCalculadorallanocalc18163();\n  }\n  \n  setTimeout(initCalculadorallanocalc18163, 500);\n  setTimeout(initCalculadorallanocalc18163, 1000);\n  setTimeout(initCalculadorallanocalc18163, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.63\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0274-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCoral\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534378123519,"sku":"181.63","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.63_1.jpg?v=1780280257"},{"product_id":"tira-trim-lisa-perdura-verde-claro-2-40-m","title":"Tira Trim Lisa Perdura Verde Claro 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Verde claro, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-65\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.65\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18165() {\n    var calc = document.getElementById('llano-calc-181-65');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-65');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-65');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18165);\n  } else {\n    initCalculadorallanocalc18165();\n  }\n  \n  setTimeout(initCalculadorallanocalc18165, 500);\n  setTimeout(initCalculadorallanocalc18165, 1000);\n  setTimeout(initCalculadorallanocalc18165, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.65\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0285-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVerde claro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534378189055,"sku":"181.65","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.65_1.jpg?v=1783452782"},{"product_id":"tira-trim-lisa-perdura-bronce-2-40-m","title":"Tira Trim Lisa Perdura Bronce 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Bronce, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-66\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.66\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18166() {\n    var calc = document.getElementById('llano-calc-181-66');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-66');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-66');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18166);\n  } else {\n    initCalculadorallanocalc18166();\n  }\n  \n  setTimeout(initCalculadorallanocalc18166, 500);\n  setTimeout(initCalculadorallanocalc18166, 1000);\n  setTimeout(initCalculadorallanocalc18166, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.66\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0269-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBronce\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534378221823,"sku":"181.66","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.66_1.jpg?v=1780280272"},{"product_id":"tira-trim-lisa-perdura-azul-claro-2-40-m","title":"Tira Trim Lisa Perdura Azul Claro 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Azul claro, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-67\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.67\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18167() {\n    var calc = document.getElementById('llano-calc-181-67');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-67');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-67');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18167);\n  } else {\n    initCalculadorallanocalc18167();\n  }\n  \n  setTimeout(initCalculadorallanocalc18167, 500);\n  setTimeout(initCalculadorallanocalc18167, 1000);\n  setTimeout(initCalculadorallanocalc18167, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.67\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0266-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAzul claro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":47534378320127,"sku":"181.67","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.67_1.jpg?v=1780280279"}],"url":"https:\/\/llanodelatorre.com.mx\/collections\/adhesivo.oembed?page=9","provider":"Llano de la Torre","version":"1.0","type":"link"}