{"title":"Cemix","description":null,"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_7223657c-d792-4db1-8401-1d5db8872093.jpg?v=1793736739"},{"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=1793480081"},{"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=1793738559"},{"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=1793727396"},{"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=1793660790"},{"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=1793720194"},{"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=1793729223"},{"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=1793733169"},{"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=1793738209"},{"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=1793725965"},{"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=1793487297"},{"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=1793732825"},{"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=1793733877"},{"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=1793738566"},{"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=1793734229"},{"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=1793475817"},{"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=1793655429"},{"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=1793737869"},{"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=1793731699"},{"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=1793728873"},{"product_id":"adhesivo-universal-blanco-cemix-20-kg-2","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":48342664904959,"sku":"110.4570","price":204.07,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4570_1_1d227dc0-44ae-431b-bbc5-0268947c7e5d.jpg?v=1774717967"},{"product_id":"pegamix-psp-porcelanico-cemix-20-kg-1","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":48342967124223,"sku":"110.4537","price":260.02,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4537_1_56a27083-a5db-4f55-b5f0-0c9791f8fc2a.jpg?v=1774725886"},{"product_id":"adhesivo-universal-blanco-cemix-20-kg-3","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":48371681100031,"sku":"110.4570","price":204.07,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4570_1_3482cad9-ffd1-43ce-b10a-0397a5b0c143.jpg?v=1775491953"},{"product_id":"pegamix-psp-porcelanico-cemix-20-kg-2","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":48403440926975,"sku":"110.4537","price":260.02,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/110.4537_1_39a13b0d-1744-446e-9ba9-75c0243305db.jpg?v=1776361350"},{"product_id":"adhesivo-gran-formato-cemix-32305-20-kg-1","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":48620992168191,"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_0a686d5d-e29e-453b-8079-b10a8fb0a0b1.jpg?v=1780415664"},{"product_id":"pegamix-psp-porcelanico-cemix-20-kg-3","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":48898191982847,"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_d8bcadbd-bf35-47f8-b3ed-79a64c59e6a4.jpg?v=1785177911"},{"product_id":"boquilla-universal-cemix-sin-arena-niebla-5-kg-1","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":48898192179455,"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_acb3cb51-bf3d-46a1-9e47-6c93a98caa51.jpg?v=1785177927"},{"product_id":"boquilla-universal-cemix-sin-arena-blanco-5-kg-1","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":48898192933119,"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_d51964fd-f1ea-4de6-87b0-5cedfb3e01c7.jpg?v=1785177943"},{"product_id":"boquilla-universal-cemix-sin-arena-marfil-5-kg-1","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":48898193293567,"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_5f0c4eef-80c0-40e6-a53b-bdf83c0b2175.jpg?v=1785177959"},{"product_id":"adhesivo-universal-blanco-cemix-20-kg-4","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":48898193621247,"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_f1b36d99-b562-4936-8343-1ccaf3c59284.jpg?v=1785177983"},{"product_id":"adhesivo-universal-blanco-cemix-20-kg-5","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":48898491777279,"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_89a275de-37ef-4753-8512-057c2ea97fbf.jpg?v=1785189682"},{"product_id":"pegazulejo-blanco-cemix-20-kg-1","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":49065536880895,"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_623fa94c-4b8a-40fc-bb82-c5a2b191dd27.jpg?v=1787343575"}],"url":"https:\/\/llanodelatorre.com.mx\/collections\/cemix.oembed","provider":"Llano de la Torre","version":"1.0","type":"link"}