{"title":"Pisos y muros","description":"Compra en Llano de la Torre | Recubrimiento","products":[{"product_id":"loseta-lamosa-borja-fd-60x60-negro-1-44-1a","title":"Loseta Lamosa Borja FD 60X60 Negro 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Borja, color Negro, marca Lamosa, Medidas, 60 X 60 cm, tipo Rústico con una cobertura por caja de 1.44 m², grado de calidad A1 y de fácil instalación. Los diseños rústicos buscan imitar lo natural e imperfecto de una piedra. Esta gama de productos va desde un cemento, una cantera hasta una piedra volcánica\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 cajas 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-1-187\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"32.299 kg\" data-sku=\"1.187\"\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 cajas\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 initCalculadorallanocalc1187() {\n    var calc = document.getElementById('llano-calc-1-187');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-1-187');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-1-187');\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', initCalculadorallanocalc1187);\n  } else {\n    initCalculadorallanocalc1187();\n  }\n  \n  setTimeout(initCalculadorallanocalc1187, 500);\n  setTimeout(initCalculadorallanocalc1187, 1000);\n  setTimeout(initCalculadorallanocalc1187, 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;\"\u003e1.187\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;\"\u003eBorja\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;\"\u003eLBORJA11T0Z\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;\"\u003eLamosa\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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 200 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;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRústico\u003c\/td\u003e\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;\"\u003e32.299 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3% \u0026lt;= 6%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534324711679,"sku":"1.187","price":393.31,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/1.187_1.jpg?v=1780596385"},{"product_id":"azulejo-lamosa-amur-fd-25x40-beige-1-5-1a","title":"Azulejo Lamosa Amur FD 25X40 Beige 1.5 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLos diseños rústicos buscan imitar lo natural e imperfecto de una piedra. Esta gama de productos va desde un cemento, una cantera hasta una piedra volcánica\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 cajas 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-1-244\" class=\"llano-calculadora\" data-rendimiento=\"1.5\" data-unidad=\"cajas\" data-presentacion=\"22.77 kg\" data-sku=\"1.244\"\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 cajas\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 initCalculadorallanocalc1244() {\n    var calc = document.getElementById('llano-calc-1-244');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-1-244');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-1-244');\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', initCalculadorallanocalc1244);\n  } else {\n    initCalculadorallanocalc1244();\n  }\n  \n  setTimeout(initCalculadorallanocalc1244, 500);\n  setTimeout(initCalculadorallanocalc1244, 1000);\n  setTimeout(initCalculadorallanocalc1244, 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;\"\u003e1.244\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;\"\u003eAmur\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;\"\u003eLAMURFD1407\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;\"\u003eLamosa\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBeige\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCeroso\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\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso 250 kg\/cm² \/ Muro 200 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;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRústico\u003c\/td\u003e\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;\"\u003e22.77 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEstándar\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso 3% \u0026lt;= 6% \/ Muro 10%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo blanco\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.50 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534324744447,"sku":"1.244","price":302.27,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/1.244_1.jpg?v=1780187153"},{"product_id":"loseta-lamosa-marsella-rock-fd-55x55-cafe-1-49-1a","title":"Loseta Lamosa Marsella Rock Fd 55x55 Cafe 1.49 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Lamosa Marsella Rock Fd 55x55 Cafe 1.49 1A para pisos interiores o exteriores en baño,regadera,cocina o fachada brinda un toque rústico delicado y elegante\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 cajas 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-1-343\" class=\"llano-calculadora\" data-rendimiento=\"1.49\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"1.343\"\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 cajas\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 initCalculadorallanocalc1343() {\n    var calc = document.getElementById('llano-calc-1-343');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-1-343');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-1-343');\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', initCalculadorallanocalc1343);\n  } else {\n    initCalculadorallanocalc1343();\n  }\n  \n  setTimeout(initCalculadorallanocalc1343, 500);\n  setTimeout(initCalculadorallanocalc1343, 1000);\n  setTimeout(initCalculadorallanocalc1343, 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;\"\u003e1.343\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;\"\u003eLMARROC15GG\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;\"\u003eLMARROC15GG\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;\"\u003eLamosa\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCafé\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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;\"\u003eBaño\/Regadera\/ Cocina\/Fachada\u003c\/td\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;\"\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;\"\u003eResistencia a Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRústico Exterior\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e55x55\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3% \u0026lt; E = 6%\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.49\u003c\/td\u003e\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534324777215,"sku":"1.343","price":364.69,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/1.343_1.jpg?v=1777569887"},{"product_id":"loseta-lamosa-marfil-clasico-44x44-crema-1-92-1a","title":"Loseta Lamosa Marfil Clásico 44X44 Crema 1.92 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eOfrece diseños atemporales, estéticamente atractivos y de extrema funcionalidad, seduce por su gráfica y visión actual de los mejores mármoles\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 cajas 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-1-356\" class=\"llano-calculadora\" data-rendimiento=\"1.92\" data-unidad=\"cajas\" data-presentacion=\"29.146 kg\" data-sku=\"1.356\"\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 cajas\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 initCalculadorallanocalc1356() {\n    var calc = document.getElementById('llano-calc-1-356');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-1-356');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-1-356');\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', initCalculadorallanocalc1356);\n  } else {\n    initCalculadorallanocalc1356();\n  }\n  \n  setTimeout(initCalculadorallanocalc1356, 500);\n  setTimeout(initCalculadorallanocalc1356, 1000);\n  setTimeout(initCalculadorallanocalc1356, 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;\"\u003e1.356\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;\"\u003eMarfil Clásico\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;\"\u003eLMARNEW14HE\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;\"\u003eLamosa\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;\"\u003eCrema\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBrillante \/ Mate\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, baño, cocina, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eResistencia a Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 250 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;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMármol\u003c\/td\u003e\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;\"\u003e29.146 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEstándar\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRegular\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 % \u0026lt;= 6 %\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo Blanco\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.92 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRegular\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534324809983,"sku":"1.356","price":506.51,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/1.356_1.jpg?v=1780279617"},{"product_id":"peine-de-acero-28-cm-red-tools-p1010","title":"Peine de acero 28 cm Red Tools P1010","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo P1010 Ideal Colocación de pastas\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;\"\u003e163.11\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;\"\u003eP1010\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;\"\u003eP1010\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;\"\u003eRed Tools\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eÚnico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTradicional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.3 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e10 X 10 cm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534329168127,"sku":"163.11","price":83.14,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.11_1.jpg?v=1780496682"},{"product_id":"peine-de-acero-28-cm-red-tools-p1212","title":"Peine de acero 28 cm Red Tools P1212","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo P1212 Ideal Colocación de pastas\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;\"\u003e163.12\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;\"\u003eP1212\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;\"\u003eP1212\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;\"\u003eRed Tools\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eÚnico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTradicional\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.4 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 X 12 cm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534329233663,"sku":"163.12","price":83.14,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.12_1.jpg?v=1780496691"},{"product_id":"separador-red-tools-s1300-1-mm-300-pzas","title":"Separador Red Tools S1300 1 mm (300 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo S1300 ,son Separadores plásticos de 1 mm, ideal para recubrimientos de porcelanato y boquilla sin arena\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;\"\u003e163.20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\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;\"\u003eS1300\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;\"\u003eS1300\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.2 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534329430271,"sku":"163.20","price":44.91,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.20_1.jpg?v=1780538540"},{"product_id":"separador-red-tools-s2300-2-mm-300-pzas","title":"Separador Red Tools S2300 2 mm (300 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo S2300 ,son Separadores plásticos de 2 mm, ideal para recubrimientos de porcelanato y boquilla sin arena\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;\"\u003e163.22\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;\"\u003eS2300\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;\"\u003eS2300\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.2 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534329626879,"sku":"163.22","price":44.91,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.22_1.jpg?v=1780597187"},{"product_id":"separador-red-tools-s3200-3-mm-200-pzas","title":"Separador Red Tools S3200 3 mm (200 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo S3200 ,son Separadores plásticos de 3 mm, ideal para recubrimientos cerámicos y boquilla sin o con arena\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;\"\u003e163.24\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eS3200\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;\"\u003eS3200\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.3 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534329757951,"sku":"163.24","price":44.91,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.24_1.jpg?v=1780595823"},{"product_id":"separador-red-tools-s5100-5-mm-100-pzas","title":"Separador Red Tools S5100 5 mm (100 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo S5100 ,son Separadores plásticos de 5 mm, ideal para recubrimientos cerámicos y boquilla con arena\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;\"\u003e163.25\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;\"\u003eS5100\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;\"\u003eS5100\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;\"\u003eRed Tools\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.2 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e5 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534329856255,"sku":"163.25","price":44.91,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.25_1.jpg?v=1780527766"},{"product_id":"separador-red-tools-s7100-7-mm-100-pzas","title":"Separador Red Tools S7100 7 mm (100 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo S7100 ,son Separadores plásticos de 7 mm, ideal para recubrimientos cerámicos y boquilla con arena\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;\"\u003e163.26\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;\"\u003eS7100\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;\"\u003eS7100\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;\"\u003eRed Tools\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.2 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e7 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534329954559,"sku":"163.26","price":52.57,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.26_1.jpg?v=1780496753"},{"product_id":"separador-red-tools-s15300-1-5-mm-300-pzas","title":"Separador Red Tools S15300 1.5 mm (300 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo S15300 ,son Separadores plásticos de 1.5 mm, ideal para recubrimientos de porcelanato y boquilla sin arena\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;\"\u003e163.27\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;\"\u003eS15300\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;\"\u003eS15300\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.5 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330020095,"sku":"163.27","price":44.91,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.27_1.jpg?v=1780532409"},{"product_id":"separador-t-red-tools-t2200-2-mm-200-pzas","title":"Separador \"T\" Red Tools T2200 2 mm (200 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo T2200 ,son Separadores plásticos de 2 mm, ideal para recubrimientos de porcelanato y boquilla sin arena\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;\"\u003e163.28\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;\"\u003eT2200\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;\"\u003eT2200\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.01 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330085631,"sku":"163.28","price":48.74,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.28_1.jpg?v=1780526237"},{"product_id":"separador-t-red-tools-t3200-3-mm-200-pzas","title":"Separador \"T\" Red Tools T3200 3 mm (200 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo T3200 ,son Separadores plásticos de 3 mm, ideal para recubrimientos cerámicos y boquilla sin o con arena\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;\"\u003e163.29\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;\"\u003eT3200\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;\"\u003eT3200\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.01 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330118399,"sku":"163.29","price":48.74,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.29_1.jpg?v=1780529156"},{"product_id":"tenaza-red-tools-sistema-de-nivelacion-tsn2","title":"Tenaza Red Tools Sistema de Nivelación  TSN2","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo Tsn2 Ideal Reduce el tiempo de instalación\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;\"\u003e163.31\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;\"\u003eTsn2\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;\"\u003eTSN2\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;\"\u003eRed Tools\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eÚnico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eN\/A\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330151167,"sku":"163.31","price":281.92,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.31_1.jpg?v=1780527793"},{"product_id":"cuchilla-red-tools-titanio-thunder-22-mm","title":"Cuchilla Red Tools Titanio Thunder 22 mm","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo Thunder Cuchilla de 22 mm con balero y recubrimiento de titanio, especial para toda la línea de cortadoras Thunder\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;\"\u003e163.5\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;\"\u003eThunder\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;\"\u003eCB22\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;\"\u003eRed Tools\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;\"\u003eCobre\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.2 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e22 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330216703,"sku":"163.5","price":255.16,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.5_1.jpg?v=1780496815"},{"product_id":"base-nivelador-red-tools-n12100-pro-2-mm-100-pzas","title":"Base Nivelador Red Tools N12100 Pro 2 mm (100 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo N12100 Ideal Evita el movimiento de las piezas durante el fraguado\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;\"\u003e163.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eN12100\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;\"\u003eN12100\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.3 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e12 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330347775,"sku":"163.50","price":213.12,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.50_1.jpg?v=1780594770"},{"product_id":"base-nivelador-red-tools-n13100-pro-3-mm-100-pzas","title":"Base Nivelador Red Tools N13100 Pro 3 mm (100 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo N13100 Ideal Evita el movimiento de las piezas durante el fraguado\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;\"\u003e163.51\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eN13100\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;\"\u003eN13100\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;\"\u003eRed Tools\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.3 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330380543,"sku":"163.51","price":213.12,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.51_1.jpg?v=1780592873"},{"product_id":"cuna-nivelador-red-tools-n2250-pro-50-pzas","title":"Cuña Nivelador Red Tools N2250 Pro (50 Pzas)","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo N2250 Ideal Evita el movimiento de las piezas durante el fraguado\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;\"\u003e163.52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\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;\"\u003eN2250\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;\"\u003eN2250\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;\"\u003eRed Tools\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;\"\u003eROJO\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.3 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eÚnico\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330446079,"sku":"163.52","price":118.51,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.52_1.jpg?v=1780592881"},{"product_id":"cuchilla-tungsteno-red-tools-flash-22-mm","title":"Cuchilla Tungsteno Red Tools Flash 22 mm","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eHerramienta RedTools modelo Flash Cuchilla de 22 mm de carburo de tungsteno de alta resistencia, especial para nuestro modelo Flash (F600)\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;\"\u003e163.6\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;\"\u003eFlash\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;\"\u003eCF22\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;\"\u003eRed Tools\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;\"\u003eCobre\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;\"\u003ePisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.2 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e22 mm\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":"Red Tools","offers":[{"title":"Default Title","offer_id":47534330478847,"sku":"163.6","price":127.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/163.6_1.jpg?v=1780496847"},{"product_id":"loseta-firenze-boreas-fd-mate-59-3x119-bianco-1-41-1a","title":"Loseta Firenze Boreas FD Mate 59.3X119 Bianco 1.41 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Porcelánico modelo Boreas, color Bianco, marca Firenze, Medidas, 59.3 X 119 cm, tipo Mármol con una cobertura por caja de 1.41 m², grado de calidad A1 y de fácil instalación. Ofrece diseños atemporales, estéticamente atractivos y de extrema funcionalidad, seduce por su gráfica y visión actual de los mejores mármoles\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 cajas 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-21-4783\" class=\"llano-calculadora\" data-rendimiento=\"1.41\" data-unidad=\"cajas\" data-presentacion=\"36.48 kg\" data-sku=\"21.4783\"\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 cajas\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 initCalculadorallanocalc214783() {\n    var calc = document.getElementById('llano-calc-21-4783');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-21-4783');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-21-4783');\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', initCalculadorallanocalc214783);\n  } else {\n    initCalculadorallanocalc214783();\n  }\n  \n  setTimeout(initCalculadorallanocalc214783, 500);\n  setTimeout(initCalculadorallanocalc214783, 1000);\n  setTimeout(initCalculadorallanocalc214783, 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;\"\u003e21.4783\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;\"\u003eBoreas\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;\"\u003eFBOREA11T91\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;\"\u003eFirenze\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;\"\u003eBianco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMármol\u003c\/td\u003e\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;\"\u003e36.48 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.41 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Firenze","offers":[{"title":"Default Title","offer_id":47534424785151,"sku":"21.4783","price":421.59,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/21.4783_1.jpg?v=1779986398"},{"product_id":"loseta-firenze-old-fashioned-da-19-3x119-bourbon-1-38-1a","title":"Loseta Firenze Old Fashioned DA 19.3X119 Bourbon 1.38 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Porcelánico modelo Old Fashioned, color Bourbon, marca Firenze, Medidas, 19.3 X 119 cm, tipo Madera con una cobertura por caja de 1.38 m², grado de calidad A1 y de fácil instalación. El carácter actual y rústico de la madera, convierte la colección en una propuesta de estilo siempre vigente y con múltiples aplicaciones\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 cajas 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-21-4859\" class=\"llano-calculadora\" data-rendimiento=\"1.38\" data-unidad=\"cajas\" data-presentacion=\"35.64 kg\" data-sku=\"21.4859\"\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 cajas\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 initCalculadorallanocalc214859() {\n    var calc = document.getElementById('llano-calc-21-4859');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-21-4859');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-21-4859');\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', initCalculadorallanocalc214859);\n  } else {\n    initCalculadorallanocalc214859();\n  }\n  \n  setTimeout(initCalculadorallanocalc214859, 500);\n  setTimeout(initCalculadorallanocalc214859, 1000);\n  setTimeout(initCalculadorallanocalc214859, 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;\"\u003e21.4859\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;\"\u003eOld Fashioned\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;\"\u003eFOLDFAN1TBS\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;\"\u003eFirenze\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;\"\u003eBourbon\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\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;\"\u003e35.64 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.38 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eExtremo\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Firenze","offers":[{"title":"Default Title","offer_id":47534424850687,"sku":"21.4859","price":755.12,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/21.4859_1.jpg?v=1780449970"},{"product_id":"loseta-firenze-piasentina-grisos-59-3x119-light-grey-1-41-1a","title":"Loseta Firenze Piasentina Grisos 59.3X119 Light Grey 1.41 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Porcelánico modelo Piasentina Grisos, color Light Grey, marca Firenze, Medidas, 59.3 X 119 cm, tipo Piedra con una cobertura por caja de 1.41 m², grado de calidad A1 y de fácil instalación. Dirigida a los amantes del espacio, que evocan estancias naturales donde evadirse y volver a la serenidad\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 cajas 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-21-4890\" class=\"llano-calculadora\" data-rendimiento=\"1.41\" data-unidad=\"cajas\" data-presentacion=\"34.193 kg\" data-sku=\"21.4890\"\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 cajas\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 initCalculadorallanocalc214890() {\n    var calc = document.getElementById('llano-calc-21-4890');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-21-4890');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-21-4890');\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', initCalculadorallanocalc214890);\n  } else {\n    initCalculadorallanocalc214890();\n  }\n  \n  setTimeout(initCalculadorallanocalc214890, 500);\n  setTimeout(initCalculadorallanocalc214890, 1000);\n  setTimeout(initCalculadorallanocalc214890, 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;\"\u003e21.4890\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;\"\u003ePiasentina Grisos\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;\"\u003eFPIASEN1LBL\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;\"\u003eFirenze\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;\"\u003eLight Grey\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiedra\u003c\/td\u003e\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;\"\u003e34.193 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.41 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Firenze","offers":[{"title":"Default Title","offer_id":47534424883455,"sku":"21.4890","price":421.59,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/21.4890_1.jpg?v=1779143048"},{"product_id":"loseta-doratta-slim-7mm-60x60-1-44-1a","title":"Loseta Doratta Slim 7MM 60X60 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003e¿Buscas una opción sofisticada para tus pisos y muros? ¿Loseta Doratta Slim 7MM¿ de Tendenzza es la respuesta, un porcelánico esmaltado rectificado y liso de color negro, formato de 60x60cm, resistente a tráfico semi-intenso, para muro y piso, de uso residencial e interior. Resistente a la abrasión PEI III, resistente a las manchas Clase 3 y rayos UV. 1.44 M2 por caja, 4 piezas. \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 cajas 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-235-1\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.1\"\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 cajas\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 initCalculadorallanocalc2351() {\n    var calc = document.getElementById('llano-calc-235-1');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-1');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-1');\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', initCalculadorallanocalc2351);\n  } else {\n    initCalculadorallanocalc2351();\n  }\n  \n  setTimeout(initCalculadorallanocalc2351, 500);\n  setTimeout(initCalculadorallanocalc2351, 1000);\n  setTimeout(initCalculadorallanocalc2351, 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;\"\u003e235.1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\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;\"\u003ePP025S\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;\"\u003ePP025S\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;\"\u003eTendenzza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBeige\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eHD\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60X60\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIII\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVinilico SPC\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44 m\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534437335295,"sku":"235.1","price":401.36,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.1_1.jpg?v=1780280515"},{"product_id":"piso-perla-onix","title":"Piso Perla Onix","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Tendenzza ¿Perla Onix¿ porcelánico esmaltado brillante de 60x120cm, tiene acabado liso, resistente a tráfico semi-intenso, para piso y muro, de uso residencial, comercial e interior. Resistente a la abrasión PEI IV, resistente a las manchas Clase 4 y rayos UV. 1.44 M2 por caja, 2 piezas. \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 cajas 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-235-10\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.10\"\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 cajas\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 initCalculadorallanocalc23510() {\n    var calc = document.getElementById('llano-calc-235-10');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-10');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-10');\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', initCalculadorallanocalc23510);\n  } else {\n    initCalculadorallanocalc23510();\n  }\n  \n  setTimeout(initCalculadorallanocalc23510, 500);\n  setTimeout(initCalculadorallanocalc23510, 1000);\n  setTimeout(initCalculadorallanocalc23510, 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;\"\u003e235.10\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;\"\u003ePerla Onix - Pruebas\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;\"\u003ePP177\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;\"\u003eTendenzza\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;\"\u003eOnix - Pruebas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBrillante\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;\"\u003eMuro y 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;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico esmaltado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eE\u0026gt;-0.5%\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eA prueba de heladas\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534442086655,"sku":"235.10","price":504.61,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.10_1.jpg?v=1780519873"},{"product_id":"loseta-milan-nero-60x120-extra-brillante-1-44-1a","title":"Loseta Milán Nero 60x120 Extra Brillante 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003e¿Buscas una opción sofisticada para tus pisos y muros? ¿Loseta Pietra Suprema Slim 7MM¿ de Tendenzza es la respuesta, un porcelánico esmaltado rectificado y liso de color negro, formato de 60x120cm, resistente a tráfico intenso, para muro y piso, de uso residencial, comercial e interior. Resistente a la abrasión PEI IV, resistente a las manchas Clase 3 y rayos UV. 1.44 M2 por caja, 2 piezas. \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 cajas 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-235-13\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.13\"\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 cajas\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 initCalculadorallanocalc23513() {\n    var calc = document.getElementById('llano-calc-235-13');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-13');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-13');\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', initCalculadorallanocalc23513);\n  } else {\n    initCalculadorallanocalc23513();\n  }\n  \n  setTimeout(initCalculadorallanocalc23513, 500);\n  setTimeout(initCalculadorallanocalc23513, 1000);\n  setTimeout(initCalculadorallanocalc23513, 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;\"\u003e235.13\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;\"\u003ePP162\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;\"\u003ePP162\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;\"\u003eTendenzza\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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eComercial\/ Residencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eHD\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMármol\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran Formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo para 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534442119423,"sku":"235.13","price":696.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.13_1.jpg?v=1780538575"},{"product_id":"loseta-marotta-9mm-60x120-brillante-1-44-1a","title":"Loseta Marotta 9mm 60x120 Brillante 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eAgrega un toque de elegancia con Tendenzza y su loseta ¿Loseta Marotta 9MM¿ porcelánico esmaltado brillante con diseño gris, formato de 60x120, acabado tipo mármol, resistente a tráfico semi-intenso, para piso, de uso residencial, comercial e interior. Resistente a la abrasión PEI IV, resistente a las manchas Clase 3 y rayos UV. 1.44 M2 por caja, 2 piezas. \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 cajas 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-235-146\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.146\"\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 cajas\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 initCalculadorallanocalc235146() {\n    var calc = document.getElementById('llano-calc-235-146');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-146');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-146');\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', initCalculadorallanocalc235146);\n  } else {\n    initCalculadorallanocalc235146();\n  }\n  \n  setTimeout(initCalculadorallanocalc235146, 500);\n  setTimeout(initCalculadorallanocalc235146, 1000);\n  setTimeout(initCalculadorallanocalc235146, 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;\"\u003e235.146\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;\"\u003ePP621\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;\"\u003ePP621\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;\"\u003eTendenzza\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 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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eComercial, residencial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMarmolado\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelanato\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo para 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534442184959,"sku":"235.146","price":504.61,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.146_1.jpg?v=1780595904"},{"product_id":"loseta-vicenza-9mm-60x120-brillante-1-44-1a","title":"Loseta Vicenza 9mm 60x120 Brillante 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eRemodela tus espacios con Tendenzza y su loseta ¿Vicenza¿ 9mm porcelánico esmaltado brillante rectificado color blanco, acabado liso brillante, formato de 60x120,con resistencia a un tráfico semi-intenso para piso y muro, de uso residencial, comercial e interior. 1.44 M2 por caja, 2 piezas. \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 cajas 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-235-149\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.149\"\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 cajas\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 initCalculadorallanocalc235149() {\n    var calc = document.getElementById('llano-calc-235-149');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-149');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-149');\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', initCalculadorallanocalc235149);\n  } else {\n    initCalculadorallanocalc235149();\n  }\n  \n  setTimeout(initCalculadorallanocalc235149, 500);\n  setTimeout(initCalculadorallanocalc235149, 1000);\n  setTimeout(initCalculadorallanocalc235149, 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;\"\u003e235.149\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;\"\u003ePP626\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;\"\u003ePP626\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;\"\u003eTendenzza\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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBrillante\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMármol\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGrandes formatos\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\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;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eE\u0026lt;0.2%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo para 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBlanco\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534443167999,"sku":"235.149","price":581.03,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.149_1.jpg?v=1780519890"},{"product_id":"loseta-monaco-9mm-60x120-brillante-1-44-1a","title":"LOSETA MONACO 9MM 60X120 BRILLANTE 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLOSETA MONACO 9MM 60X120 BRILLANTE 1.44 1A\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 cajas 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-235-152\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.152\"\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 cajas\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 initCalculadorallanocalc235152() {\n    var calc = document.getElementById('llano-calc-235-152');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-152');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-152');\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', initCalculadorallanocalc235152);\n  } else {\n    initCalculadorallanocalc235152();\n  }\n  \n  setTimeout(initCalculadorallanocalc235152, 500);\n  setTimeout(initCalculadorallanocalc235152, 1000);\n  setTimeout(initCalculadorallanocalc235152, 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;\"\u003e235.152\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;\"\u003eMONACO\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;\"\u003ePP625\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;\"\u003eTendenzza\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, Mármol\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior y 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;\"\u003eComercial\/Residencial \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAbsorción de agua, Dureza superficial (MOH¿S) , Resistencia a la abrasión (PEI) \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eComercial\/Residencial \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo para 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTextura\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534443200767,"sku":"235.152","price":504.61,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.152_1.jpg?v=1780598666"},{"product_id":"loseta-forli-9mm-60x120-brillante-1-44-1a","title":"Loseta Forli 9MM 60X120 Brillante 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eBrinda elegancia a tus espacios con Tendenzza y su loseta ¿Forli 9MM¿ porcelánico esmaltado rectificado con diseño marmoleado color gris, acabado liso brillante, formato de 60x120, para piso y muro, de uso residencial, comercial e interior. 1.44 M2 por caja, 2 piezas. \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 cajas 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-235-154\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.154\"\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 cajas\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 initCalculadorallanocalc235154() {\n    var calc = document.getElementById('llano-calc-235-154');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-154');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-154');\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', initCalculadorallanocalc235154);\n  } else {\n    initCalculadorallanocalc235154();\n  }\n  \n  setTimeout(initCalculadorallanocalc235154, 500);\n  setTimeout(initCalculadorallanocalc235154, 1000);\n  setTimeout(initCalculadorallanocalc235154, 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;\"\u003e235.154\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;\"\u003ePP607\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;\"\u003ePP607\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;\"\u003eTendenzza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBrillante\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial, comercial \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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMarmolado\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato 9MM\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo para 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTextura\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534443233535,"sku":"235.154","price":563.13,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.154_1.jpg?v=1780519910"},{"product_id":"loseta-neive-onix-60x60-brill-1-44-1a","title":"Loseta Neive Onix 60x60 Brill. 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eAporta calidez y confort en tus hogar con  Tendenzza y su loseta ¿Neive Onix¿ porcelánico esmaltado brillante rectificado color perla, acabado liso brillante, formato de 60x60,con resistencia a un tráfico semi-intenso para piso y muro, de uso residencial, comercial e interior. 1.44 M2 por caja, 4 piezas. \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 cajas 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-235-3\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.3\"\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 cajas\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 initCalculadorallanocalc2353() {\n    var calc = document.getElementById('llano-calc-235-3');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-3');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-3');\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', initCalculadorallanocalc2353);\n  } else {\n    initCalculadorallanocalc2353();\n  }\n  \n  setTimeout(initCalculadorallanocalc2353, 500);\n  setTimeout(initCalculadorallanocalc2353, 1000);\n  setTimeout(initCalculadorallanocalc2353, 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;\"\u003e235.3\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;\"\u003ePP175\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;\"\u003ePP175\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;\"\u003eTendenzza\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;\"\u003eOnix\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eComercial, residencial\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60X60\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534443299071,"sku":"235.3","price":491.42,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.3_1.jpg?v=1779737916"},{"product_id":"piso-porcelanico-esmaltado-colossale-brillante-60x120cm","title":"Piso porcelánico esmaltado Colossale Brillante 60x120cm","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePorcelánico esmaltado\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 cajas 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-235-5\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.5\"\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 cajas\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 initCalculadorallanocalc2355() {\n    var calc = document.getElementById('llano-calc-235-5');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-5');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-5');\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', initCalculadorallanocalc2355);\n  } else {\n    initCalculadorallanocalc2355();\n  }\n  \n  setTimeout(initCalculadorallanocalc2355, 500);\n  setTimeout(initCalculadorallanocalc2355, 1000);\n  setTimeout(initCalculadorallanocalc2355, 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;\"\u003e235.5\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;\"\u003eColossale Brillante\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;\"\u003ePP143\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;\"\u003eTendenzza\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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBrillante\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;\"\u003eMuro y 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;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eComercial, interior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eImpresión digital Inkjet\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran Formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eE\u0026gt;-0.5%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo para 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534443331839,"sku":"235.5","price":485.09,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.5_2.jpg?v=1780598673"},{"product_id":"loseta-tendenzza-greco-centoventi-9mm-60x120-brillante-1-44-1a","title":"Loseta Tendenzza Greco Centoventi 9mm 60x120 Brillante 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eRenueva los espacios de tu hogar en pisos y muros con Loseta Tendenzza Greco Centoventi 9mm 60x120 Brillante 1.44 1A para interiores\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 cajas 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-235-56\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"235.56\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e cajas\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 initCalculadorallanocalc23556() {\n    var calc = document.getElementById('llano-calc-235-56');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-235-56');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-235-56');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc23556);\n  } else {\n    initCalculadorallanocalc23556();\n  }\n  \n  setTimeout(initCalculadorallanocalc23556, 500);\n  setTimeout(initCalculadorallanocalc23556, 1000);\n  setTimeout(initCalculadorallanocalc23556, 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;\"\u003e235.56\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\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;\"\u003ePP166\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;\"\u003ePP166\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;\"\u003eTendenzza\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;\"\u003eVarios\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBrillante\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eComercial \/Residencial\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMármol\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e60x120\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePorcelánico Esmaltado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTextura\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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":"Tendenzza","offers":[{"title":"Default Title","offer_id":47534443364607,"sku":"235.56","price":559.97,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.56_1.jpg?v=1780597280"},{"product_id":"piso-helvex-eternal-roble-helvex-20x120","title":"Piso Helvex Eternal Roble Helvex 20x120","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Helvex Eternal Roble 20x120 cm | Cerámica tipo madera con elegancia natural y durabilidad superior  El Piso Helvex Eternal Roble recrea la calidez y textura de la madera natural con la resistencia de la cerámica. Su formato tipo duela de 20x120 cm ofrece una apariencia alargada y elegante que amplía visualmente los espacios, ideal para salas, recámaras, pasillos o cualquier área interior con estilo contemporáneo o rústico.  Fabricado con materiales de alta calidad, este piso ofrece resistencia al desgaste, fácil mantenimiento y una apariencia sofisticada, respaldado por la garantía de la marca Helvex.  Encuéntralo en Llano de la Torre y transforma tus espacios con diseño, calidez y durabilidad.\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;\"\u003e303.92\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;\"\u003ePiso Eternal Roble Helvex 20x120\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;\"\u003e172410.369274\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;\"\u003eHelvex\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eEstilo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20x120\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGL Esmaltado\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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":"Helvex","offers":[{"title":"Default Title","offer_id":47534560870655,"sku":"303.92","price":1239.92,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/303.92_1.jpg?v=1780522698"},{"product_id":"mosaico-veneciano-kolorines-2x2-azul-cobalto-obscuro-112115","title":"Mosaico Veneciano Kolorines 2X2 Azul Cobalto Obscuro 112115","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Veneciano modelo Akua, color Cobalto oscuro, marca Kolorines, Medidas, 2 X 2 cm, tipo Mosaico, grado de calidad A1 y de fácil instalación. Esta colección es muy popular para piscinas ya que su precio es muy competitivo y cuenta con un amplio rango de colores. El formato mas usado es el de 20 × 20 mm debido a que por su tamaño se adapta muy bien a los escalones, bancas, spas, esquinas curvadas y columnas\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 cajas 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-33-6113\" class=\"llano-calculadora\" data-rendimiento=\"1.03\" data-unidad=\"cajas\" data-presentacion=\"15 kg\" data-sku=\"33.6113\"\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 cajas\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 initCalculadorallanocalc336113() {\n    var calc = document.getElementById('llano-calc-33-6113');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-33-6113');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-33-6113');\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', initCalculadorallanocalc336113);\n  } else {\n    initCalculadorallanocalc336113();\n  }\n  \n  setTimeout(initCalculadorallanocalc336113, 500);\n  setTimeout(initCalculadorallanocalc336113, 1000);\n  setTimeout(initCalculadorallanocalc336113, 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;\"\u003e33.6113\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;\"\u003eAkua\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;\"\u003e112115\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;\"\u003eKolorines\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;\"\u003eCobalto oscuro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVitreo\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eForma\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 X 2 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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e \u0026gt; 250 lbs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMosaico\u003c\/td\u003e\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;\"\u003e15 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEstándar\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVeneciano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026lt; 0.01%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo Veneciano\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.03 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eUso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso\/Muro\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":"Kolorines","offers":[{"title":"Default Title","offer_id":47534580498687,"sku":"33.6113","price":517.81,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/33.6113_1.jpg?v=1780280861"},{"product_id":"mosaico-veneciano-kolorines-2x2-azul-cancun","title":"Mosaico Veneciano Kolorines 2X2 Azul Cancún","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Veneciano modelo Akua, color Azul cancún, marca Kolorines, Medidas, 2 X 2 cm, tipo Mosaico con una cobertura por caja de 4 m², grado de calidad A1 y de fácil instalación. Esta colección es muy popular para piscinas ya que su precio es muy competitivo y cuenta con un amplio rango de colores. El formato mas usado es el de 20 × 20 mm debido a que por su tamaño se adapta muy bien a los escalones, bancas, spas, esquinas curvadas y columnas\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 cajas 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-33-6120\" class=\"llano-calculadora\" data-rendimiento=\"1.03\" data-unidad=\"cajas\" data-presentacion=\"15 kg\" data-sku=\"33.6120\"\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 cajas\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 initCalculadorallanocalc336120() {\n    var calc = document.getElementById('llano-calc-33-6120');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-33-6120');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-33-6120');\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', initCalculadorallanocalc336120);\n  } else {\n    initCalculadorallanocalc336120();\n  }\n  \n  setTimeout(initCalculadorallanocalc336120, 500);\n  setTimeout(initCalculadorallanocalc336120, 1000);\n  setTimeout(initCalculadorallanocalc336120, 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;\"\u003e33.6120\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;\"\u003eAkua\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;\"\u003e112113\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;\"\u003eKolorines\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAzul cancú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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVitreo\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eForma\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 X 2 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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e \u0026gt; 250 lbs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMosaico\u003c\/td\u003e\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;\"\u003e15 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEstándar\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVeneciano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026lt; 0.01%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo Veneciano\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.03 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eUso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso\/Muro\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":"Kolorines","offers":[{"title":"Default Title","offer_id":47534580596991,"sku":"33.6120","price":517.81,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/33.6120_1.jpg?v=1780591891"},{"product_id":"mosaico-veneciano-kolorines-2x2-azul-acapulco-1","title":"Mosaico Veneciano Kolorines 2X2 Azul Acapulco 1","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Veneciano modelo Akua, color Azul cancún, marca Kolorines, Medidas, 2 X 2 cm, tipo Mosaico con una cobertura por caja de 4 m², grado de calidad A1 y de fácil instalación. Esta colección es muy popular para piscinas ya que su precio es muy competitivo y cuenta con un amplio rango de colores. El formato mas usado es el de 20 × 20 mm debido a que por su tamaño se adapta muy bien a los escalones, bancas, spas, esquinas curvadas y columnas\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 cajas 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-33-6125\" class=\"llano-calculadora\" data-rendimiento=\"1.03\" data-unidad=\"cajas\" data-presentacion=\"15 kg\" data-sku=\"33.6125\"\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 cajas\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 initCalculadorallanocalc336125() {\n    var calc = document.getElementById('llano-calc-33-6125');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-33-6125');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-33-6125');\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', initCalculadorallanocalc336125);\n  } else {\n    initCalculadorallanocalc336125();\n  }\n  \n  setTimeout(initCalculadorallanocalc336125, 500);\n  setTimeout(initCalculadorallanocalc336125, 1000);\n  setTimeout(initCalculadorallanocalc336125, 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;\"\u003e33.6125\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;\"\u003eAkua\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;\"\u003e112110\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;\"\u003eKolorines\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAzul acapulco\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVitreo\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eForma\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 X 2 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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e \u0026gt; 250 lbs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMosaico\u003c\/td\u003e\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;\"\u003e15 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEstándar\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVeneciano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026lt; 0.01%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo Veneciano\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.03 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eUso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso\/Muro\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":"Kolorines","offers":[{"title":"Default Title","offer_id":47534580695295,"sku":"33.6125","price":517.81,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/33.6125_1.jpg?v=1780537314"},{"product_id":"mosaico-veneciano-kolorines-2x2-mezcla-caribe","title":"Mosaico Veneciano Kolorines 2X2 Mezcla Caribe","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Veneciano modelo Mezclas, color Caribe, marca Kolorines, Medidas, 2 X 2 cm, tipo Mosaico, grado de calidad A1 y de fácil instalación. Transforma tu piscina con olas de color, ofreciendo un enfoque sensacional al diseño y una variedad de opciones con estilo\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 cajas 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-33-6366\" class=\"llano-calculadora\" data-rendimiento=\"1.03\" data-unidad=\"cajas\" data-presentacion=\"15 kg\" data-sku=\"33.6366\"\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 cajas\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 initCalculadorallanocalc336366() {\n    var calc = document.getElementById('llano-calc-33-6366');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-33-6366');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-33-6366');\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', initCalculadorallanocalc336366);\n  } else {\n    initCalculadorallanocalc336366();\n  }\n  \n  setTimeout(initCalculadorallanocalc336366, 500);\n  setTimeout(initCalculadorallanocalc336366, 1000);\n  setTimeout(initCalculadorallanocalc336366, 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;\"\u003e33.6366\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;\"\u003eMezclas\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;\"\u003e112207\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;\"\u003eKolorines\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;\"\u003eCaribe\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVitreo\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eForma\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 X 2 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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e \u0026gt; 250 lbs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMosaico\u003c\/td\u003e\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;\"\u003e15 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEstándar\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVeneciano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026lt; 0.01%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo Veneciano\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.03 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eUso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaño\/Comercial\/Piscina\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":"Kolorines","offers":[{"title":"Default Title","offer_id":47534580990207,"sku":"33.6366","price":722.46,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/33.6366_1.jpg?v=1780531107"},{"product_id":"mosaico-veneciano-kolorines-murano-2x2-negro","title":"Mosaico Veneciano Kolorines Murano 2X2 Negro","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Veneciano modelo Murano, color Negro, marca Kolorines, Medidas, 2 X 2 cm, tipo Mosaico con una cobertura por caja de 4 m², grado de calidad A1 y de fácil instalación. La línea predomina por su pureza extrema de color y sus ligeras vetas que generan textura visual para destacar áreas sin vida\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 cajas 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-33-9813\" class=\"llano-calculadora\" data-rendimiento=\"4.12\" data-unidad=\"cajas\" data-presentacion=\"15 kg\" data-sku=\"33.9813\"\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 cajas\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 initCalculadorallanocalc339813() {\n    var calc = document.getElementById('llano-calc-33-9813');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-33-9813');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-33-9813');\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', initCalculadorallanocalc339813);\n  } else {\n    initCalculadorallanocalc339813();\n  }\n  \n  setTimeout(initCalculadorallanocalc339813, 500);\n  setTimeout(initCalculadorallanocalc339813, 1000);\n  setTimeout(initCalculadorallanocalc339813, 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;\"\u003e33.9813\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;\"\u003eMurano\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;\"\u003e112103\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;\"\u003eKolorines\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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVitreo\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eForma\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2 X 2 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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e \u0026gt; 250 lbs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMosaico\u003c\/td\u003e\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;\"\u003e15 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eEstándar\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVeneciano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026lt; 0.01%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo Veneciano\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e4.12 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eUso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eBaño\/Comercial\/Piscina\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":"Kolorines","offers":[{"title":"Default Title","offer_id":47534581088511,"sku":"33.9813","price":704.36,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/33.9813_1.jpg?v=1780280891"},{"product_id":"vitroblock-foncer-diamante-19x19x08","title":"Vitroblock Foncer Diamante 19X19X08","description":"\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 cajas 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-387-32\" class=\"llano-calculadora\" data-rendimiento=\"0.22\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"387.32\"\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 cajas\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 initCalculadorallanocalc38732() {\n    var calc = document.getElementById('llano-calc-387-32');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-387-32');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-387-32');\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', initCalculadorallanocalc38732);\n  } else {\n    initCalculadorallanocalc38732();\n  }\n  \n  setTimeout(initCalculadorallanocalc38732, 500);\n  setTimeout(initCalculadorallanocalc38732, 1000);\n  setTimeout(initCalculadorallanocalc38732, 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;\"\u003e387.32\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;\"\u003eDiamante - Pruebas\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;\"\u003eVBNEFGDDTR191908\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;\"\u003eFoncer\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;\"\u003eTraslúcido - Pruebas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTraslúcido - Pruebas\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;\"\u003ePiso\/Muro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eForma\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCuadrado\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eDiamanete\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCuadrado\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eVidrio\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.22\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eUso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\/Exterior - Pruebas\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":"Foncer","offers":[{"title":"Default Title","offer_id":47534595375359,"sku":"387.32","price":79.64,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/387.32_1.jpg?v=1780516760"},{"product_id":"vitroblock-foncer-lattice","title":"Vitroblock Foncer Lattice","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eVitroblock Foncer Diseño Lattice, 8cm de espesor, acabado traslúcido, uso interior y exterio. Ideal para baños, terrazas, roof garden.\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;\"\u003e387.33\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;\"\u003eLattice\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;\"\u003eVBNEFGLDTR191908\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;\"\u003eFoncer\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;\"\u003eLattice\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTraslúcido\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;\"\u003ePiso\/Muro\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eForma\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCuadrado\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLattice\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCuadrado\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eUso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePiso\/ Muro\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":"Foncer","offers":[{"title":"Default Title","offer_id":47534595408127,"sku":"387.33","price":79.64,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/387.33_1.jpg?v=1780593945"},{"product_id":"loseta-porcelanite-renaudwood-fdx-20x120-gris-1-44-1a","title":"Loseta Porcelanite Renaudwood FDX 20X120 Gris 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eEl carácter actual y rústico de la madera, convierte la colección en una propuesta de estilo siempre vigente y con múltiples aplicaciones\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 cajas 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-7-186\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"32.499 kg\" data-sku=\"7.186\"\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 cajas\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 initCalculadorallanocalc7186() {\n    var calc = document.getElementById('llano-calc-7-186');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-7-186');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-7-186');\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', initCalculadorallanocalc7186);\n  } else {\n    initCalculadorallanocalc7186();\n  }\n  \n  setTimeout(initCalculadorallanocalc7186, 500);\n  setTimeout(initCalculadorallanocalc7186, 1000);\n  setTimeout(initCalculadorallanocalc7186, 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;\"\u003e7.186\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;\"\u003eRenaudwood\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;\"\u003ePRENAUD1LFI\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;\"\u003ePorcelanite\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt;= 250 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;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\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;\"\u003e32.499 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 % a 6 %\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo Blanco\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMedio\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534646132991,"sku":"7.186","price":784.4,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/7.186_1.jpg?v=1780282248"},{"product_id":"loseta-porcelanite-creel-fd-smooth-60x60-blanco-1-44-1a","title":"Loseta Porcelanite Creel FD Smooth 60X60 Blanco 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Creel, color Blanco, marca Porcelanite, Medidas, 60 X 60 cm, tipo Mármol con una cobertura por caja de 1.44 m², grado de calidad A1 y de fácil instalación. Mármol clásico con vetas grisáceas, cuenta con carácter único y espectacular, ideal para revestir cualquier tipo de espacio gracias a su versatilidad y atemporalidad características propias del mármol.\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 cajas 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-7-228\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"26.359 kg\" data-sku=\"7.228\"\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 cajas\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 initCalculadorallanocalc7228() {\n    var calc = document.getElementById('llano-calc-7-228');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-7-228');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-7-228');\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', initCalculadorallanocalc7228);\n  } else {\n    initCalculadorallanocalc7228();\n  }\n  \n  setTimeout(initCalculadorallanocalc7228, 500);\n  setTimeout(initCalculadorallanocalc7228, 1000);\n  setTimeout(initCalculadorallanocalc7228, 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;\"\u003e7.228\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;\"\u003eCreel\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;\"\u003ePCRENUE16JV\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;\"\u003ePorcelanite\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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSmooth Touch\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\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSmooth Touch\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMármol\u003c\/td\u003e\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;\"\u003e26.359 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44 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;\"\u003eTextura\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eLiso\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534646198527,"sku":"7.228","price":448.2,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/7.228_1.jpg?v=1774969247"},{"product_id":"loseta-porcelanite-madera-bondi-fdx-20x120-cafe-1-44-1a","title":"Loseta Porcelanite Madera Bondi FDX 20X120 Café 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Bondi, color Café, marca Porcelanite, Medidas, 20 X 120 cm, tipo Madera con una cobertura por caja de 1.44 m², grado de calidad A1 y de fácil instalación. El producto Madera Bondi formato 20 x 120 cm cumple con todas las especificaciones técnicas establecidas por la norma internacional ISO-13006 para baldosas prensadas en seco con absorción de agua 3% \u0026lt; E = 6%\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 cajas 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-7-593\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"32.499 kg\" data-sku=\"7.593\"\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 cajas\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 initCalculadorallanocalc7593() {\n    var calc = document.getElementById('llano-calc-7-593');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-7-593');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-7-593');\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', initCalculadorallanocalc7593);\n  } else {\n    initCalculadorallanocalc7593();\n  }\n  \n  setTimeout(initCalculadorallanocalc7593, 500);\n  setTimeout(initCalculadorallanocalc7593, 1000);\n  setTimeout(initCalculadorallanocalc7593, 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;\"\u003e7.593\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;\"\u003eBondi\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;\"\u003ePMADBON1LFG\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;\"\u003ePorcelanite\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCafé\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e250 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;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\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;\"\u003e32.499 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIII\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3% \u0026lt;= 6%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534646264063,"sku":"7.593","price":726.6,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/7.593_1.jpg?v=1780282256"},{"product_id":"loseta-porcelanite-madera-bondi-fdx-20x120-natural-1-44-1a","title":"Loseta Porcelanite Madera Bondi FDX 20X120 Natural 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Bondi, color Natural, marca Porcelanite, Medidas, 20 X 120 cm, tipo Madera con una cobertura por caja de 1.44 m², grado de calidad A1 y de fácil instalación. El producto Madera Bondi formato 20 x 120 cm cumple con todas las especificaciones técnicas establecidas por la norma internacional ISO-13006 para baldosas prensadas en seco con absorción de agua 3% \u0026lt; E = 6%\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 cajas 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-7-595\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"32.499 kg\" data-sku=\"7.595\"\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 cajas\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 initCalculadorallanocalc7595() {\n    var calc = document.getElementById('llano-calc-7-595');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-7-595');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-7-595');\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', initCalculadorallanocalc7595);\n  } else {\n    initCalculadorallanocalc7595();\n  }\n  \n  setTimeout(initCalculadorallanocalc7595, 500);\n  setTimeout(initCalculadorallanocalc7595, 1000);\n  setTimeout(initCalculadorallanocalc7595, 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;\"\u003e7.595\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;\"\u003eBondi\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;\"\u003ePMADBON1LFU\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;\"\u003ePorcelanite\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;\"\u003eNatural\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eÁrea de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eInterior\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResidencial\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e250 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;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\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;\"\u003e32.499 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIII\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3% \u0026lt;= 6%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.44 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534646329599,"sku":"7.595","price":726.6,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/7.595_1.jpg?v=1780282264"},{"product_id":"loseta-mixstone-55x55-cafe-1-49-1a","title":"Loseta Mixstone 55x55 Café 1.49 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLogra ambientes acogedores con la Loseta Mixstone Café. Su textura tipo piedra y tono marrón aportan calidez y carácter a tus espacios. Con formato de 55x55 cm, acabado de primera calidad (1A) y cobertura de 1.49 m² por caja, es perfecta para terrazas,zotehuelas,patios,estaiconamientos.\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 cajas 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-901-16\" class=\"llano-calculadora\" data-rendimiento=\"1.49\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"901.16\"\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 cajas\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 initCalculadorallanocalc90116() {\n    var calc = document.getElementById('llano-calc-901-16');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-16');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-16');\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', initCalculadorallanocalc90116);\n  } else {\n    initCalculadorallanocalc90116();\n  }\n  \n  setTimeout(initCalculadorallanocalc90116, 500);\n  setTimeout(initCalculadorallanocalc90116, 1000);\n  setTimeout(initCalculadorallanocalc90116, 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;\"\u003e901.16\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;\"\u003eLMIXO001S0S\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;\"\u003eLMIXO001S0S\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;\"\u003eLamosa\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eEstilo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRústico\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;\"\u003eCafe\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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;\"\u003eTerrazas,zotehuelas,patios,estaiconamientos.\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFD\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRústico\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCuadrado\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 \u0026lt; E = 6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCrest blanco, Crest cerámico rápido\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.49\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534655471871,"sku":"901.16","price":318.0,"currency_code":"MXN","in_stock":true}]},{"product_id":"loseta-rocalla-55x55-rojo-1-49-1a","title":"Loseta Rocalla 55x55 Rojo 1.49 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eAgrega calidez y carácter a tus espacios con la Loseta Rocalla en tono rojo. Su diseño tipo piedra y formato de 55x55 cm ofrecen una apariencia rústica y acogedora. Con acabado de primera calidad (1A) y rendimiento de 1.49 m² por caja, es ideal para crear estilos como un tradicional o colonial.\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 cajas 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-901-18\" class=\"llano-calculadora\" data-rendimiento=\"1.49\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"901.18\"\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 cajas\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 initCalculadorallanocalc90118() {\n    var calc = document.getElementById('llano-calc-901-18');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-18');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-18');\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', initCalculadorallanocalc90118);\n  } else {\n    initCalculadorallanocalc90118();\n  }\n  \n  setTimeout(initCalculadorallanocalc90118, 500);\n  setTimeout(initCalculadorallanocalc90118, 1000);\n  setTimeout(initCalculadorallanocalc90118, 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;\"\u003e901.18\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;\"\u003eLROCA001S0G\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;\"\u003eLROCA001S0G\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;\"\u003eLamosa\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eEstilo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRústico\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;\"\u003eRojo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFD\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eRústico\u003c\/td\u003e\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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCuadrado\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eNivel PEI\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eIV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3 \u0026lt; E = 6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCrest blanco, Crest cerámico rápido\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 por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.49\u003c\/td\u003e\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;\"\u003eResistencia Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eSi\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534655734015,"sku":"901.18","price":267.51,"currency_code":"MXN","in_stock":true}]},{"product_id":"loseta-lamosa-chalet-wood-fd-18x55-cafe-1-69-1a","title":"Loseta Lamosa Chalet Wood FD 18X55 Café 1.69 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Chalet Wood FD, color Café, marca Lamosa, Medidas, 18 X 55 cm, tipo Madera con una cobertura por caja de 1.69 m², grado de calidad A1 y de fácil instalación. Loseta Chalet Wood FD 18X55 Café 1.69 1A-N\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 cajas 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-901-277\" class=\"llano-calculadora\" data-rendimiento=\"1.69\" data-unidad=\"cajas\" data-presentacion=\"31.499 kg\" data-sku=\"901.277\"\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 cajas\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 initCalculadorallanocalc901277() {\n    var calc = document.getElementById('llano-calc-901-277');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-277');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-277');\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', initCalculadorallanocalc901277);\n  } else {\n    initCalculadorallanocalc901277();\n  }\n  \n  setTimeout(initCalculadorallanocalc901277, 500);\n  setTimeout(initCalculadorallanocalc901277, 1000);\n  setTimeout(initCalculadorallanocalc901277, 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;\"\u003e901.277\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;\"\u003eChalet Wood FD\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;\"\u003eLCHANUE15HG\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;\"\u003eLamosa\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCafé\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 250 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;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull Definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\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;\"\u003e31.499 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3% \u0026lt;= 6%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.69 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534656258303,"sku":"901.277","price":320.74,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.277_1.jpg?v=1780356927"},{"product_id":"loseta-lamosa-chalet-wood-fd-18x55-grafito-1-69-1a","title":"Loseta Lamosa Chalet Wood FD 18X55 Grafito 1.69 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Chalet Wood FD, color Grafito, marca Lamosa, Medidas, 18 X 55 cm, tipo Madera con una cobertura por caja de 1.69 m², grado de calidad A1 y de fácil instalación. Loseta Chalet Wood FD 18X55 Grafito 1.69 1A-N\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 cajas 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-901-278\" class=\"llano-calculadora\" data-rendimiento=\"1.69\" data-unidad=\"cajas\" data-presentacion=\"31.499 kg\" data-sku=\"901.278\"\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 cajas\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 initCalculadorallanocalc901278() {\n    var calc = document.getElementById('llano-calc-901-278');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-278');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-278');\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', initCalculadorallanocalc901278);\n  } else {\n    initCalculadorallanocalc901278();\n  }\n  \n  setTimeout(initCalculadorallanocalc901278, 500);\n  setTimeout(initCalculadorallanocalc901278, 1000);\n  setTimeout(initCalculadorallanocalc901278, 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;\"\u003e901.278\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;\"\u003eChalet Wood FD\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;\"\u003eLCHANUE15HJ\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;\"\u003eLamosa\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;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 250 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;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull Definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\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;\"\u003e31.499 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3% \u0026lt;= 6%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.69 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534656323839,"sku":"901.278","price":320.74,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.278_1.jpg?v=1780593312"},{"product_id":"loseta-lamosa-chalet-wood-fd-18x55-gris-1-69-1a","title":"Loseta Lamosa Chalet Wood FD 18X55 Gris 1.69 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Chalet Wood FD, color Gris, marca Lamosa, Medidas, 18 X 55 cm, tipo Madera con una cobertura por caja de 1.69 m², grado de calidad A1 y de fácil instalación. Loseta Chalet Wood FD 18X55 Gris 1.69 1A-N\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 cajas 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-901-279\" class=\"llano-calculadora\" data-rendimiento=\"1.69\" data-unidad=\"cajas\" data-presentacion=\"31.499 kg\" data-sku=\"901.279\"\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 cajas\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 initCalculadorallanocalc901279() {\n    var calc = document.getElementById('llano-calc-901-279');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-279');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-279');\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', initCalculadorallanocalc901279);\n  } else {\n    initCalculadorallanocalc901279();\n  }\n  \n  setTimeout(initCalculadorallanocalc901279, 500);\n  setTimeout(initCalculadorallanocalc901279, 1000);\n  setTimeout(initCalculadorallanocalc901279, 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;\"\u003e901.279\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;\"\u003eChalet Wood FD\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;\"\u003eLCHANUE15HI\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;\"\u003eLamosa\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGris\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAcabado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMate\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\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 Presión\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e\u0026gt; 250 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;\"\u003eTecnología\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eFull Definition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eDiseño\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eMadera\u003c\/td\u003e\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;\"\u003e31.499 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;\"\u003eFormato\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eGran formato\u003c\/td\u003e\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 Pisos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado de Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Piso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCerámico\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e3% \u0026lt;= 6%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eAdhesivo Sugerido\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAdhesivo 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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.69 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\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;\"\u003eEsfumado\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eGrado De Tono\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eAlto\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 Temperaturas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eResistente\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":"Lamosa","offers":[{"title":"Default Title","offer_id":47534656422143,"sku":"901.279","price":320.74,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.279_1.jpg?v=1780589372"}],"url":"https:\/\/llanodelatorre.com.mx\/collections\/pisos-y-muros.oembed?page=5","provider":"Llano de la Torre","version":"1.0","type":"link"}