{"title":"Outono\/ Inverno 26","description":"","products":[{"product_id":"blanditos-caicos-verde","title":"Blanditos Caicos Verde","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 128, width: 61 },\n    { size: 21, length: 134, width: 62 },\n    { size: 22, length: 141, width: 63 },\n    { size: 23, length: 147, width: 64 },\n    { size: 24, length: 154, width: 66 },\n    { size: 25, length: 160, width: 67 },\n    { size: 26, length: 166, width: 69 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"20","offer_id":58421321007429,"sku":"CaicosBV27-1","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58421321040197,"sku":"CaicosBV27-2","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58421321072965,"sku":"CaicosBV27-3","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58421321105733,"sku":"CaicosBV27-4","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58421321138501,"sku":"CaicosBV27-5","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58421321171269,"sku":"CaicosBV27-6","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58421329264965,"sku":"CaicosBV27-7","price":54.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/CAICOS-BV27-1.png?v=1782831998"},{"product_id":"blanditos-porto-rosa","title":"Blanditos Porto Rosa","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 21, length: 133, width: 61 },\n    { size: 22, length: 141, width: 63 },\n    { size: 23, length: 147, width: 65 },\n    { size: 24, length: 154, width: 66 },\n    { size: 25, length: 161, width: 68 },\n    { size: 26, length: 168, width: 69 },\n    { size: 27, length: 173, width: 72 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"21","offer_id":58421406859589,"sku":"PortoRosa27-7","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58421406892357,"sku":"PortoRosa27-1","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58421406925125,"sku":"PortoRosa27-2","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58421406957893,"sku":"PortoRosa27-3","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58421406990661,"sku":"PortoRosa27-4","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58421407023429,"sku":"PortoRosa27-5","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58421407056197,"sku":"PortoRosa27-6","price":52.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/PORTO-ROSA_1.jpg?v=1782832803"},{"product_id":"blanditos-torino-marino","title":"Blanditos Torino Marino","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 21, length: 133, width: 61 },\n    { size: 22, length: 141, width: 63 },\n    { size: 23, length: 147, width: 65 },\n    { size: 24, length: 154, width: 66 },\n    { size: 25, length: 161, width: 68 },\n    { size: 26, length: 168, width: 69 },\n    { size: 27, length: 173, width: 72 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"21","offer_id":58426858864965,"sku":"TorinoMarino27-1","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58426858897733,"sku":"TorinoMarino27-2","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58426858930501,"sku":"TorinoMarino27-3","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58426858963269,"sku":"TorinoMarino27-4","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58426858996037,"sku":"TorinoMarino27-5","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58426859028805,"sku":"TorinoMarino27-6","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58426859061573,"sku":"TorinoMarino27-7","price":53.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/TORINO-MARINO_1.jpg?v=1782898425"},{"product_id":"blanditos-caicos-marino","title":"Blanditos Caicos Marino","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 128, width: 61 },\n    { size: 21, length: 134, width: 62 },\n    { size: 22, length: 141, width: 63 },\n    { size: 23, length: 147, width: 64 },\n    { size: 24, length: 154, width: 66 },\n    { size: 25, length: 160, width: 67 },\n    { size: 26, length: 166, width: 69 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"20","offer_id":58426866663749,"sku":"CaicosMarino27-1","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58426866696517,"sku":"CaicosMarino27-2","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58426866729285,"sku":"CaicosMarino27-3","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58426866762053,"sku":"CaicosMarino27-4","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58426866794821,"sku":"CaicosMarino27-5","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58426866827589,"sku":"CaicosMarino27-6","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58426866860357,"sku":"CaicosMarino27-7","price":54.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/CAICOS-MARINO_1.jpg?v=1782898709"},{"product_id":"blanditos-lisboa-mar","title":"Blanditos Lisboa Mar","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 128, width: 59 },\n    { size: 21, length: 133, width: 61 },\n    { size: 22, length: 140, width: 62 },\n    { size: 23, length: 146, width: 63 },\n    { size: 24, length: 154, width: 65 },\n    { size: 25, length: 160, width: 67 },\n    { size: 26, length: 167, width: 69 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"20","offer_id":58597226578245,"sku":"LisboaMar27-1","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58597226611013,"sku":"LisboaMar27-2","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58597226643781,"sku":"LisboaMar27-3","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58597226676549,"sku":"LisboaMar27-4","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58597226709317,"sku":"LisboaMar27-5","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58597226742085,"sku":"LisboaMar27-6","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58597226774853,"sku":"LisboaMar27-7","price":49.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/LISBOA-MAR27.png?v=1784288359"},{"product_id":"blanditos-torino-champanhe","title":"Blanditos Torino Champanhe","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 21, length: 133, width: 61 },\n    { size: 22, length: 141, width: 63 },\n    { size: 23, length: 147, width: 65 },\n    { size: 24, length: 154, width: 66 },\n    { size: 25, length: 161, width: 68 },\n    { size: 26, length: 168, width: 69 },\n    { size: 27, length: 173, width: 72 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"21","offer_id":58597632901445,"sku":"TorinoChamp27-1","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58597632934213,"sku":"TorinoChamp27-2","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58597632966981,"sku":"TorinoChamp27-3","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58597632999749,"sku":"TorinoChamp27-4","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58597633032517,"sku":"TorinoChamp27-5","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58597633065285,"sku":"TorinoChamp27-6","price":53.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58597633098053,"sku":"TorinoChamp27-7","price":53.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/TORINO-CHAMPAN_1.jpg?v=1784288539"},{"product_id":"blanditos-porto-vison","title":"Blanditos Porto Vison","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 21, length: 133, width: 61 },\n    { size: 22, length: 141, width: 63 },\n    { size: 23, length: 147, width: 65 },\n    { size: 24, length: 154, width: 66 },\n    { size: 25, length: 161, width: 68 },\n    { size: 26, length: 168, width: 69 },\n    { size: 27, length: 173, width: 72 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"21","offer_id":58597855625541,"sku":"PortoVison27-1","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58597855658309,"sku":"PortoVison27-2","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58597855691077,"sku":"PortoVison27-3","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58597855723845,"sku":"PortoVison27-4","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58597855756613,"sku":"PortoVison27-5","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58597855789381,"sku":"PortoVison27-6","price":52.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58597855822149,"sku":"PortoVison27-7","price":52.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/PORTO-VISON_1.jpg?v=1784289075"},{"product_id":"blanditos-caicos-print","title":"Blanditos Caicos Print","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 128, width: 61 },\n    { size: 21, length: 134, width: 62 },\n    { size: 22, length: 141, width: 63 },\n    { size: 23, length: 147, width: 64 },\n    { size: 24, length: 154, width: 66 },\n    { size: 25, length: 160, width: 67 },\n    { size: 26, length: 166, width: 69 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"20","offer_id":58597892686149,"sku":"CaicosPrint27-1","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58597892718917,"sku":"CaicosPrint27-2","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58597892751685,"sku":"CaicosPrint27-3","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58597892784453,"sku":"CaicosPrint27-4","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58597892817221,"sku":"CaicosPrint27-5","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58597892849989,"sku":"CaicosPrint27-6","price":54.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58597892882757,"sku":"CaicosPrint27-7","price":54.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/CAICOS-PRINT_1.jpg?v=1784289655"},{"product_id":"blanditos-quito-vison","title":"Blanditos Quito Vison","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 128, width: 60 },\n    { size: 21, length: 134, width: 62 },\n    { size: 22, length: 140, width: 63 },\n    { size: 23, length: 147, width: 65 },\n    { size: 24, length: 154, width: 66 },\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"20","offer_id":58601553887557,"sku":"QuitoVison27","price":47.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58601553920325,"sku":"QuitoVison28","price":47.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58601553953093,"sku":"QuitoVison29","price":47.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58601553985861,"sku":"QuitoVison30","price":47.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58601554018629,"sku":"QuitoVison31","price":47.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/QUITOVISON_1.jpg?v=1785341051"},{"product_id":"blanditos-kauai-marino","title":"Blanditos Kauai Marino","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 27, length: 176, width: 75 },\n    { size: 28, length: 182, width: 75 },\n    { size: 29, length: 190, width: 76 },\n    { size: 30, length: 196, width: 78 },\n    { size: 31, length: 203, width: 80 },\n    { size: 32, length: 209, width: 81 },\n    { size: 33, length: 216, width: 82 },\n    { size: 34, length: 220, width: 84 },\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"27","offer_id":58601898606917,"sku":"KauaiMarino27-1","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58601898639685,"sku":"KauaiMarino27-2","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58601898672453,"sku":"KauaiMarino27-3","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58601898705221,"sku":"KauaiMarino27-4","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"31","offer_id":58601898737989,"sku":"KauaiMarino27-5","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"32","offer_id":58601898770757,"sku":"KauaiMarino27-6","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"33","offer_id":58601898803525,"sku":"KauaiMarino27-7","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"34","offer_id":58601898836293,"sku":"KauaiMarino27-8","price":65.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/KAUAIBN_1.jpg?v=1785340960"},{"product_id":"muris-petra-mini-pink","title":"Muris Petra Mini Pink","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 126, width: 53 },\n    { size: 21, length: 132, width: 55 },\n    { size: 22, length: 139, width: 56 },\n    { size: 23, length: 147, width: 58 },\n    { size: 24, length: 159, width: 60 },\n    { size: 25, length: 165, width: 62 },\n    { size: 26, length: 171, width: 63 },\n    { size: 27, length: 220, width: 64 },\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Muris","offers":[{"title":"20","offer_id":58657129464133,"sku":"PetraMPink-1","price":59.0,"currency_code":"EUR","in_stock":false},{"title":"21","offer_id":58657129496901,"sku":"PetraMPink-2","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58657129529669,"sku":"PetraMPink-3","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58657129562437,"sku":"PetraMPink-4","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58657129595205,"sku":"PetraMPink-5","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58657129627973,"sku":"PetraMPink-6","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58657129660741,"sku":"PetraMPink-7","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58657129693509,"sku":"PetraMPink-8","price":59.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/MU-PETRA-MN-PINKC-24_1.jpg?v=1784805165"},{"product_id":"muris-petra-mini-steel","title":"Muris Petra Mini Steel","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 126, width: 53 },\n    { size: 21, length: 132, width: 55 },\n    { size: 22, length: 139, width: 56 },\n    { size: 23, length: 147, width: 58 },\n    { size: 24, length: 159, width: 60 },\n    { size: 25, length: 165, width: 62 },\n    { size: 26, length: 171, width: 63 },\n    { size: 27, length: 220, width: 64 },\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Muris","offers":[{"title":"20","offer_id":58657170161989,"sku":"PetraMSteel-1","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58657170194757,"sku":"PetraMSteel-2","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58657170227525,"sku":"PetraMSteel-3","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58657170260293,"sku":"PetraMSteel-4","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58657170293061,"sku":"PetraMSteel-5","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58657170325829,"sku":"PetraMSteel-6","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58657170358597,"sku":"PetraMSteel-7","price":59.0,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58657170391365,"sku":"PetraMSteel-8","price":59.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/MU-PETRA-MN-STEEL-24_1.jpg?v=1784805578"},{"product_id":"petra-junior-pink","title":"Muris Petra Junior Pink","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 28, length: 178, width: 68 },\n    { size: 29, length: 184, width: 71 },\n    { size: 30, length: 190, width: 72 },\n    { size: 31, length: 196, width: 73 },\n    { size: 32, length: 203, width: 75 },\n    { size: 33, length: 210, width: 76 },\n    { size: 34, length: 215, width: 78 },\n    { size: 35, length: 224, width: 79 },\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Muris","offers":[{"title":"28","offer_id":58657269449029,"sku":"PetraJPink-1","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58657269481797,"sku":"PetraJPink-2","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58657269514565,"sku":"PetraJPink-3","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"31","offer_id":58657269547333,"sku":"PetraJPink-4","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"32","offer_id":58657269580101,"sku":"PetraJPink-5","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"33","offer_id":58657269612869,"sku":"PetraJPink-6","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"34","offer_id":58657269645637,"sku":"PetraJPink-7","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"35","offer_id":58657269678405,"sku":"PetraJPink-8","price":63.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/MU-PETRA-JR-PINKC-30_1.jpg?v=1784806890"},{"product_id":"muris-petra-junior-steel","title":"Muris Petra Junior Steel","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 28, length: 178, width: 68 },\n    { size: 29, length: 184, width: 71 },\n    { size: 30, length: 190, width: 72 },\n    { size: 31, length: 196, width: 73 },\n    { size: 32, length: 203, width: 75 },\n    { size: 33, length: 210, width: 76 },\n    { size: 34, length: 215, width: 78 },\n    { size: 35, length: 224, width: 79 },\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Muris","offers":[{"title":"28","offer_id":58657292747077,"sku":"PetraJSteel-1","price":63.0,"currency_code":"EUR","in_stock":false},{"title":"29","offer_id":58657292779845,"sku":"PetraJSteel-2","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58657292812613,"sku":"PetraJSteel-3","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"31","offer_id":58657292845381,"sku":"PetraJSteel-4","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"32","offer_id":58657292878149,"sku":"PetraJSteel-5","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"33","offer_id":58657292910917,"sku":"PetraJSteel-6","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"34","offer_id":58657292943685,"sku":"PetraJSteel-7","price":63.0,"currency_code":"EUR","in_stock":true},{"title":"35","offer_id":58657292976453,"sku":"PetraJSteel-8","price":63.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/MU-PETRA-JR-STEEL-30_1.jpg?v=1784807369"},{"product_id":"blanditos-lisboa-rosa","title":"Blanditos Lisboa Rosa","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 128, width: 59 },\n    { size: 21, length: 133, width: 61 },\n    { size: 22, length: 140, width: 62 },\n    { size: 23, length: 146, width: 63 },\n    { size: 24, length: 154, width: 65 },\n    { size: 25, length: 160, width: 67 },\n    { size: 26, length: 167, width: 69 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"20","offer_id":58667326243141,"sku":"LisboaRosa27-1","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58667326275909,"sku":"LisboaRosa27-2","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58667326308677,"sku":"LisboaRosa27-3","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58667326341445,"sku":"LisboaRosa27-4","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58667326374213,"sku":"LisboaRosa27-5","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58667326406981,"sku":"LisboaRosa27-6","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58667326439749,"sku":"LisboaRosa27-7","price":49.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/LISBOA-ROSA_1.jpg?v=1784909147"},{"product_id":"blanditos-kauai-print","title":"Blanditos Kauai Print","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 27, length: 176, width: 75 },\n    { size: 28, length: 182, width: 75 },\n    { size: 29, length: 190, width: 76 },\n    { size: 30, length: 196, width: 78 },\n    { size: 31, length: 203, width: 80 },\n    { size: 32, length: 209, width: 81 },\n    { size: 33, length: 216, width: 82 },\n    { size: 34, length: 220, width: 84 },\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"27","offer_id":58667406950725,"sku":"KauaiPrint27-1","price":65.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58667406983493,"sku":"KauaiPrint27-2","price":65.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58667407016261,"sku":"KauaiPrint27-3","price":65.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58667407049029,"sku":"KauaiPrint27-4","price":65.9,"currency_code":"EUR","in_stock":true},{"title":"31","offer_id":58667407081797,"sku":"KauaiPrint27-5","price":65.9,"currency_code":"EUR","in_stock":true},{"title":"32","offer_id":58667407114565,"sku":"KauaiPrint27-6","price":65.9,"currency_code":"EUR","in_stock":true},{"title":"33","offer_id":58667407147333,"sku":"KauaiPrint27-7","price":65.9,"currency_code":"EUR","in_stock":true},{"title":"34","offer_id":58667407180101,"sku":"KauaiPrint27-8","price":71.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/KAUAIPRINT27-1.jpg?v=1785340998"},{"product_id":"blanditos-platy-marino","title":"Blanditos Platy Marino","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 22, length: 132, width: 59 },\n    { size: 23, length: 140, width: 62 },\n    { size: 24, length: 146, width: 63 },\n    { size: 25, length: 151, width: 65 },\n    { size: 26, length: 159, width: 66 },\n    { size: 27, length: 164, width: 69 },\n    { size: 28, length: 172, width: 70 },\n    { size: 29, length: 180, width: 72 },\n    { size: 30, length: 187, width: 73 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"22","offer_id":58719031001413,"sku":"PlatyMarino27-1","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58719031034181,"sku":"PlatyMarino27-2","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58719031066949,"sku":"PlatyMarino27-3","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58719031099717,"sku":"PlatyMarino27-4","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58719031132485,"sku":"PlatyMarino27-5","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58719031165253,"sku":"PlatyMarino27-6","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58719031198021,"sku":"PlatyMarino27-7","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58719031230789,"sku":"PlatyMarino27-8","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58719031263557,"sku":"PlatyMarino27-9","price":38.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/PLATYMARINO_1.jpg?v=1785404932"},{"product_id":"blanditos-platy-verde","title":"Blanditos Platy Verde","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 22, length: 132, width: 59 },\n    { size: 23, length: 140, width: 62 },\n    { size: 24, length: 146, width: 63 },\n    { size: 25, length: 151, width: 65 },\n    { size: 26, length: 159, width: 66 },\n    { size: 27, length: 164, width: 69 },\n    { size: 28, length: 172, width: 70 },\n    { size: 29, length: 180, width: 72 },\n    { size: 30, length: 187, width: 73 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"22","offer_id":58719133663557,"sku":"PlatyVerde27-1","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58719133696325,"sku":"PlatyVerde27-2","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58719133729093,"sku":"PlatyVerde27-3","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58719133761861,"sku":"PlatyVerde27-4","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58719133794629,"sku":"PlatyVerde27-5","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58719133827397,"sku":"PlatyVerde27-6","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58719133860165,"sku":"PlatyVerde27-7","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58719133892933,"sku":"PlatyVerde27-8","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58719133925701,"sku":"PlatyVerde27-9","price":38.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/PLATYVERDE27-1.png?v=1785405972"},{"product_id":"blanditos-platy-negro","title":"Blanditos Platy Negro","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 22, length: 132, width: 59 },\n    { size: 23, length: 140, width: 62 },\n    { size: 24, length: 146, width: 63 },\n    { size: 25, length: 151, width: 65 },\n    { size: 26, length: 159, width: 66 },\n    { size: 27, length: 164, width: 69 },\n    { size: 28, length: 172, width: 70 },\n    { size: 29, length: 180, width: 72 },\n    { size: 30, length: 187, width: 73 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e","brand":"Blanditos","offers":[{"title":"22","offer_id":58719190253893,"sku":"PlatyNegro27-1","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58719190286661,"sku":"PlatyNegro27-2","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58719190319429,"sku":"PlatyNegro27-3","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58719190352197,"sku":"PlatyNegro27-4","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58719190384965,"sku":"PlatyNegro27-5","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58719190417733,"sku":"PlatyNegro27-6","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58719190450501,"sku":"PlatyNegro27-7","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58719190483269,"sku":"PlatyNegro27-8","price":38.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58719190516037,"sku":"PlatyNegro27-9","price":38.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/PLATYNEGRO_1.jpg?v=1785406326"},{"product_id":"victoria-olmo-glitter-camurca-marron","title":"Victoria Olmo Glitter \u0026 Camurça Marron","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 36, length: 236, width: 83 },\n    { size: 37, length: 242, width: 85 },\n    { size: 38, length: 249, width: 86 },\n    { size: 39, length: 255, width: 88 },\n    { size: 40, length: 260, width: 89 },\n    { size: 41, length: 266, width: 91 },\n    { size: 42, length: 271, width: 92 },\n    { size: 43, length: 276, width: 93 },\n    { size: 44, length: 282, width: 94 },\n    { size: 45, length: 289, width: 95 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eE\u003c\/b\u003e\u003cb\u003elegancia, brilho subtil e respeito absoluto pela biomecânica dos teus pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas \u003cb\u003eOlmo Barefoot\u003c\/b\u003e foram pensadas para mulheres que não querem abduar do estilo no dia a dia, mas que procuram o máximo conforto e liberdade de movimentos. Produzidas artesanalmente em Espanha com materiais de alta qualidade, combinam o glamour do glitter com detalhes refinados em camurça (serraje) ao tom e um elegante apontamento de \u003ci\u003eanimal print\u003c\/i\u003e no forro interior.\u003c\/p\u003e\n\u003cp\u003eMais do que bonitas, são sapatilhas tecnicamente desenhadas para cuidar de ti a cada passo.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFabrico nacional (Espanha):\u003c\/b\u003e Qualidade superior e acabamentos premium.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais nobres:\u003c\/b\u003e Exterior em glitter e pele aveludada, com atacadores ao tom.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola TR flexível:\u003c\/b\u003e Sola cor caramelo com excelente aderência e flexibilidade total, permitindo que o pé se mova de forma 100% natural.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e🔄 \u003cb\u003eInovação: Sistema de Dupla Palmilha (Adaptação Progressiva)\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cp\u003eSe estás a começar no mundo \u003ci\u003ebarefoot\u003c\/i\u003e ou se preferes uma transição suave, estas sapatilhas incluem \u003cb\u003eduas palmilhas extraíbles\u003c\/b\u003e para escolheres como queres caminhar:\u003c\/p\u003e\n\u003col start=\"1\"\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha de Transição (Drop de 3 mm):\u003c\/b\u003e Ideal para quem está a habituar o corpo e procura uma adaptação gradual.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha Barefoot (Drop 0):\u003c\/b\u003e Para uma experiência totalmente natural, plana e sem inclinação.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDrop:\u003c\/b\u003e Opção de 0 mm ou 3 mm (conforme a palmilha escolhida).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Extraíble (ambas incluídas).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TR flexível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"36","offer_id":58763451728197,"sku":"186109M-1","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"37","offer_id":58763451760965,"sku":"186109M-2","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"38","offer_id":58763451793733,"sku":"186109M-3","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"39","offer_id":58763451826501,"sku":"186109M-4","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"40","offer_id":58763451859269,"sku":"186109M-5","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"41","offer_id":58763451892037,"sku":"186109M-6","price":89.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1186109_70_000.jpg?v=1785839801"},{"product_id":"victoria-kai-burdeos","title":"Victoria Kai Burdeos","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 22, length: 140, width: 62 },\n    { size: 23, length: 145, width: 64 },\n    { size: 24, length: 153, width: 65 },\n    { size: 25, length: 160, width: 66 },\n    { size: 26, length: 165, width: 69 },\n    { size: 27, length: 171, width: 70 },\n    { size: 28, length: 178, width: 72 },\n    { size: 29, length: 185, width: 73 },\n    { size: 30, length: 190, width: 75 },\n    { size: 31, length: 197, width: 76 },\n    { size: 32, length: 204, width: 79 },\n    { size: 33, length: 210, width: 80 },\n    { size: 34, length: 220, width: 80 },\n    { size: 35, length: 227, width: 80 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\n\n\n\u003cp\u003e\u003cb\u003eA combinação perfeita de autonomia, fixação e liberdade para os pés dos mais novos.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas desportivas \u003cb\u003eVictoria Kai Barefoot\u003c\/b\u003e foram desenhadas para acompanhar o ritmo diário das crianças, cuidando ao mesmo tempo do seu desenvolvimento natural. Num atraente tom bordéus, combinam um tecido de malha respirável com peças de efeito pele aveludada e a icónica \"V\" da Victoria na lateral.\u003c\/p\u003e\n\u003cp\u003ePensadas para facilitar o dia a dia de pais e filhos, contam com um sistema de fecho que une \u003cb\u003ecordão elástico e tira aderente (velcro)\u003c\/b\u003e, promovendo a autonomia dos miúdos ao calçarem-se e garantindo uma fixação firme. Além disso, incorporam duplo puxador (na língua e no calcanhar) para tornar o calce ainda mais simples.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eCaracterísticas Principais:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDesign Respetador (\u003ci\u003eBarefoot\u003c\/i\u003e):\u003c\/b\u003e Respeita a anatomia e o movimento natural do pé em pleno crescimento.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais respiráveis e resistentes:\u003c\/b\u003e Exterior de malha leve com reforços de efeito pele aveludada e detalhes em TPU.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFácil autonomia:\u003c\/b\u003e Sistema combinado de cordão elástico e fecho aderente, ideal para que as crianças as calçamycin sozinhas.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDuplo puxador:\u003c\/b\u003e Facilitam a colocação rápida tanto na língua como na parte traseira.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola de phylon e borracha:\u003c\/b\u003e Sola flexível em cor castanho chocolate com um divertido efeito pintalgado e patinhão de borracha para uma aderência otimizada.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Escola \/ Atividades infantis.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFecho:\u003c\/b\u003e Cordão elástico + tira aderente.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"22","offer_id":58763608555845,"sku":"172103B-1","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58763608588613,"sku":"172103B-2","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58763608621381,"sku":"172103B-3","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58763608654149,"sku":"172103B-4","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58763608686917,"sku":"172103B-5","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58763608719685,"sku":"172103B-6","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58763608752453,"sku":"172103B-7","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58763608785221,"sku":"172103B-8","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58763608817989,"sku":"172103B-9","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"31","offer_id":58763608850757,"sku":"172103B-10","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"32","offer_id":58763608883525,"sku":"172103B-11","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"33","offer_id":58763608916293,"sku":"172103B-12","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"34","offer_id":58763608949061,"sku":"172103B-13","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"35","offer_id":58763608981829,"sku":"172103B-14","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1172103_41_001.jpg?v=1785841792"},{"product_id":"victoria-olmo-serrage-bege","title":"Victoria Olmo Serrage Bege","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n\u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n\u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n\u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n\u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003eIntroduz as medidas do pezinho para calcular.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box; background: linear-gradient(to right,                     #e74c3c 0%, #e74c3c 40%,                     #2ecc71 40%, #2ecc71 60%,                     #e74c3c 60%, #e74c3c 100%                  );\"\u003e\n\u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n\u003cspan\u003ePequeno\u003c\/span\u003e \u003cspan\u003eGrande\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cb\u003eElegância urbana, sustentabilidade e respeito absoluto pela biomecânica dos teus pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas \u003cb\u003eVictoria Olmo Barefoot\u003c\/b\u003e combinam um design intemporal e versátil com os princípios do calçado respeitador (\u003ci\u003ebarefoot\u003c\/i\u003e). Produzidas artesanalmente em Espanha com pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) em tons neutros e bege, destacam-se pelos contrastes dinâmicos com a icónica \"V\" da marca e a peça traseira em material de efeito pele branca.\u003c\/p\u003e\n\u003cp\u003eUm modelo pensado para quem procura cuidar da saúde postural e articular no dia a dia, fazendo parte da linha sustentável \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFabrico nacional (Espanha):\u003c\/b\u003e Qualidade superior, acabamentos artesanais e durabilidade.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eCompromisso sustentável (\u003ci\u003eDear World\u003c\/i\u003e):\u003c\/b\u003e Produzidas com processos e materiais amigos do ambiente.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais nobres:\u003c\/b\u003e Exterior em pele aveludada suave e flexível, com atacadores redondos brancos.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola TR flexível:\u003c\/b\u003e Sola em cor caramelo com excelente aderência e flexibilidade total, permitindo que o pé se mova de forma 100% natural.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e🔄 \u003cb\u003eInovação: Sistema de Dupla Palmilha (Adaptação Progressiva)\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cp\u003ePerfeitas tanto para quem já está habituado ao calçado minimalista como para quem procura dar o primeiro passo. Incluem \u003cb\u003eduas palmilhas removíveis\u003c\/b\u003e para escolheres a tua experiência ao caminhar:\u003c\/p\u003e\n\u003col start=\"1\"\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha de Transição (Drop de 3 mm):\u003c\/b\u003e Ideal para quem está a habituar o corpo e procura uma adaptação gradual e suave.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha Barefoot (Drop 0):\u003c\/b\u003e Para uma experiência totalmente natural, plana e sem inclinação.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDrop:\u003c\/b\u003e Opção de 0 mm ou 3 mm (conforme a palmilha escolhida).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível (ambas incluídas na caixa).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TR flexível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSustentabilidade:\u003c\/b\u003e Modelo \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"36","offer_id":58763643781445,"sku":"186103B-1","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"37","offer_id":58763643814213,"sku":"186103B-2","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"38","offer_id":58763643846981,"sku":"186103B-3","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"39","offer_id":58763643879749,"sku":"186103B-4","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"40","offer_id":58763643912517,"sku":"186103B-5","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"41","offer_id":58763643945285,"sku":"186103B-6","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"42","offer_id":58763643978053,"sku":"186103B-7","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"43","offer_id":58763644010821,"sku":"186103B-8","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"44","offer_id":58763644043589,"sku":"186103B-9","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"45","offer_id":58763644076357,"sku":"186103B-10","price":89.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1186103_80_001.jpg?v=1785842468"},{"product_id":"victoria-olmo-serrage-terra","title":"Victoria Olmo Serrage Terra","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 36, length: 236, width: 83 },\n    { size: 37, length: 242, width: 85 },\n    { size: 38, length: 249, width: 86 },\n    { size: 39, length: 255, width: 88 },\n    { size: 40, length: 260, width: 89 },\n    { size: 41, length: 266, width: 91 },\n    { size: 42, length: 271, width: 92 },\n    { size: 43, length: 276, width: 93 },\n    { size: 44, length: 282, width: 94 },\n    { size: 45, length: 289, width: 95 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pé para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 36\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 45\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 36\" || recommendedSize === \"Acima do 45\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 36\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo.\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 36 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível .\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 45.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cp\u003e\u003cb\u003eElegância urbana, sustentabilidade e respeito absoluto pela biomecânica dos teus pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas \u003cb\u003eVictoria Olmo Barefoot\u003c\/b\u003e combinam um design intemporal e versátil com os princípios do calçado respeitador (\u003ci\u003ebarefoot\u003c\/i\u003e). Produzidas artesanalmente em Espanha com pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) em tons neutros e bege, destacam-se pelos contrastes dinâmicos com a icónica \"V\" da marca e a peça traseira em material de efeito pele branca.\u003c\/p\u003e\n\u003cp\u003eUm modelo pensado para quem procura cuidar da saúde postural e articular no dia a dia, fazendo parte da linha sustentável \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFabrico nacional (Espanha):\u003c\/b\u003e Qualidade superior, acabamentos artesanais e durabilidade.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eCompromisso sustentável (\u003ci\u003eDear World\u003c\/i\u003e):\u003c\/b\u003e Produzidas com processos e materiais amigos do ambiente.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais nobres:\u003c\/b\u003e Exterior em pele aveludada suave e flexível, com atacadores redondos brancos.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola TR flexível:\u003c\/b\u003e Sola em cor caramelo com excelente aderência e flexibilidade total, permitindo que o pé se mova de forma 100% natural.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e🔄 \u003cb\u003eInovação: Sistema de Dupla Palmilha (Adaptação Progressiva)\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cp\u003ePerfeitas tanto para quem já está habituado ao calçado minimalista como para quem procura dar o primeiro passo. Incluem \u003cb\u003eduas palmilhas removíveis\u003c\/b\u003e para escolheres a tua experiência ao caminhar:\u003c\/p\u003e\n\u003col start=\"1\"\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha de Transição (Drop de 3 mm):\u003c\/b\u003e Ideal para quem está a habituar o corpo e procura uma adaptação gradual e suave.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha Barefoot (Drop 0):\u003c\/b\u003e Para uma experiência totalmente natural, plana e sem inclinação.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDrop:\u003c\/b\u003e Opção de 0 mm ou 3 mm (conforme a palmilha escolhida).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível (ambas incluídas na caixa).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TR flexível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSustentabilidade:\u003c\/b\u003e Modelo \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"36","offer_id":58764714246469,"sku":"1186103T-1","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"37","offer_id":58764714279237,"sku":"1186103T-2","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"38","offer_id":58764714312005,"sku":"1186103T-3","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"39","offer_id":58764714344773,"sku":"1186103T-4","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"40","offer_id":58764714377541,"sku":"1186103T-5","price":89.9,"currency_code":"EUR","in_stock":false},{"title":"41","offer_id":58764714410309,"sku":"1186103T-6","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"42","offer_id":58764714443077,"sku":"1186103T-7","price":89.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1186103_79_001.jpg?v=1759926571"},{"product_id":"victoria-oliver-burdeos","title":"Victoria Oliver Burdeos","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 22, length: 148, width: 65 },\n    { size: 23, length: 153, width: 66 },\n    { size: 24, length: 161, width: 67 },\n    { size: 25, length: 168, width: 69 },\n    { size: 26, length: 175, width: 70 },\n    { size: 27, length: 181, width: 71 },\n    { size: 28, length: 187, width: 73 },\n    { size: 29, length: 192, width: 76 },\n    { size: 30, length: 199, width: 77 },\n    { size: 31, length: 207, width: 79 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eEstilo clássico, máxima resistência e respeito absoluto pelo desenvolvimento dos pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas desportivas \u003cb\u003eVictoria Oliver Barefoot\u003c\/b\u003e combinam um design versátil e intemporal com os princípios do calçado respeitador. Fabricadas num material de efeito pele branca com elegantes reforços em pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) e um apontamento brilhante com a icónica \"V\" da marca em \u003ci\u003eglitter\u003c\/i\u003e bordéus na lateral.\u003c\/p\u003e\n\u003cp\u003ePensadas para acompanhar o ritmo intenso das crianças no dia a dia (e na escola), contam com um prático sistema de fecho por tiras aderentes (duas tiras, passando a três tiras a partir do tamanho 36) que promove a autonomia dos miúdos e garante uma fixação perfeita. Dispõem ainda de uma sola em TPR cor caramelo com reforço na biqueira, oferecendo uma durabilidade extra contra o desgaste.\u003c\/p\u003e\n\u003cp\u003e\u003ci\u003e(Nota de tamanho: Recomendação do fabricante — escolhe um tamanho abaixo do habitual).\u003c\/i\u003e\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDesign Respetador (\u003ci\u003eBarefoot\u003c\/i\u003e):\u003c\/b\u003e Respeita a anatomia e a liberdade de movimentos natural do pé.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais duráveis:\u003c\/b\u003e Exterior em efeito pele e pele aveludada, com reforço de proteção na biqueira em TPR.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFácil autonomia:\u003c\/b\u003e Fecho com tiras aderentes práticas para que as crianças se calçem sozinhas (2 tiras até ao tamanho 35, 3 tiras a partir do tamanho 36).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola em TPR flexível:\u003c\/b\u003e Sola em cor caramelo que garante aderência e flexibilidade a cada passo.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Escola \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFecho:\u003c\/b\u003e Tiras aderentes (velcro).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TPR com biqueira reforçada.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"24","offer_id":58765846118725,"sku":"1356106B-1","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58765846151493,"sku":"1356106B-2","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58765846184261,"sku":"1356106B-3","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58765846217029,"sku":"1356106B-4","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58765846249797,"sku":"1356106B-5","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58765846282565,"sku":"1356106B-6","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58765846315333,"sku":"1356106B-7","price":49.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1356106_41_000.jpg?v=1785851066"},{"product_id":"victoria-oliver-marron","title":"Victoria Oliver Marron","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 22, length: 148, width: 65 },\n    { size: 23, length: 153, width: 66 },\n    { size: 24, length: 161, width: 67 },\n    { size: 25, length: 168, width: 69 },\n    { size: 26, length: 175, width: 70 },\n    { size: 27, length: 181, width: 71 },\n    { size: 28, length: 187, width: 73 },\n    { size: 29, length: 192, width: 76 },\n    { size: 30, length: 199, width: 77 },\n    { size: 31, length: 207, width: 79 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eEstilo clássico, máxima resistência e respeito absoluto pelo desenvolvimento dos pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas desportivas \u003cb\u003eVictoria Oliver Barefoot\u003c\/b\u003e combinam um design versátil e intemporal com os princípios do calçado respeitador. Fabricadas num material de efeito pele branca com elegantes reforços em pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) e um apontamento brilhante com a icónica \"V\" da marca em \u003ci\u003eglitter\u003c\/i\u003e bordéus na lateral.\u003c\/p\u003e\n\u003cp\u003ePensadas para acompanhar o ritmo intenso das crianças no dia a dia (e na escola), contam com um prático sistema de fecho por tiras aderentes (duas tiras, passando a três tiras a partir do tamanho 36) que promove a autonomia dos miúdos e garante uma fixação perfeita. Dispõem ainda de uma sola em TPR cor caramelo com reforço na biqueira, oferecendo uma durabilidade extra contra o desgaste.\u003c\/p\u003e\n\u003cp\u003e\u003ci\u003e(Nota de tamanho: Recomendação do fabricante — escolhe um tamanho abaixo do habitual).\u003c\/i\u003e\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDesign Respetador (\u003ci\u003eBarefoot\u003c\/i\u003e):\u003c\/b\u003e Respeita a anatomia e a liberdade de movimentos natural do pé.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais duráveis:\u003c\/b\u003e Exterior em efeito pele e pele aveludada, com reforço de proteção na biqueira em TPR.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFácil autonomia:\u003c\/b\u003e Fecho com tiras aderentes práticas para que as crianças se calçem sozinhas (2 tiras até ao tamanho 35, 3 tiras a partir do tamanho 36).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola em TPR flexível:\u003c\/b\u003e Sola em cor caramelo que garante aderência e flexibilidade a cada passo.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Escola \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFecho:\u003c\/b\u003e Tiras aderentes (velcro).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TPR com biqueira reforçada.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"24","offer_id":58765929578821,"sku":"1356107M-1","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58765929611589,"sku":"1356107M-2","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58765929644357,"sku":"1356107M-3","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58765929677125,"sku":"1356107M-4","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58765929709893,"sku":"1356107M-5","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58765929742661,"sku":"1356107M-6","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58765929775429,"sku":"1356107M-7","price":49.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1356107_70_000.jpg?v=1785852090"},{"product_id":"victoria-botim-oliver-burdeos","title":"Victoria Botim Oliver Burdeos","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n\u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n\u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n\u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n\u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003eIntroduz as medidas do pé para calcular.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box; background: linear-gradient(to right,                     #e74c3c 0%, #e74c3c 40%,                     #2ecc71 40%, #2ecc71 60%,                     #e74c3c 60%, #e74c3c 100%                  );\"\u003e\n\u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n\u003cspan\u003ePequeno\u003c\/span\u003e \u003cspan\u003eGrande\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eO conforto dos dias mais frios com o respeito absoluto pelo crescimento dos pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eOs botins \u003cb\u003eVictoria Oliver Barefoot\u003c\/b\u003e combinam um design clássico e versátil com os princípios do calçado respeitador, sendo perfeitos para manter os pés dos mais novos quentes e livres durante a nova estação. Fabricados artesanalmente em suave pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) em tom bordéus, destacam-se pelos elegantes pespontos a contraste.\u003c\/p\u003e\n\u003cp\u003ePensados para o dia a dia e para o ritmo intenso da escola, contam com um prático fecho por tira aderente (velcro) que promove a autonomia das crianças ao calçarem-se e garante uma fixação firme. Dispõem ainda de uma sola em TPR cor caramelo com um útil reforço na biqueira, oferecendo uma durabilidade extra contra o desgaste natural das brincadeiras.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDesign Respetador (\u003ci\u003eBarefoot\u003c\/i\u003e):\u003c\/b\u003e Respeita a anatomia e a liberdade de movimentos natural do pé em desenvolvimento.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePele aveludada premium:\u003c\/b\u003e Exterior flexível, quente e agradável ao toque, com pespontos decorativos a contraste.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFácil autonomia:\u003c\/b\u003e Fecho com tira aderente prática para que as crianças consigam calçar-se sozinhas.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola em TPR durável:\u003c\/b\u003e Sola em cor caramelo com reforço de proteção na biqueira para maior resistência ao uso diário.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Escola \/ Outono-Inverno.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFecho:\u003c\/b\u003e Tira aderente (velcro).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TPR flexível com biqueira reforçada.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"24","offer_id":58765971226949,"sku":"1356108B-1","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58765971259717,"sku":"1356108B-2","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58765971292485,"sku":"1356108B-3","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58765971325253,"sku":"1356108B-4","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58765971358021,"sku":"1356108B-5","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58765971390789,"sku":"1356108B-6","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58765971423557,"sku":"1356108B-7","price":49.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1356108_41_000.jpg?v=1785852663"},{"product_id":"victoria-botim-oliver-camel","title":"Victoria Botim Oliver Camel","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n\u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n\u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n\u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n\u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003eIntroduz as medidas do pé para calcular.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box; background: linear-gradient(to right,                     #e74c3c 0%, #e74c3c 40%,                     #2ecc71 40%, #2ecc71 60%,                     #e74c3c 60%, #e74c3c 100%                  );\"\u003e\n\u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n\u003cspan\u003ePequeno\u003c\/span\u003e \u003cspan\u003eGrande\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cb\u003eO conforto dos dias mais frios com o respeito absoluto pelo crescimento dos pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eOs botins \u003cb\u003eVictoria Oliver Barefoot\u003c\/b\u003e combinam um design clássico e versátil com os princípios do calçado respeitador, sendo perfeitos para manter os pés dos mais novos quentes e livres durante a nova estação. Fabricados artesanalmente em suave pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) em tom bordéus, destacam-se pelos elegantes pespontos a contraste.\u003c\/p\u003e\n\u003cp\u003ePensados para o dia a dia e para o ritmo intenso da escola, contam com um prático fecho por tira aderente (velcro) que promove a autonomia das crianças ao calçarem-se e garante uma fixação firme. Dispõem ainda de uma sola em TPR cor caramelo com um útil reforço na biqueira, oferecendo uma durabilidade extra contra o desgaste natural das brincadeiras.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDesign Respetador (\u003ci\u003eBarefoot\u003c\/i\u003e):\u003c\/b\u003e Respeita a anatomia e a liberdade de movimentos natural do pé em desenvolvimento.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePele aveludada premium:\u003c\/b\u003e Exterior flexível, quente e agradável ao toque, com pespontos decorativos a contraste.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFácil autonomia:\u003c\/b\u003e Fecho com tira aderente prática para que as crianças consigam calçar-se sozinhas.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola em TPR durável:\u003c\/b\u003e Sola em cor caramelo com reforço de proteção na biqueira para maior resistência ao uso diário.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Escola \/ Outono-Inverno.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFecho:\u003c\/b\u003e Tira aderente (velcro).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TPR flexível com biqueira reforçada.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"24","offer_id":58766005928261,"sku":"1356108C-1","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58766005961029,"sku":"1356108C-2","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58766005993797,"sku":"1356108C-3","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58766006026565,"sku":"1356108C-4","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58766006059333,"sku":"1356108C-5","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58766006092101,"sku":"1356108C-6","price":49.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58766006124869,"sku":"1356108C-7","price":49.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1356108_87_001.jpg?v=1785853073"},{"product_id":"victoria-kai-taupe","title":"Victoria Kai Taupe","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 22, length: 140, width: 62 },\n    { size: 23, length: 145, width: 64 },\n    { size: 24, length: 153, width: 65 },\n    { size: 25, length: 160, width: 66 },\n    { size: 26, length: 165, width: 69 },\n    { size: 27, length: 171, width: 70 },\n    { size: 28, length: 178, width: 72 },\n    { size: 29, length: 185, width: 73 },\n    { size: 30, length: 190, width: 75 },\n    { size: 31, length: 197, width: 76 },\n    { size: 32, length: 204, width: 79 },\n    { size: 33, length: 210, width: 80 },\n    { size: 34, length: 220, width: 80 },\n    { size: 35, length: 227, width: 80 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\n\n\n\u003cp\u003e\u003cb\u003eA combinação perfeita de autonomia, fixação e liberdade para os pés dos mais novos.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas desportivas \u003cb\u003eVictoria Kai Barefoot\u003c\/b\u003e foram desenhadas para acompanhar o ritmo diário das crianças, cuidando ao mesmo tempo do seu desenvolvimento natural. Num atraente tom bordéus, combinam um tecido de malha respirável com peças de efeito pele aveludada e a icónica \"V\" da Victoria na lateral.\u003c\/p\u003e\n\u003cp\u003ePensadas para facilitar o dia a dia de pais e filhos, contam com um sistema de fecho que une \u003cb\u003ecordão elástico e tira aderente (velcro)\u003c\/b\u003e, promovendo a autonomia dos miúdos ao calçarem-se e garantindo uma fixação firme. Além disso, incorporam duplo puxador (na língua e no calcanhar) para tornar o calce ainda mais simples.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eCaracterísticas Principais:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDesign Respetador (\u003ci\u003eBarefoot\u003c\/i\u003e):\u003c\/b\u003e Respeita a anatomia e o movimento natural do pé em pleno crescimento.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais respiráveis e resistentes:\u003c\/b\u003e Exterior de malha leve com reforços de efeito pele aveludada e detalhes em TPU.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFácil autonomia:\u003c\/b\u003e Sistema combinado de cordão elástico e fecho aderente, ideal para que as crianças as calçamycin sozinhas.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDuplo puxador:\u003c\/b\u003e Facilitam a colocação rápida tanto na língua como na parte traseira.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola de phylon e borracha:\u003c\/b\u003e Sola flexível em cor castanho chocolate com um divertido efeito pintalgado e patinhão de borracha para uma aderência otimizada.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Escola \/ Atividades infantis.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFecho:\u003c\/b\u003e Cordão elástico + tira aderente.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"22","offer_id":58766133363013,"sku":"1172102T-1","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58766133395781,"sku":"1172102T-2","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58766133428549,"sku":"1172102T-3","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58766133461317,"sku":"1172102T-4","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58766133494085,"sku":"1172102T-5","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58766133526853,"sku":"1172102T-6","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58766133559621,"sku":"1172102T-7","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58766133592389,"sku":"1172102T-8","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58766133625157,"sku":"1172102T-9","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"31","offer_id":58766147354949,"sku":"1172102T-10","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"32","offer_id":58766147387717,"sku":"1172102T-11","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"33","offer_id":58766147420485,"sku":"1172102T-12","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"34","offer_id":58766147453253,"sku":"1172102T-13","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"35","offer_id":58766147486021,"sku":"1172102T-14","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1172102_82_000.jpg?v=1785854768"},{"product_id":"victoria-olmo-serrage-oliva","title":"Victoria Olmo Serrage Oliva","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 36, length: 236, width: 83 },\n    { size: 37, length: 242, width: 85 },\n    { size: 38, length: 249, width: 86 },\n    { size: 39, length: 255, width: 88 },\n    { size: 40, length: 260, width: 89 },\n    { size: 41, length: 266, width: 91 },\n    { size: 42, length: 271, width: 92 },\n    { size: 43, length: 276, width: 93 },\n    { size: 44, length: 282, width: 94 },\n    { size: 45, length: 289, width: 95 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pé para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 36\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 45\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 36\" || recommendedSize === \"Acima do 45\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 36\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo.\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 36 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível .\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 45.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cp\u003e\u003cb\u003eElegância urbana, sustentabilidade e respeito absoluto pela biomecânica dos teus pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas \u003cb\u003eVictoria Olmo Barefoot\u003c\/b\u003e combinam um design intemporal e versátil com os princípios do calçado respeitador (\u003ci\u003ebarefoot\u003c\/i\u003e). Produzidas artesanalmente em Espanha com pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) em tons neutros e bege, destacam-se pelos contrastes dinâmicos com a icónica \"V\" da marca e a peça traseira em material de efeito pele branca.\u003c\/p\u003e\n\u003cp\u003eUm modelo pensado para quem procura cuidar da saúde postural e articular no dia a dia, fazendo parte da linha sustentável \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFabrico nacional (Espanha):\u003c\/b\u003e Qualidade superior, acabamentos artesanais e durabilidade.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eCompromisso sustentável (\u003ci\u003eDear World\u003c\/i\u003e):\u003c\/b\u003e Produzidas com processos e materiais amigos do ambiente.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais nobres:\u003c\/b\u003e Exterior em pele aveludada suave e flexível, com atacadores redondos brancos.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola TR flexível:\u003c\/b\u003e Sola em cor caramelo com excelente aderência e flexibilidade total, permitindo que o pé se mova de forma 100% natural.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e🔄 \u003cb\u003eInovação: Sistema de Dupla Palmilha (Adaptação Progressiva)\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cp\u003ePerfeitas tanto para quem já está habituado ao calçado minimalista como para quem procura dar o primeiro passo. Incluem \u003cb\u003eduas palmilhas removíveis\u003c\/b\u003e para escolheres a tua experiência ao caminhar:\u003c\/p\u003e\n\u003col start=\"1\"\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha de Transição (Drop de 3 mm):\u003c\/b\u003e Ideal para quem está a habituar o corpo e procura uma adaptação gradual e suave.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha Barefoot (Drop 0):\u003c\/b\u003e Para uma experiência totalmente natural, plana e sem inclinação.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDrop:\u003c\/b\u003e Opção de 0 mm ou 3 mm (conforme a palmilha escolhida).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível (ambas incluídas na caixa).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TR flexível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSustentabilidade:\u003c\/b\u003e Modelo \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Victoria","offers":[{"title":"36","offer_id":58766376993093,"sku":"1186103O-1","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"37","offer_id":58766377025861,"sku":"1186103O-2","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"38","offer_id":58766377058629,"sku":"1186103O-3","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"39","offer_id":58766377091397,"sku":"1186103O-4","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"40","offer_id":58766377124165,"sku":"1186103O-5","price":89.9,"currency_code":"EUR","in_stock":false},{"title":"41","offer_id":58766377156933,"sku":"1186103O-6","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"42","offer_id":58766377189701,"sku":"1186103O-7","price":89.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1186103_68_000.jpg?v=1759926571"},{"product_id":"victoria-olmo-serrage-chocolate","title":"Victoria Olmo Serrage Chocolate","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pé para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 36, length: 236, width: 83 },\n    { size: 37, length: 242, width: 85 },\n    { size: 38, length: 249, width: 86 },\n    { size: 39, length: 255, width: 88 },\n    { size: 40, length: 260, width: 89 },\n    { size: 41, length: 266, width: 91 },\n    { size: 42, length: 271, width: 92 },\n    { size: 43, length: 276, width: 93 },\n    { size: 44, length: 282, width: 94 },\n    { size: 45, length: 289, width: 95 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pé para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 36\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 45\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 36\" || recommendedSize === \"Acima do 45\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 36\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo.\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 36 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível .\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 45.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\n\u003c\/script\u003e\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cp\u003e\u003cb\u003eElegância urbana, sustentabilidade e respeito absoluto pela biomecânica dos teus pés.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas \u003cb\u003eVictoria Olmo Barefoot\u003c\/b\u003e combinam um design intemporal e versátil com os princípios do calçado respeitador (\u003ci\u003ebarefoot\u003c\/i\u003e). Produzidas artesanalmente em Espanha com pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) em tons neutros e bege, destacam-se pelos contrastes dinâmicos com a icónica \"V\" da marca e a peça traseira em material de efeito pele branca.\u003c\/p\u003e\n\u003cp\u003eUm modelo pensado para quem procura cuidar da saúde postural e articular no dia a dia, fazendo parte da linha sustentável \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFabrico nacional (Espanha):\u003c\/b\u003e Qualidade superior, acabamentos artesanais e durabilidade.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eCompromisso sustentável (\u003ci\u003eDear World\u003c\/i\u003e):\u003c\/b\u003e Produzidas com processos e materiais amigos do ambiente.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eMateriais nobres:\u003c\/b\u003e Exterior em pele aveludada suave e flexível, com atacadores redondos brancos.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola TR flexível:\u003c\/b\u003e Sola em cor caramelo com excelente aderência e flexibilidade total, permitindo que o pé se mova de forma 100% natural.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e🔄 \u003cb\u003eInovação: Sistema de Dupla Palmilha (Adaptação Progressiva)\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cp\u003ePerfeitas tanto para quem já está habituado ao calçado minimalista como para quem procura dar o primeiro passo. Incluem \u003cb\u003eduas palmilhas removíveis\u003c\/b\u003e para escolheres a tua experiência ao caminhar:\u003c\/p\u003e\n\u003col start=\"1\"\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha de Transição (Drop de 3 mm):\u003c\/b\u003e Ideal para quem está a habituar o corpo e procura uma adaptação gradual e suave.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha Barefoot (Drop 0):\u003c\/b\u003e Para uma experiência totalmente natural, plana e sem inclinação.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDrop:\u003c\/b\u003e Opção de 0 mm ou 3 mm (conforme a palmilha escolhida).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível (ambas incluídas na caixa).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e TR flexível.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSustentabilidade:\u003c\/b\u003e Modelo \u003ci\u003eDear World\u003c\/i\u003e.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victoria","offers":[{"title":"36","offer_id":58766491124037,"sku":"1186103C-1","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"37","offer_id":58766491156805,"sku":"1186103C-2","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"38","offer_id":58766491189573,"sku":"1186103C-3","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"39","offer_id":58766491222341,"sku":"1186103C-4","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"40","offer_id":58766491255109,"sku":"1186103C-5","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"41","offer_id":58766491287877,"sku":"1186103C-6","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"42","offer_id":58766491320645,"sku":"1186103C-7","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"43","offer_id":58766491353413,"sku":"1186103C-8","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"44","offer_id":58766491386181,"sku":"1186103C-9","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"45","offer_id":58766491418949,"sku":"1186103C-10","price":89.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1186103_73_000.jpg?v=1785857340"},{"product_id":"victoria-duna-serrage-marron","title":"Victoria Duna Serrage Marron","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n\u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n\u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n\u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n\u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n\u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003eIntroduz as medidas do pezinho para calcular.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n\u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box; background: linear-gradient(to right,                     #e74c3c 0%, #e74c3c 40%,                     #2ecc71 40%, #2ecc71 60%,                     #e74c3c 60%, #e74c3c 100%                  );\"\u003e\n\u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n\u003cspan\u003ePequeno\u003c\/span\u003e \u003cspan\u003eGrande\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"markdown markdown-main-panel enable-luminous-fast-follows enable-updated-hr-color md-content\" id=\"model-response-message-contentr_ec933cfa966a6ccb\" dir=\"ltr\"\u003e\n\u003cp\u003eAquí tienes la descripción optimizada para Shopify de este modelo, redactada estrictamente en \u003cb\u003ePT-PT\u003c\/b\u003e (Português de Portugal) y alineada con la identidad de la marca \u003cb\u003eruut\u003c\/b\u003e:\u003c\/p\u003e\n\u003ch3\u003e\u003cb\u003eVictoria Duna Barefoot Camurça Castanha\u003c\/b\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cb\u003eEstilo intemporal, respirabilidade e o respeito absoluto que os teus pés merecem.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eAs sapatilhas unissexo \u003cb\u003eVictoria Duna Barefoot\u003c\/b\u003e combinam um design clássico e versátil com os princípios do calçado respeitador. Fabricadas artesanalmente em suave pele aveludada (\u003ci\u003eserraje\u003c\/i\u003e) em tom castanho, destacam-se pela biqueira perfurada, desenhada especificamente para potenciar a circulação de ar e favorecer a respirabilidade ao longo de todo o dia.\u003c\/p\u003e\n\u003cp\u003eCom um sistema de fecho por duplo cordão liso ao tom e uma sola de borracha flexível em cor caramelo, são o modelo ideal para quem procura aliar o conforto urbano à saúde biomecânica e articular.\u003c\/p\u003e\n\u003ch4\u003e✨ \u003cb\u003eDestaques \u0026amp; Conforto:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eFabrico nacional (Espanha):\u003c\/b\u003e Qualidade superior, acabamentos artesanais e durabilidade garantida.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePele aveludada nobre:\u003c\/b\u003e Exterior flexível e agradável ao toque.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eBiqueira perfurada:\u003c\/b\u003e Melhora a ventilação e o conforto térmico do pé.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola de borracha flexível:\u003c\/b\u003e Sola em cor caramelo que garante aderência ótima e uma flexibilidade total a cada passo.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003e🔄 \u003cb\u003eInovação: Sistema de Dupla Palmilha (Adaptação Progressiva)\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cp\u003ePerfeitas tanto para quem já está habituado ao calçado minimalista como para quem procura dar o primeiro passo. Incluem \u003cb\u003eduas palmilhas removíveis\u003c\/b\u003e para escolheres a tua experiência ao caminhar:\u003c\/p\u003e\n\u003col start=\"1\"\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha de Transição (Drop de 4 mm):\u003c\/b\u003e Ideal para quem está a habituar o corpo e procura uma adaptação gradual e suave.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha Barefoot (Drop 0):\u003c\/b\u003e Para uma experiência totalmente natural, plana e sem inclinação.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch4\u003e📋 \u003cb\u003eDetalhes Técnicos:\u003c\/b\u003e\n\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eUso:\u003c\/b\u003e Diário \/ Urbano.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eDrop:\u003c\/b\u003e Opção de 0 mm ou 4 mm (conforme a palmilha escolhida).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003ePalmilha:\u003c\/b\u003e Removível (ambas incluídas na caixa).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cb\u003eSola:\u003c\/b\u003e Borracha flexível (cor caramelo).\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e","brand":"Victoria","offers":[{"title":"40","offer_id":58766737473861,"sku":"1187100M-1","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"41","offer_id":58766737506629,"sku":"1187100M-2","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"42","offer_id":58766737539397,"sku":"1187100M-3","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"43","offer_id":58766737572165,"sku":"1187100M-4","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"44","offer_id":58766737604933,"sku":"1187100M-5","price":89.9,"currency_code":"EUR","in_stock":true},{"title":"45","offer_id":58766737637701,"sku":"1187100M-6","price":89.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1187100_70_000.jpg?v=1785857683"},{"product_id":"victoria-bosco-cuero","title":"Victoria Bosco Cuero","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 129, width: 60 },\n    { size: 21, length: 136, width: 61 },\n    { size: 22, length: 142, width: 64 },\n    { size: 23, length: 149, width: 65 },\n    { size: 24, length: 155, width: 67 },\n    { size: 25, length: 160, width: 68 },\n    { size: 26, length: 168, width: 72 },\n    { size: 27, length: 175, width: 74 },\n    { size: 28, length: 180, width: 76 },\n    { size: 29, length: 188, width: 77 },\n    { size: 30, length: 196, width: 79 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\u003c\/script\u003e","brand":"Victoria","offers":[{"title":"20","offer_id":58774942024005,"sku":"1370118C-1","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58774942056773,"sku":"1370118C-2","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58774942089541,"sku":"1370118C-3","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58774942122309,"sku":"1370118C-4","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58774942155077,"sku":"1370118C-5","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58774942187845,"sku":"1370118C-6","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58774942220613,"sku":"1370118C-7","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58774942253381,"sku":"1370118C-8","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58774942286149,"sku":"1370118C-9","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58774942318917,"sku":"1370118C-10","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58774942351685,"sku":"1370118C-11","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1370118_71_000.jpg?v=1785921482"},{"product_id":"victoria-bosco-malva","title":"Victoria Bosco Malva","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 129, width: 60 },\n    { size: 21, length: 136, width: 61 },\n    { size: 22, length: 142, width: 64 },\n    { size: 23, length: 149, width: 65 },\n    { size: 24, length: 155, width: 67 },\n    { size: 25, length: 160, width: 68 },\n    { size: 26, length: 168, width: 72 },\n    { size: 27, length: 175, width: 74 },\n    { size: 28, length: 180, width: 76 },\n    { size: 29, length: 188, width: 77 },\n    { size: 30, length: 196, width: 79 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\u003c\/script\u003e","brand":"Victoria","offers":[{"title":"20","offer_id":58775342088517,"sku":"1370118M-1","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58775342121285,"sku":"1370118M-2","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58775342154053,"sku":"1370118M-3","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58775342186821,"sku":"1370118M-4","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58775342219589,"sku":"1370118M-5","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58775342252357,"sku":"1370118M-6","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58775342285125,"sku":"1370118M-7","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58775342317893,"sku":"1370118M-8","price":59.9,"currency_code":"EUR","in_stock":false},{"title":"28","offer_id":58775342350661,"sku":"1370118M-9","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58775342383429,"sku":"1370118M-10","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58775342416197,"sku":"1370118M-11","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1370118_94_000.jpg?v=1785924786"},{"product_id":"victoria-bosco-botim-marino","title":"Victoria Bosco Botim Marino","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 129, width: 60 },\n    { size: 21, length: 136, width: 61 },\n    { size: 22, length: 142, width: 64 },\n    { size: 23, length: 149, width: 65 },\n    { size: 24, length: 155, width: 67 },\n    { size: 25, length: 160, width: 68 },\n    { size: 26, length: 168, width: 72 },\n    { size: 27, length: 175, width: 74 },\n    { size: 28, length: 180, width: 76 },\n    { size: 29, length: 188, width: 77 },\n    { size: 30, length: 196, width: 79 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\u003c\/script\u003e","brand":"Victoria","offers":[{"title":"20","offer_id":58775442489669,"sku":"1370121M-1","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58775442522437,"sku":"1370121M-2","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58775442555205,"sku":"1370121M-3","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58775442587973,"sku":"1370121M-4","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58775442620741,"sku":"1370121M-5","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58775442653509,"sku":"1370121M-6","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58775442686277,"sku":"1370121M-7","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58775442719045,"sku":"1370121M-8","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58775442751813,"sku":"1370121M-9","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58775442784581,"sku":"1370121M-10","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58775442817349,"sku":"1370121M-11","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1370121_30_000.jpg?v=1785925239"},{"product_id":"victoria-bosco-botim-taupe","title":"Victoria Bosco Botim Taupe","description":"\u003cdiv id=\"ruut-calculator-container\" style=\"max-width: 420px; margin: 20px auto; padding: 25px; border: 1px solid #e6e3dd; border-radius: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #faf9f6; box-sizing: border-box; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: left;\"\u003e\n  \n  \u003ch3 style=\"text-align: center; color: #1a1a1a; margin-top: 0; margin-bottom: 8px; font-size: 1.3em; font-weight: bold; border: none; padding: 0;\"\u003eCalculadora de Tamanhos\u003c\/h3\u003e\n  \u003cp style=\"text-align: center; color: #666; font-size: 0.88em; margin-bottom: 25px; line-height: 1.4; padding: 0; margin-top: 0;\"\u003eInsere as medidas em milímetros (mm) para ver o tamanho ideal.\u003c\/p\u003e\n\n  \u003cdiv style=\"display: flex; gap: 12px; margin-bottom: 25px; box-sizing: border-box; width: 100%; align-items: flex-start; justify-content: space-between;\"\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-length\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eComprimento (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-length\" placeholder=\"Ex: 140\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"flex: 1; min-width: 0; box-sizing: border-box; display: block; margin: 0; padding: 0;\"\u003e\n      \u003clabel for=\"foot-width\" style=\"display: block; font-weight: bold; font-size: 0.78em; color: #444; margin-top: 0; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.2; height: 16px; overflow: hidden; white-space: nowrap;\"\u003eLargura (mm):\u003c\/label\u003e\n      \u003cinput type=\"number\" id=\"foot-width\" placeholder=\"Ex: 60 (Opcional)\" oninput=\"calculateRuutSizeInstant()\" style=\"width: 100%; height: 42px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 0.95em; box-sizing: border-box; outline: none; background: #fff; margin: 0; -webkit-appearance: none; -moz-appearance: textfield;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv id=\"calculator-result-box\" style=\"background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #eaeaea; box-sizing: border-box; min-height: 100px; display: block;\"\u003e\n    \n    \u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; gap: 10px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"flex: 1; box-sizing: border-box;\"\u003e\n        \u003cspan style=\"font-size: 0.8em; color: #777; text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 4px; font-weight: bold;\"\u003eTamanho Recomendado:\u003c\/span\u003e\n        \u003cdiv id=\"calc_result_details\" style=\"font-size: 0.9em; color: #555; line-height: 1.4;\"\u003e\n          Introduz as medidas do pezinho para calcular.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv id=\"calc_result_size\" style=\"font-size: 2.8em; font-weight: bold; color: #ddd; line-height: 1; text-align: right; min-width: 60px; box-sizing: border-box;\"\u003e--\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv id=\"ruut-ruler-wrapper\" style=\"display: none; margin-top: 15px; border-top: 1px solid #eee; padding-top: 15px; box-sizing: border-box;\"\u003e\n      \u003cdiv style=\"font-size: 0.78em; font-weight: bold; color: #555; margin-bottom: 12px; text-align: center; text-transform: uppercase; letter-spacing: 0.5px;\"\u003eEspaço Livre no Sapato (Folga)\u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 20px; border-radius: 10px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); box-sizing: border-box;\n                  background: linear-gradient(to right, \n                    #e74c3c 0%, #e74c3c 40%, \n                    #2ecc71 40%, #2ecc71 60%, \n                    #e74c3c 60%, #e74c3c 100%\n                  );\"\u003e\n        \n        \u003cspan style=\"position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.7em; font-weight: bold; pointer-events: none; letter-spacing: 1px;\"\u003eIDEAL (8-12mm)\u003c\/span\u003e\n\n        \u003cdiv id=\"ruler-marker\" style=\"position: absolute; top: -4px; left: 0%; width: 4px; height: 28px; background: #000; border-radius: 2px; transform: translateX(-50%); box-shadow: 0 0 3px rgba(255,255,255,0.9); transition: left 0.3s ease-out; z-index: 10;\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; box-sizing: border-box;\"\u003e\n        \u003cspan id=\"ruler-arrow\" style=\"position: absolute; left: 0%; transform: translateX(-50%); font-size: 14px; color: #333; transition: left 0.3s ease-out; line-height: 1;\"\u003e▲\u003c\/span\u003e\n      \u003c\/div\u003e\n      \n      \u003cdiv style=\"position: relative; width: 100%; height: 16px; margin-top: 2px; font-size: 0.72em; color: #777; font-family: monospace; box-sizing: border-box; display: flex; justify-content: space-between;\"\u003e\n        \u003cspan\u003ePequeno\u003c\/span\u003e\n        \u003cspan\u003eGrande\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ Tabela de medidas oficial do modelo Blanditos Caicos (Tamanhos 20 ao 26)\n  const currentShoeData = [\n    { size: 20, length: 129, width: 60 },\n    { size: 21, length: 136, width: 61 },\n    { size: 22, length: 142, width: 64 },\n    { size: 23, length: 149, width: 65 },\n    { size: 24, length: 155, width: 67 },\n    { size: 25, length: 160, width: 68 },\n    { size: 26, length: 168, width: 72 },\n    { size: 27, length: 175, width: 74 },\n    { size: 28, length: 180, width: 76 },\n    { size: 29, length: 188, width: 77 },\n    { size: 30, length: 196, width: 79 }\n  ];\n\n  function calculateRuutSizeInstant() {\n    const footLenInput = document.getElementById('foot-length').value;\n    const footWidthInput = document.getElementById('foot-width').value;\n    \n    const sizeDisplay = document.getElementById('calc_result_size');\n    const detailsDisplay = document.getElementById('calc_result_details');\n    const resultBox = document.getElementById('calculator-result-box');\n    const rulerWrapper = document.getElementById('ruut-ruler-wrapper');\n    const rulerMarker = document.getElementById('ruler-marker');\n    const rulerArrow = document.getElementById('ruler-arrow');\n\n    if (!footLenInput || parseFloat(footLenInput) \u003c= 0) {\n      sizeDisplay.innerText = \"--\";\n      sizeDisplay.style.color = \"#ddd\";\n      detailsDisplay.innerHTML = \"Introduz as medidas do pezinho para calcular.\";\n      detailsDisplay.style.color = \"#555\";\n      resultBox.style.borderColor = \"#eaeaea\";\n      resultBox.style.background = \"#ffffff\";\n      rulerWrapper.style.display = \"none\";\n      return;\n    }\n\n    const footLength = parseFloat(footLenInput);\n    const footWidth = footWidthInput ? parseFloat(footWidthInput) : null;\n\n    let recommendedSize = null;\n    let widthWarning = false;\n    let cFolga = 0;\n\n    \/\/ Regra da Ruut: Folga ideal de +8mm a +12mm\n    for (let i = 0; i \u003c currentShoeData.length; i++) {\n      const shoe = currentShoeData[i];\n      if (shoe.length \u003e= footLength + 8 \u0026\u0026 shoe.length \u003c= footLength + 12) {\n        recommendedSize = shoe;\n        if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        break;\n      } else if (shoe.length \u003e footLength + 12 \u0026\u0026 i === 0) {\n        recommendedSize = \"Abaixo do 20\";\n        break;\n      } else if (shoe.length \u003e footLength + 12) {\n        const prevShoe = currentShoeData[i - 1];\n        if (prevShoe.length \u003e= footLength + 8) {\n          recommendedSize = prevShoe;\n          if (footWidth \u0026\u0026 prevShoe.width !== null \u0026\u0026 footWidth \u003e prevShoe.width) widthWarning = true;\n        } else {\n          recommendedSize = shoe;\n          if (footWidth \u0026\u0026 shoe.width !== null \u0026\u0026 footWidth \u003e shoe.width) widthWarning = true;\n        }\n        break;\n      }\n    }\n\n    if (recommendedSize === null \u0026\u0026 footLength \u003e (currentShoeData[currentShoeData.length - 1].length - 8)) {\n      recommendedSize = \"Acima do 26\";\n    }\n\n    rulerWrapper.style.display = \"block\";\n\n    if (recommendedSize === \"Abaixo do 20\" || recommendedSize === \"Acima do 26\") {\n      sizeDisplay.innerText = \"❌\";\n      sizeDisplay.style.color = \"#e74c3c\";\n      resultBox.style.borderColor = \"#ffcccc\";\n      resultBox.style.background = \"#fff5f5\";\n      detailsDisplay.style.color = \"#555\";\n      \n      if (recommendedSize === \"Abaixo do 20\") {\n        const folgaMax = currentShoeData[0].length - footLength;\n        detailsDisplay.innerHTML = `Pé pequeno para o tamanho mínimo (20).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de ${folgaMax}mm no Tam. 20 (máx. ideal: 12mm).\u003c\/span\u003e`;\n        updateIndicators(folgaMax);\n      } else {\n        const folgaMin = currentShoeData[currentShoeData.length - 1].length - footLength;\n        detailsDisplay.innerHTML = `Pé ultrapassa o tamanho máximo disponível (26).\u003cbr\u003e\u003cspan style=\"color:#888; font-size:0.9em;\"\u003eFolga de apenas ${folgaMin}mm no Tam. 26.\u003c\/span\u003e`;\n        updateIndicators(folgaMin);\n      }\n    } else {\n      sizeDisplay.innerText = recommendedSize.size;\n      cFolga = recommendedSize.length - footLength;\n      \n      if (cFolga \u003e= 8 \u0026\u0026 cFolga \u003c= 12) {\n        sizeDisplay.style.color = \"#2ecc71\"; \/\/ Verde Ideal\n        resultBox.style.borderColor = \"#bbf7d0\";\n        resultBox.style.background = \"#f0fdf4\";\n      } else {\n        sizeDisplay.style.color = \"#e74c3c\"; \/\/ Vermelho fora da folga ideal\n        resultBox.style.borderColor = \"#ffcccc\";\n        resultBox.style.background = \"#fff5f5\";\n      }\n\n      let text = `Fica com \u003cstrong\u003e+${cFolga}mm\u003c\/strong\u003e de folga no comprimento.`;\n      \n      if (footWidth \u0026\u0026 recommendedSize.width !== null) {\n        const lFolga = recommendedSize.width - footWidth;\n        if (widthWarning) {\n          text += `\u003cbr\u003e\u003cspan style=\"color: #c2410c; font-weight: bold;\"\u003e⚠️ Ajuste lateral justo (${lFolga}mm de folga).\u003c\/span\u003e`;\n        } else {\n          text += `\u003cbr\u003eE \u003cstrong\u003e+${lFolga}mm\u003c\/strong\u003e de folga na largura.`;\n        }\n      }\n      detailsDisplay.innerHTML = text;\n      detailsDisplay.style.color = \"#333\";\n\n      updateIndicators(cFolga);\n    }\n  }\n\n  function updateIndicators(folgaMm) {\n    const marker = document.getElementById('ruler-marker');\n    const arrow = document.getElementById('ruler-arrow');\n    let percentage = 0;\n    \n    if (folgaMm \u003c= 8) {\n      percentage = (folgaMm \/ 8) * 40;\n    } else if (folgaMm \u003c= 12) {\n      percentage = 40 + ((folgaMm - 8) \/ 4) * 20;\n    } else {\n      percentage = 60 + ((folgaMm - 12) \/ 8) * 40;\n    }\n\n    if (percentage \u003c 0) percentage = 0;\n    if (percentage \u003e 100) percentage = 100;\n    \n    marker.style.left = percentage + \"%\";\n    arrow.style.left = percentage + \"%\";\n  }\u003c\/script\u003e","brand":"Victoria","offers":[{"title":"20","offer_id":58775724065093,"sku":"1370121T-1","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"21","offer_id":58775724097861,"sku":"1370121T-2","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"22","offer_id":58775724130629,"sku":"1370121T-3","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"23","offer_id":58775724163397,"sku":"1370121T-4","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"24","offer_id":58775724196165,"sku":"1370121T-5","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"25","offer_id":58775724228933,"sku":"1370121T-6","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"26","offer_id":58775724261701,"sku":"1370121T-7","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"27","offer_id":58775724294469,"sku":"1370121T-8","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"28","offer_id":58775724327237,"sku":"1370121T-9","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"29","offer_id":58775724360005,"sku":"1370121T-10","price":59.9,"currency_code":"EUR","in_stock":true},{"title":"30","offer_id":58775724392773,"sku":"1370121T-11","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0926\/4283\/6805\/files\/1370121_82_000.jpg?v=1785926429"}],"url":"https:\/\/www.ruut.pt\/collections\/outono-inverno-26.oembed?page=2","provider":"ruut","version":"1.0","type":"link"}