{"product_id":"tira-trim-lisa-perdura-caoba-2-40-m-1","title":"Tira Trim Lisa Perdura Caoba 2.40 m","description":"\u003c!-- PRODUCT_DETAILS_START --\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003cp\u003eLa Herramienta de la marca Perdura, modelo Tiratrim PCV Color Caoba, es utilizado para la colocacion entre las juntas del piso instalado. Evita que se rompa piso, esquinas, zoclos, azulejos y escalones\u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT_DETAILS_END --\u003e\n\u003c!-- CALCULATOR_START --\u003e\n\n\u003c!-- Calculadora de Materiales Llano de la Torre --\u003e\n\u003cdiv class=\"llano-calculadora-wrapper\" style=\"margin: 20px 0; padding: 15px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px;\"\u003e\n  \u003ch3 style=\"margin-top: 0;\"\u003e¿Cuántos piezas necesito comprar?\u003c\/h3\u003e\n  \u003cp style=\"margin-bottom: 10px;\"\u003eIngresa la cantidad de metros cuadrados (m²) de tu espacio.\u003c\/p\u003e\n  \u003cdiv id=\"llano-calc-181-54\" class=\"llano-calculadora\" data-rendimiento=\"2.4\" data-unidad=\"piezas\" data-presentacion=\"Pieza\" data-sku=\"181.54\"\u003e\n    \u003cdiv style=\"margin-bottom: 10px;\"\u003e\n      \u003cinput type=\"number\" class=\"llano-calc-input\" placeholder=\"Ej: 100\" min=\"0\" step=\"0.1\" style=\"width: 100%; max-width: 200px; padding: 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 16px;\"\u003e\n      \u003cspan style=\"margin-left: 5px;\"\u003em²\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"llano-calc-result\" style=\"display: none; margin-top: 10px; padding: 10px; background: #fff; border-left: 3px solid #4CAF50;\"\u003e\n      \u003cstrong style=\"font-size: 18px;\"\u003eNecesitas \u003cspan class=\"llano-calc-cantidad\"\u003e0\u003c\/span\u003e piezas\u003c\/strong\u003e\n      \u003cbr\u003e\n      \u003csmall style=\"color: #666;\"\u003epara \u003cspan class=\"llano-calc-metros\"\u003e0\u003c\/span\u003e metros cuadrados.\u003c\/small\u003e\n      \u003c!-- BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n      \u003cdiv style=\"margin-top: 10px;\"\u003e\n        \u003cbutton type=\"button\" class=\"llano-calc-add-cart\" \n                style=\"background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; font-size: 16px; cursor: pointer; font-weight: bold;\"\u003e\n          🛒 Agregar \u003cspan class=\"llano-calc-cantidad-btn\"\u003e0\u003c\/span\u003e al carrito\n        \u003c\/button\u003e\n        \u003cdiv class=\"llano-calc-loading\" style=\"display: none; margin-top: 5px; color: #666;\"\u003e\n          ⏳ Agregando al carrito...\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-success\" style=\"display: none; margin-top: 5px; color: #4CAF50;\"\u003e\n          ✅ ¡Agregado al carrito!\n        \u003c\/div\u003e\n        \u003cdiv class=\"llano-calc-error\" style=\"display: none; margin-top: 5px; color: #f44336;\"\u003e\n          ❌ Error al agregar. Intenta de nuevo.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      --\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n  function initCalculadorallanocalc18154() {\n    var calc = document.getElementById('llano-calc-181-54');\n    if (!calc) {\n      console.log('[Calculadora] Elemento no encontrado: llano-calc-181-54');\n      return false;\n    }\n    \n    console.log('[Calculadora] Inicializando: llano-calc-181-54');\n    \n    var input = calc.querySelector('.llano-calc-input');\n    var result = calc.querySelector('.llano-calc-result');\n    var cantidadSpan = calc.querySelector('.llano-calc-cantidad');\n    var metrosSpan = calc.querySelector('.llano-calc-metros');\n    \/\/ Botón de agregar al carrito deshabilitado temporalmente\n    \/\/ var cantidadBtnSpan = calc.querySelector('.llano-calc-cantidad-btn');\n    \/\/ var addCartBtn = calc.querySelector('.llano-calc-add-cart');\n    \/\/ var loadingDiv = calc.querySelector('.llano-calc-loading');\n    \/\/ var successDiv = calc.querySelector('.llano-calc-success');\n    \/\/ var errorDiv = calc.querySelector('.llano-calc-error');\n    \n    if (!input || !result) {\n      console.log('[Calculadora] Elementos no encontrados');\n      return false;\n    }\n    \n    var rendimiento = parseFloat(calc.dataset.rendimiento);\n    var unidad = calc.dataset.unidad;\n    var sku = calc.dataset.sku;\n    var cantidadCalculada = 0;\n    \n    console.log('[Calculadora] Configuración: rendimiento=' + rendimiento + ', unidad=' + unidad);\n    \n    function calcular() {\n      var metros = parseFloat(input.value);\n      console.log('[Calculadora] Calculando: metros=' + metros);\n      \n      if (isNaN(metros) || metros \u003c= 0) {\n        result.style.display = 'none';\n        cantidadCalculada = 0;\n        return;\n      }\n      \n      cantidadCalculada = Math.ceil(metros \/ rendimiento);\n      cantidadSpan.textContent = cantidadCalculada;\n      metrosSpan.textContent = metros.toFixed(2);\n      result.style.display = 'block';\n      \n      console.log('[Calculadora] Resultado: ' + cantidadCalculada + ' ' + unidad);\n    }\n    \n    input.addEventListener('input', calcular);\n    input.addEventListener('keypress', function(e) {\n      if (e.key === 'Enter' || e.keyCode === 13) {\n        e.preventDefault();\n        calcular();\n      }\n    });\n    input.addEventListener('change', calcular);\n    \n    \/* BOTÓN DE AGREGAR AL CARRITO DESHABILITADO TEMPORALMENTE\n    if (addCartBtn) {\n      addCartBtn.addEventListener('click', function() {\n        if (cantidadCalculada \u003c= 0) {\n          alert('Por favor, ingresa una cantidad de metros cuadrados');\n          return;\n        }\n        \n        var variantId = null;\n        var productForm = document.querySelector('form[action*=\"\/cart\/add\"]');\n        if (productForm) {\n          var variantInput = productForm.querySelector('[name=\"id\"]');\n          if (variantInput) variantId = variantInput.value;\n        }\n        \n        if (!variantId) {\n          var selectVariant = document.querySelector('select[name=\"id\"]');\n          if (selectVariant) variantId = selectVariant.value;\n        }\n        \n        if (!variantId) {\n          var productElement = document.querySelector('[data-product-id]');\n          if (productElement \u0026\u0026 productElement.dataset.variantId) {\n            variantId = productElement.dataset.variantId;\n          }\n        }\n        \n        if (!variantId) {\n          console.error('[Calculadora] No se pudo encontrar el variant ID');\n          if (errorDiv) {\n            errorDiv.textContent = '❌ Error: No se pudo identificar el producto. Usa el botón de compra normal.';\n            errorDiv.style.display = 'block';\n          }\n          return;\n        }\n        \n        if (loadingDiv) loadingDiv.style.display = 'block';\n        if (successDiv) successDiv.style.display = 'none';\n        if (errorDiv) errorDiv.style.display = 'none';\n        addCartBtn.disabled = true;\n        \n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ id: variantId, quantity: cantidadCalculada })\n        })\n        .then(function(response) { return response.json(); })\n        .then(function(data) {\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (successDiv) successDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n          document.dispatchEvent(new CustomEvent('cart:updated'));\n        })\n        .catch(function(error) {\n          console.error('[Calculadora] Error al agregar:', error);\n          if (loadingDiv) loadingDiv.style.display = 'none';\n          if (errorDiv) errorDiv.style.display = 'block';\n          addCartBtn.disabled = false;\n        });\n      });\n    }\n    *\/\n    \n    console.log('[Calculadora] Inicializada correctamente');\n    return true;\n  }\n  \n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initCalculadorallanocalc18154);\n  } else {\n    initCalculadorallanocalc18154();\n  }\n  \n  setTimeout(initCalculadorallanocalc18154, 500);\n  setTimeout(initCalculadorallanocalc18154, 1000);\n  setTimeout(initCalculadorallanocalc18154, 2000);\n})();\n\u003c\/script\u003e\n\u003c!-- Fin Calculadora --\u003e\n\n\u003c!-- CALCULATOR_END --\u003e\n\u003c!-- SPECIFICATIONS_START --\u003e\n\u003cdiv class=\"product-specifications\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background-color: #f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding: 10px; font-weight: bold; border: 1px solid #ddd;\"\u003eInformación del Producto\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eArtículo\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003e181.54\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd; width: 40%; font-weight: 500;\"\u003eCat\u003c\/td\u003e\n\u003ctd style=\"padding: 8px; border: 1px solid #ddd;\"\u003eL\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eCaracterísticas Generales\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eModelo\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTiratrim PCV\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCódigo de Producto\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2140-0271-PZ01\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eProveedor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePerdura\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eColor\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eCaoba\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eTipo de Uso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eColocacion entre las juntas\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eDimensiones y Peso\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePeso\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e0.1 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eEspecificaciones para Adhesivos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003ePresentación\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eLosetas Recomendadas\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003eTodo tipo de pisos\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRendimiento\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e2.4 m²\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eInformación Adicional\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eRecomendaciones\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003e20 golpes por tramo\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background-color:#f5f5f5;\"\u003e\u003ctd colspan=\"2\" style=\"padding:10px;font-weight:bold;border:1px solid #ddd;\"\u003eOtros atributos\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;width:40%;font-weight:500;\"\u003eCapacidad Tamano\u003c\/td\u003e\n\u003ctd style=\"padding:8px;border:1px solid #ddd;\"\u003ePieza\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- SPECIFICATIONS_END --\u003e","brand":"Perdura","offers":[{"title":"Default Title","offer_id":48587207344383,"sku":"181.54","price":52.11,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0771\/5641\/7791\/files\/181.54_1_522845b7-a102-470a-9110-11776f11bd5a.jpg?v=1779853235","url":"https:\/\/llanodelatorre.com.mx\/products\/tira-trim-lisa-perdura-caoba-2-40-m-1","provider":"Llano de la Torre","version":"1.0","type":"link"}