{"title":"Losetas","description":null,"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":392.58,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/1.187_1.jpg?v=1793821344"},{"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":380.9,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/1.343_1.jpg?v=1792723689"},{"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=1792723698"},{"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":505.17,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/21.4783_1.jpg?v=1792724239"},{"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":833.17,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/21.4859_1.jpg?v=1792724248"},{"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":505.17,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/21.4890_1.jpg?v=1792724257"},{"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=1792688772"},{"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=1793816096"},{"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":537.82,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.146_1.jpg?v=1793812037"},{"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":595.03,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.149_1.jpg?v=1793727418"},{"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":537.82,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.152_1.jpg?v=1793392278"},{"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=1793726372"},{"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":510.4,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.3_1.jpg?v=1793321466"},{"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=1793821498"},{"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=1792726347"},{"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=1792726356"},{"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":712.92,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/7.593_1.jpg?v=1792726364"},{"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=1792726371"},{"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":295.99,"currency_code":"MXN","in_stock":false}]},{"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=1793489755"},{"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=1793821752"},{"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=1793816638"},{"product_id":"loseta-lamosa-onice-fd-33x33-beige-1-76-1a","title":"Loseta Lamosa Onice FD 33X33 Beige 1.76 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Onice, color Beige, marca Lamosa, Medidas, 33 X 33 cm, tipo Marmoleado con una cobertura por caja de 1.76 m², grado de calidad A1 y de fácil instalación. Perfecto para cualquier espacio volviendo tu casa en un hogar mostrando un color natural en cualquier superficie\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-567\" class=\"llano-calculadora\" data-rendimiento=\"1.76\" data-unidad=\"cajas\" data-presentacion=\"24.342 kg\" data-sku=\"901.567\"\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 initCalculadorallanocalc901567() {\n    var calc = document.getElementById('llano-calc-901-567');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-567');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-567');\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', initCalculadorallanocalc901567);\n  } else {\n    initCalculadorallanocalc901567();\n  }\n  \n  setTimeout(initCalculadorallanocalc901567, 500);\n  setTimeout(initCalculadorallanocalc901567, 1000);\n  setTimeout(initCalculadorallanocalc901567, 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.567\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;\"\u003eOnice\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;\"\u003eLONINUE13CE\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;\"\u003eSemibrillante\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;\"\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;\"\u003eMarmoleado\u003c\/td\u003e\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;\"\u003e24.342 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;\"\u003eBajo\u003c\/td\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 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.76 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;\"\u003eBajo\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;\"\u003eBajo\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":47534656487679,"sku":"901.567","price":242.44,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.567_1.jpg?v=1793323481"},{"product_id":"loseta-lamosa-onice-fd-33x33-gris-1-76-1a","title":"Loseta Lamosa Onice FD 33X33 Gris 1.76 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Onice, color Gris, marca Lamosa, Medidas, 33 X 33 cm, tipo Marmoleado con una cobertura por caja de 1.76 m², grado de calidad A1 y de fácil instalación. Perfecto para cualquier espacio volviendo tu casa en un hogar mostrando un color natural en cualquier superficie\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-568\" class=\"llano-calculadora\" data-rendimiento=\"1.76\" data-unidad=\"cajas\" data-presentacion=\"24.342 kg\" data-sku=\"901.568\"\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 initCalculadorallanocalc901568() {\n    var calc = document.getElementById('llano-calc-901-568');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-568');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-568');\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', initCalculadorallanocalc901568);\n  } else {\n    initCalculadorallanocalc901568();\n  }\n  \n  setTimeout(initCalculadorallanocalc901568, 500);\n  setTimeout(initCalculadorallanocalc901568, 1000);\n  setTimeout(initCalculadorallanocalc901568, 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.568\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;\"\u003eOnice\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;\"\u003eLONINUE13CI\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;\"\u003eSemibrillante\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;\"\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;\"\u003eMarmoleado\u003c\/td\u003e\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;\"\u003e24.342 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;\"\u003eBajo\u003c\/td\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 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.76 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;\"\u003eBajo\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;\"\u003eBajo\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":47534656651519,"sku":"901.568","price":242.44,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.568_1.jpg?v=1791927315"},{"product_id":"loseta-fazwood-fd-44x44-cafe-1-92-1a","title":"Loseta Fazwood FD 44x44 Cafe 1.92 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eoseta Fazwood FD 44x44 Café | Piso cerámico tipo madera para ambientes cálidos y elegantes  Lleva la calidez de la madera a tus espacios con la Loseta Fazwood FD en tono café. Su diseño imitación madera combina el estilo natural con la resistencia de la cerámica. El formato de 44x44 cm facilita la instalación y aporta una apariencia uniforme. Ideal para salas, recámaras o pasillos con un estilo acogedor y moderno.  Cada caja cubre 1.92 m² y cuenta con acabado de primera calidad (1A), lo que garantiza durabilidad y fácil mantenimiento.\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-741\" class=\"llano-calculadora\" data-rendimiento=\"1.92\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"901.741\"\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 initCalculadorallanocalc901741() {\n    var calc = document.getElementById('llano-calc-901-741');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-741');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-741');\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', initCalculadorallanocalc901741);\n  } else {\n    initCalculadorallanocalc901741();\n  }\n  \n  setTimeout(initCalculadorallanocalc901741, 500);\n  setTimeout(initCalculadorallanocalc901741, 1000);\n  setTimeout(initCalculadorallanocalc901741, 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.741\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;\"\u003eLFAZWOD14HG\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;\"\u003eLFAZWOD14HG\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;\"\u003eSalas, recámaras o pasillos con un estilo acogedor y moderno.\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;\"\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;\"\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.92\u003c\/td\u003e\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":47534658650367,"sku":"901.741","price":373.74,"currency_code":"MXN","in_stock":true}]},{"product_id":"loseta-boho-44x44-black-1-92-1a","title":"Loseta Boho 44x44 Black 1.92 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Boho 44x44 Black | Piso cerámico decorativo negro Dale un toque único a tus espacios con la Loseta Boho Black. Su diseño brillante negro resalta en ambientes modernos, bohemios o vintage. El formato de 44x44 cm facilita la instalación y da una apariencia visual uniforme. Con acabado de primera calidad (1A) y rendimiento de 1.92 m² por caja, es perfecta para pisos en cocinas, baños o recibidores con estilo propio. \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-860\" class=\"llano-calculadora\" data-rendimiento=\"1.92\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"901.860\"\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 initCalculadorallanocalc901860() {\n    var calc = document.getElementById('llano-calc-901-860');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-860');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-860');\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', initCalculadorallanocalc901860);\n  } else {\n    initCalculadorallanocalc901860();\n  }\n  \n  setTimeout(initCalculadorallanocalc901860, 500);\n  setTimeout(initCalculadorallanocalc901860, 1000);\n  setTimeout(initCalculadorallanocalc901860, 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.860\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;\"\u003eLBOHOB114HW\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;\"\u003eLBOHOB114HW\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;\"\u003eMinimalista\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;\"\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;\"\u003eCocinas, baños o recibidores \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;\"\u003eMonocolor\u003c\/td\u003e\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;\"\u003eII\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.92\u003c\/td\u003e\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":47534658683135,"sku":"901.860","price":362.14,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.860_1.jpg?v=1793814707"},{"product_id":"loseta-porcelanite-bernini-fd-60x60-beige-1-44-1a-nueva-prueba","title":"Loseta Porcelanite Bernini FD 60X60 Beige 1.44 1A - NUEVA PRUEBA","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Bernini, color Beige, 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. 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-907-1053\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"32.299 kg\" data-sku=\"907.1053\"\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 initCalculadorallanocalc9071053() {\n    var calc = document.getElementById('llano-calc-907-1053');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-1053');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-1053');\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', initCalculadorallanocalc9071053);\n  } else {\n    initCalculadorallanocalc9071053();\n  }\n  \n  setTimeout(initCalculadorallanocalc9071053, 500);\n  setTimeout(initCalculadorallanocalc9071053, 1000);\n  setTimeout(initCalculadorallanocalc9071053, 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;\"\u003e907.1053\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;\"\u003eA-Bernini\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;\"\u003ePBERNIN1T07\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;\"\u003eA-Beige\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;\"\u003eA-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;\"\u003eA-Interior, 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;\"\u003eA-Full 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;\"\u003eA-Má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;\"\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;\"\u003eA-Gran 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;\"\u003eA-Medio\u003c\/td\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;\"\u003eA-Cerá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;\"\u003eA-\u0026gt; 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;\"\u003eA-Adhesivo 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;\"\u003eA-1.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;\"\u003eNatural\u003c\/td\u003e\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;\"\u003eA-Medio\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;\"\u003eA-Medio\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":47534660190463,"sku":"907.1053","price":286.81,"currency_code":"MXN","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.1053_1.jpg?v=1793311514"},{"product_id":"loseta-porcelanite-bernini-fd-60x60-gris-1-44-1a","title":"Loseta Porcelanite Bernini FD 60X60 Gris 1.44 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Bernini, color Gris, 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 de diseño vanguardista, con vetas finas en acabado mate, ideal para espacios contemporáneos. Bernini, luminosa versatilidad funcional en colores claros, con formatos para pisos y muros \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-907-1054\" class=\"llano-calculadora\" data-rendimiento=\"1.44\" data-unidad=\"cajas\" data-presentacion=\"32.299 kg\" data-sku=\"907.1054\"\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 initCalculadorallanocalc9071054() {\n    var calc = document.getElementById('llano-calc-907-1054');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-1054');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-1054');\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', initCalculadorallanocalc9071054);\n  } else {\n    initCalculadorallanocalc9071054();\n  }\n  \n  setTimeout(initCalculadorallanocalc9071054, 500);\n  setTimeout(initCalculadorallanocalc9071054, 1000);\n  setTimeout(initCalculadorallanocalc9071054, 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;\"\u003e907.1054\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;\"\u003eBernini\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;\"\u003ePBERNIN1T0W\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\u003c\/td\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;= 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;\"\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;\"\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;\"\u003e\u0026gt; 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 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;\"\u003eNatural\u003c\/td\u003e\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":47534660223231,"sku":"907.1054","price":286.81,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.1054_1.jpg?v=1793753795"},{"product_id":"loseta-pisarra-fd-44x44-mix-1-92-1a-n","title":"Loseta Pisarra Fd 44x44 Mix 1.92 1A-N","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Pisarra FD 44x44 Mix | Piso cerámico tipo piedra con diseño rústico y versátil  Agrega personalidad y textura a tus espacios con la Loseta Pisarra FD Mix. Su diseño tipo piedra en tonos cálidos crea un ambiente acogedor, natural y con estilo rústico. El formato de 44x44 cm facilita una instalación práctica y estética uniforme.  Con acabado 1A-N y rendimiento de 1.92 m² por caja, es perfecta para salas, comedores, pasillos o áreas donde busques un piso resistente, fácil de mantener y visualmente atractivo.\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-907-1236\" class=\"llano-calculadora\" data-rendimiento=\"1.92\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"907.1236\"\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 initCalculadorallanocalc9071236() {\n    var calc = document.getElementById('llano-calc-907-1236');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-1236');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-1236');\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', initCalculadorallanocalc9071236);\n  } else {\n    initCalculadorallanocalc9071236();\n  }\n  \n  setTimeout(initCalculadorallanocalc9071236, 500);\n  setTimeout(initCalculadorallanocalc9071236, 1000);\n  setTimeout(initCalculadorallanocalc9071236, 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;\"\u003e907.1236\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;\"\u003ePPISNUE14HX\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;\"\u003ePPISNUE14HX\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;\"\u003eMix\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;\"\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;\"\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;\"\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;\"\u003eAbsorción de Humedad\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0,5% menor Eb menor =3% (Grupo BIb)\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\u003c\/td\u003e\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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534660255999,"sku":"907.1236","price":393.75,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.1236_1.png?v=1793747584"},{"product_id":"loseta-porcelanite-marttel-fd-44x44-beige-1-92-1a-n","title":"Loseta Porcelanite Marttel FD 44X44 Beige 1.92 1A-N","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Porcelánico modelo Marttell, color Beige, marca Porcelanite, Medidas, 44 X 44 cm, tipo Piedra  con una cobertura por caja de 1.92 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-907-1258\" class=\"llano-calculadora\" data-rendimiento=\"1.92\" data-unidad=\"cajas\" data-presentacion=\"25.3 kg\" data-sku=\"907.1258\"\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 initCalculadorallanocalc9071258() {\n    var calc = document.getElementById('llano-calc-907-1258');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-1258');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-1258');\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', initCalculadorallanocalc9071258);\n  } else {\n    initCalculadorallanocalc9071258();\n  }\n  \n  setTimeout(initCalculadorallanocalc9071258, 500);\n  setTimeout(initCalculadorallanocalc9071258, 1000);\n  setTimeout(initCalculadorallanocalc9071258, 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;\"\u003e907.1258\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;\"\u003eMarttell\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;\"\u003ePMARTEL14HE\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;\"\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;\"\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;\"\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;\"\u003e25.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;\"\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;\"\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;\"\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.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;\"\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":47534660288767,"sku":"907.1258","price":321.59,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.1258_1.jpg?v=1793821760"},{"product_id":"loseta-cantieri-fd-55x55-blanco-1-49-1a","title":"Loseta Cantieri FD 55x55 Blanco 1.49 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Cantieri FD 55x55 Blanco | Piso cerámico blanco con estilo moderno y alta resistencia  Ilumina y amplía tus espacios con la Loseta Cantieri FD en color blanco. Su diseño neutro y limpio es ideal para interiores modernos, minimalistas o clásicos, ya que aporta una sensación de amplitud y frescura. El formato de 55x55 cm ofrece una instalación uniforme y elegante.  Con acabado de primera calidad (1A) y rendimiento de 1.49 m² por caja, esta loseta es perfecta para salas, cocinas, recámaras y áreas que buscan un piso resistente, funcional y fácil de combinar.\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-907-1382\" class=\"llano-calculadora\" data-rendimiento=\"1.49\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"907.1382\"\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 initCalculadorallanocalc9071382() {\n    var calc = document.getElementById('llano-calc-907-1382');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-1382');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-1382');\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', initCalculadorallanocalc9071382);\n  } else {\n    initCalculadorallanocalc9071382();\n  }\n  \n  setTimeout(initCalculadorallanocalc9071382, 500);\n  setTimeout(initCalculadorallanocalc9071382, 1000);\n  setTimeout(initCalculadorallanocalc9071382, 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;\"\u003e907.1382\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;\"\u003ePCANTIE15GV\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;\"\u003ePCANTIE15GV\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;\"\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;\"\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;\"\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;\"\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;\"\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.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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534660387071,"sku":"907.1382","price":325.8,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.1382_1.jpg?v=1793821776"},{"product_id":"loseta-madera-girona-fd-55x55-mix-1-82-1a","title":"Loseta Madera Girona FD 55x55 Mix 1.82 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Madera Girona FD 55x55 Mix | Piso cerámico tipo madera con estilo natural y cálido  La Loseta Madera Girona FD Mix ofrece la apariencia cálida y natural de la madera con los beneficios de la cerámica. Sus tonos mixtos en acabado tipo madera son perfectos para crear ambientes acogedores, modernos o rústicos. El formato de 55x55 cm permite una instalación práctica y un acabado visual continuo.  Con acabado de primera calidad (1A) y rendimiento de 1.82 m² por caja, es ideal para salas, recámaras, comedores o cualquier espacio interior que busque elegancia, calidez y resistencia al mismo tiempo.\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-907-1603\" class=\"llano-calculadora\" data-rendimiento=\"1.82\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"907.1603\"\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 initCalculadorallanocalc9071603() {\n    var calc = document.getElementById('llano-calc-907-1603');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-1603');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-1603');\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', initCalculadorallanocalc9071603);\n  } else {\n    initCalculadorallanocalc9071603();\n  }\n  \n  setTimeout(initCalculadorallanocalc9071603, 500);\n  setTimeout(initCalculadorallanocalc9071603, 1000);\n  setTimeout(initCalculadorallanocalc9071603, 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;\"\u003e907.1603\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;\"\u003ePMGIRCF15GX\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;\"\u003ePMGIRCF15GX\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;\"\u003eMix\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;\"\u003eSalas, recámaras, comedores \u003c\/td\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\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;\"\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;\"\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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.82\u003c\/td\u003e\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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534660452607,"sku":"907.1603","price":298.76,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.1603_1.png?v=1793733714"},{"product_id":"loseta-noe-patio-fd-44x44-grafito-1-92-1a","title":"Loseta Noe Patio Fd 44x44 Grafito 1.92 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Noe Patio 44x44 Grafito | Piso cerámico resistente para interiores y exteriores  La Loseta Noe Patio en color grafito ofrece un diseño moderno con acabado tipo piedra, ideal para áreas que requieren durabilidad y estilo. Su formato de 44x44 cm permite una instalación práctica y estética uniforme. Gracias a su acabado de primera calidad (1A) y rendimiento de 1.92 m² por caja, es perfecta para patios, terrazas o espacios interiores con alto tránsito.\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-907-1626\" class=\"llano-calculadora\" data-rendimiento=\"1.92\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"907.1626\"\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 initCalculadorallanocalc9071626() {\n    var calc = document.getElementById('llano-calc-907-1626');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-1626');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-1626');\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', initCalculadorallanocalc9071626);\n  } else {\n    initCalculadorallanocalc9071626();\n  }\n  \n  setTimeout(initCalculadorallanocalc9071626, 500);\n  setTimeout(initCalculadorallanocalc9071626, 1000);\n  setTimeout(initCalculadorallanocalc9071626, 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;\"\u003e907.1626\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;\"\u003ePNOEPAT14HJ\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;\"\u003ePNOEPAT14HJ\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;\"\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;\"\u003ePatios, terrazas o espacios interiores con alto tránsito\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;\"\u003eGeometrico\/Piedra\u003c\/td\u003e\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;\"\u003e44x44\u003c\/td\u003e\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;\"\u003eRendimiento por Caja\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e1.92\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":47534661042431,"sku":"907.1626","price":329.06,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.1626_1.jpg?v=1793811071"},{"product_id":"loseta-porcelanite-bernini-fd-33x33-beige-1-76-1a","title":"Loseta Porcelanite Bernini FD 33X33 Beige 1.76 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Bernini, color Beige, marca Porcelanite , Medidas, 33 X 33 cm, tipo Mármol  con una cobertura por caja de 1.76 m², grado de calidad A1 y de fácil instalación. Mármol de diseño vanguardista, con vetas finas en acabado mate, ideal para espacios contemporáneos. Bernini, luminosa versatilidad funcional en colores claros, con formatos para pisos y muros \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-907-2239\" class=\"llano-calculadora\" data-rendimiento=\"1.76\" data-unidad=\"cajas\" data-presentacion=\"23.088 kg\" data-sku=\"907.2239\"\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 initCalculadorallanocalc9072239() {\n    var calc = document.getElementById('llano-calc-907-2239');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-2239');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-2239');\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', initCalculadorallanocalc9072239);\n  } else {\n    initCalculadorallanocalc9072239();\n  }\n  \n  setTimeout(initCalculadorallanocalc9072239, 500);\n  setTimeout(initCalculadorallanocalc9072239, 1000);\n  setTimeout(initCalculadorallanocalc9072239, 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;\"\u003e907.2239\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;\"\u003eBernini\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;\"\u003ePBERNUE13CE\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;\"\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;\"\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\u003c\/td\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;= 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;\"\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;\"\u003e23.088 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;\"\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;\"\u003e\u0026gt; 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.76 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;\"\u003eNatural\u003c\/td\u003e\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":47534661107967,"sku":"907.2239","price":240.35,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.2239_1.jpg?v=1793729391"},{"product_id":"loseta-porcelanite-bernini-fd-33x33-gris-1-76-1a","title":"Loseta Porcelanite Bernini FD 33X33 Gris 1.76 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003ePiso Cerámico modelo Bernini, color Gris, marca Porcelanite, Medidas, 33 X 33 cm, tipo Mármol con una cobertura por caja de 1.76 m², grado de calidad A1 y de fácil instalación. Mármol de diseño vanguardista, con vetas finas en acabado mate, ideal para espacios contemporáneos. Bernini, luminosa versatilidad funcional en colores claros, con formatos para pisos y muros \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-907-2252\" class=\"llano-calculadora\" data-rendimiento=\"1.76\" data-unidad=\"cajas\" data-presentacion=\"23.088 kg\" data-sku=\"907.2252\"\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 initCalculadorallanocalc9072252() {\n    var calc = document.getElementById('llano-calc-907-2252');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-2252');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-2252');\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', initCalculadorallanocalc9072252);\n  } else {\n    initCalculadorallanocalc9072252();\n  }\n  \n  setTimeout(initCalculadorallanocalc9072252, 500);\n  setTimeout(initCalculadorallanocalc9072252, 1000);\n  setTimeout(initCalculadorallanocalc9072252, 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;\"\u003e907.2252\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;\"\u003eBernini\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;\"\u003ePBERNUE13CI\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\u003c\/td\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;= 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;\"\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;\"\u003e23.088 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;\"\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;\"\u003e\u0026gt; 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.76 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;\"\u003eNatural \u003c\/td\u003e\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":47534661140735,"sku":"907.2252","price":240.35,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.2252_1.jpg?v=1793633769"},{"product_id":"loseta-carson-fd-44x44-gris-1-99-1a","title":"Loseta Carson FD 44x44 Gris 1.99 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Carson FD 44x44 Gris | Piso cerámico gris con estilo contemporáneo y alta resistencia  La Loseta Carson FD en tono gris es perfecta para renovar tus espacios con un toque moderno, limpio y elegante. Su diseño neutro combina con cualquier estilo decorativo, y su formato de 44x44 cm permite una instalación uniforme. Ideal para salas, pasillos, cocinas o recámaras.  Con acabado de primera calidad (1A) y rendimiento de 1.99 m² por caja, esta loseta cerámica ofrece resistencia, fácil mantenimiento y excelente durabilidad.\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-907-2308\" class=\"llano-calculadora\" data-rendimiento=\"1.99\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"907.2308\"\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 initCalculadorallanocalc9072308() {\n    var calc = document.getElementById('llano-calc-907-2308');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-2308');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-2308');\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', initCalculadorallanocalc9072308);\n  } else {\n    initCalculadorallanocalc9072308();\n  }\n  \n  setTimeout(initCalculadorallanocalc9072308, 500);\n  setTimeout(initCalculadorallanocalc9072308, 1000);\n  setTimeout(initCalculadorallanocalc9072308, 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;\"\u003e907.2308\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;\"\u003ePCARSCF14HI\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;\"\u003ePCARSCF14HI\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;\"\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;\"\u003e44X44\u003c\/td\u003e\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;\"\u003e 3 \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.99\u003c\/td\u003e\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":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534661173503,"sku":"907.2308","price":304.71,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.2308_1.jpg?v=1793747606"},{"product_id":"loseta-kasha-55x55-gris-1-49-1a","title":"Loseta Kasha 55x55 Gris 1.49 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLoseta Kasha 55x55 Gris | Piso cerámico moderno y resistente para interiores elegantes  Transforma tus espacios con la Loseta Kasha en tono gris, una opción ideal para quienes buscan un estilo moderno y minimalista. Su formato amplio de 55x55 cm crea una superficie continua y uniforme, perfecta para salas, comedores, recámaras o áreas de alto tránsito.  Con acabado de primera calidad (1A) y rendimiento de 1.49 m² por caja, esta loseta combina diseño, funcionalidad y durabilidad para tus proyectos de remodelació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-907-769\" class=\"llano-calculadora\" data-rendimiento=\"1.49\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"907.769\"\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 initCalculadorallanocalc907769() {\n    var calc = document.getElementById('llano-calc-907-769');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-907-769');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-907-769');\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', initCalculadorallanocalc907769);\n  } else {\n    initCalculadorallanocalc907769();\n  }\n  \n  setTimeout(initCalculadorallanocalc907769, 500);\n  setTimeout(initCalculadorallanocalc907769, 1000);\n  setTimeout(initCalculadorallanocalc907769, 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;\"\u003e907.769\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;\"\u003ePKASA001S0W \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;\"\u003ePKASA001S0W\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;\"\u003eSalas, comedores, recámaras o áreas de alto tránsito\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;\"\u003eTextil\u003c\/td\u003e\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;\"\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\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Porcelanite","offers":[{"title":"Default Title","offer_id":47534661533951,"sku":"907.769","price":299.02,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/907.769_1.jpg?v=1793806645"},{"product_id":"loseta-piedra-del-castillo-fd-55x55-gris-1-49-1a","title":"Loseta Piedra Del Castillo FD 55x55 Gris 1.49 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eDale a tu hogar un acabado elegante y resistente con la Loseta Piedra Del Castillo en color gris. Su formato de 55x55 cm y diseño tipo piedra natural aportan textura y carácter a cualquier espacio. Ideal para interiores como salas, comedores o recámaras que buscan un toque moderno con inspiración rústica.  Cada caja cubre 1.49 m² y cuenta con acabado de primera calidad (1A), lo que garantiza mayor durabilidad, fácil mantenimiento y excelente apariencia a lo largo del tiempo.\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-435\" class=\"llano-calculadora\" data-rendimiento=\"1.49\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"901.435\"\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 initCalculadorallanocalc901435() {\n    var calc = document.getElementById('llano-calc-901-435');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-435');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-435');\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', initCalculadorallanocalc901435);\n  } else {\n    initCalculadorallanocalc901435();\n  }\n  \n  setTimeout(initCalculadorallanocalc901435, 500);\n  setTimeout(initCalculadorallanocalc901435, 1000);\n  setTimeout(initCalculadorallanocalc901435, 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.435\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;\"\u003eLPIECAS15GI\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;\"\u003eLPIECAS15GI\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;\"\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;\"\u003eGranillado\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;\"\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;\"\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;\"\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":47877994184959,"sku":"901.435","price":312.51,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.435.jpg?v=1793810388"},{"product_id":"loseta-kobe-fd-mix-44x44-beige-1-92-1a-1","title":"Loseta Kobe FD Mix 44x44 Beige 1.92 1A","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eTransforma tus espacios con la Loseta Kobe FD Mix Beige 44x44 cm, ideal para quienes buscan piso cerámico moderno, duradero y fácil de limpiar. Su diseño en tonos beige aporta calidez y combina con cualquier estilo de decoración. Cada caja rinde 1.92 m² y cuenta con acabado de primera calidad (1A), garantizando un piso resistente al uso diario. Perfecta para salas, recámaras, pasillos o cualquier área interior que quieras renovar con estilo y funcionalidad.\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-324\" class=\"llano-calculadora\" data-rendimiento=\"1.92\" data-unidad=\"cajas\" data-presentacion=\"\" data-sku=\"901.324\"\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 initCalculadorallanocalc901324() {\n    var calc = document.getElementById('llano-calc-901-324');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-901-324');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-901-324');\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', initCalculadorallanocalc901324);\n  } else {\n    initCalculadorallanocalc901324();\n  }\n  \n  setTimeout(initCalculadorallanocalc901324, 500);\n  setTimeout(initCalculadorallanocalc901324, 1000);\n  setTimeout(initCalculadorallanocalc901324, 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.324\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;\"\u003eLKOBNEW14HE\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;\"\u003eLKOBNEW14HE\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;\"\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;\"\u003ePerfecta para salas, recámaras, pasillos o cualquier área interior que quieras renovar con estilo y funcionalidad\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;\"\u003e44x44\u003c\/td\u003e\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;\"\u003eII\u003c\/td\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 \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;\"\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.92\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":48080665706751,"sku":"901.324","price":362.14,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/901.324_1.jpg?v=1793816649"},{"product_id":"loseta-monaco-9mm-60x120-brillante-1-44-1a-1","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":48342616310015,"sku":"235.152","price":581.03,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/235.152_1_4f1eee4d-5f3b-44c1-b868-09d40c5aa291.jpg?v=1774716912"},{"product_id":"loseta-lamosa-borja-fd-60x60-negro-1-44-1a-1","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":48898191524095,"sku":"1.187","price":392.58,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/1.187_1_7cb5fe11-0c95-4bb6-8fc6-1795b451d881.jpg?v=1785177878"},{"product_id":"loseta-milan-nero-60x120-extra-brillante-1-44-1a-1","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":49247165022463,"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_f128b572-bc24-4d69-b5a8-9302d259807f.jpg?v=1789783263"}],"url":"https:\/\/llanodelatorre.com.mx\/collections\/losetas.oembed","provider":"Llano de la Torre","version":"1.0","type":"link"}