{"title":"CASACOS","description":"","products":[{"product_id":"castelli-alpha-flight-ros-cycling-jacket-polartec-alpha-breathable-windproof","title":"CASACO CASTELLI ALPHA FLIGHT RoS PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ALPHA FLIGHT RoS CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Alpha Flight RoS Jacket\u003c\/strong\u003e é a melhor escolha para pedalar em \u003cstrong\u003econdições amenas\u003c\/strong\u003e.  \n    Extremamente leve, altamente respirável e com um ajuste aerodinâmico, foi desenvolvida para \u003cstrong\u003etreinos intensos\u003c\/strong\u003e ou para manter a temperatura corporal ideal em dias frescos.  \n    A construção de \u003cstrong\u003edupla camada Alpha\u003c\/strong\u003e combina um exterior sem membrana com isolamento interior \u003cstrong\u003ePolartec® Alpha\u003c\/strong\u003e ativo, oferecendo o equilíbrio perfeito entre calor e ventilação.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Nano Flex Light\u003c\/strong\u003e no peito, mangas e costas superiores bloqueia parcialmente o vento, garantindo máxima respirabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução Alpha de dupla camada\u003c\/strong\u003e que separa a camada corta-vento do isolamento, melhorando a ventilação e a gestão térmica.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAcabamento hidrorrepelente\u003c\/strong\u003e para proteção leve contra chuva e salpicos.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIsolamento Polartec® Alpha\u003c\/strong\u003e no peito, mangas e costas, proporcionando calor ativo e leveza.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Nano Flex Extra Dry\u003c\/strong\u003e na parte traseira para ventilação e dissipação de calor, mantendo proteção contra chuva leve.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFechos duplos YKK® Vislon®\u003c\/strong\u003e deslocados para ventilação ajustável.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolsos traseiros (3)\u003c\/strong\u003e com orifícios cortados a laser para drenagem.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolso lateral com fecho\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBanda elástica de cintura com corte a cru\u003c\/strong\u003e que se adapta ao corpo e evita dobras.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 307 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 6˚ – 16˚C \/ 42˚ – 61˚F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eTECNOLOGIA ALPHA PARA CONFORTO E VELOCIDADE\u003c\/h3\u003e\n  \u003cp\u003e\n    Esta é a jaqueta ideal para \u003cstrong\u003eandar depressa em dias frios\u003c\/strong\u003e ou para manter o conforto térmico em condições mais amenas.  \n    A tecnologia \u003cstrong\u003eAlpha de dupla camada\u003c\/strong\u003e permite que o ar circule sem deixar o frio entrar, evitando o sobreaquecimento durante esforços intensos.  \n    O isolamento \u003cstrong\u003ePolartec® Alpha\u003c\/strong\u003e oferece calor sem volume, enquanto o tecido \u003cstrong\u003eNano Flex Extra Dry\u003c\/strong\u003e nas costas promove ventilação e dispersão da transpiração.  \n    O corte justo elimina o bater do tecido e garante um \u003cstrong\u003eajuste aerodinâmico\u003c\/strong\u003e, tornando esta a jaqueta mais rápida da Castelli — porque mesmo no inverno, acreditamos que \u003cstrong\u003eFast Is Fun\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456189149566,"sku":"4523506085 S","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456189182334,"sku":"4523506085 M","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456189215102,"sku":"4523506085 L","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456189247870,"sku":"4523506085 XL","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456189280638,"sku":"4523506085 2XL","price":169.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167875065015-0.jpg?v=1761317593"},{"product_id":"castelli-go-jacket-gore-tex-infinium-windstopper-windproof-water-resistant","title":"CASACO CASTELLI GO AMARELO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI GO JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Go Jacket\u003c\/strong\u003e é a jaqueta mais versátil da marca — ideal para qualquer estação.  \n    Pode ser usada como uma camada leve em dias amenos ou, com camadas térmicas por baixo, em temperaturas frias.  \n    Combinando leveza, respirabilidade, resistência ao vento e à água, e um ajuste confortável, é a escolha perfeita para quem quer simplicidade, elegância e desempenho num só produto.  \n    Como o nome diz: basta vestir e \u003cstrong\u003eGo\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução em soft-shell integral\u003c\/strong\u003e com tecido \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® 150\u003c\/strong\u003e que bloqueia o vento frio e oferece excelente respirabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElasticidade excecional\u003c\/strong\u003e com corte neutro para conforto ideal e liberdade de movimentos.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePunhos internos elásticos\u003c\/strong\u003e para perfeita integração com as luvas, evitando a entrada de ar frio.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolsos traseiros (3)\u003c\/strong\u003e amplos e \u003cstrong\u003ebolso frontal com fecho\u003c\/strong\u003e para pequenos objetos.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e com puxador em borracha para maior aderência e durabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAcabamento sem costuras na cintura\u003c\/strong\u003e para um visual técnico e limpo.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFaixa refletora larga\u003c\/strong\u003e na zona dos bolsos para visibilidade em pouca luz.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 357 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 4˚ – 14˚C \/ 39˚ – 57˚F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eVERSATILIDADE MÁXIMA\u003c\/h3\u003e\n  \u003cp\u003e\n    Se procura \u003cstrong\u003eapenas uma jaqueta para todas as condições\u003c\/strong\u003e, esta é a escolha certa.  \n    Usa o mesmo tecido externo da premiada \u003cstrong\u003eAlpha RoS 2 Jacket\u003c\/strong\u003e — elogiada pela \u003cem\u003eCyclingnews\u003c\/em\u003e como “referência no desempenho de jaquetas de inverno” — mas sem o forro integrado,  \n    permitindo-lhe ajustar o nível de isolamento conforme o frio.  \n    Combine-a com uma \u003cstrong\u003ecamada base Flanders Warm\u003c\/strong\u003e e um jersey térmico para conforto até temperaturas negativas.  \n    O corte ajustado, o acabamento sem costuras e os detalhes elegantes dão-lhe um visual refinado, enquanto os punhos internos eliminam correntes de ar frias.  \n    A \u003cstrong\u003eGo Jacket\u003c\/strong\u003e oferece o equilíbrio perfeito entre estilo, proteção e funcionalidade para os ciclistas mais exigentes.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456200028542,"sku":"4521504384 S","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456200061310,"sku":"4521504384 M","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456200094078,"sku":"4521504384 L","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56456200126846,"sku":"4521504384 XL","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56456200159614,"sku":"4521504384 2XL","price":139.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167836833085-0.jpg?v=1761317697"},{"product_id":"castelli-beta-ros-cycling-jacket-windproof-water-repellent-breathable","title":"CASACO CASTELLI BETA RoS VERDE","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI BETA RoS\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eA barreira perfeita contra o vento e a chuva leve, tão leve e elástica que mal notarás que a estás a vestir.\u003c\/strong\u003e\u003cbr\u003e\n  O casaco Beta RoS foi criado para os ciclistas que sentem falta da liberdade de usar apenas uma jersey quando o verão termina. Utilizando os tecidos mais leves e flexíveis da Castelli, este casaco oferece uma proteção surpreendente contra os elementos, mantendo uma respirabilidade de elite para as tuas saídas de alta intensidade no outono e primavera.\u003c\/p\u003e\n\n  \u003ch3\u003ePerformance Minimalista e Proteção Polartec®\u003c\/h3\u003e\n  \u003cp\u003eEquipado com a tecnologia Polartec® NeoShell® na frente, este casaco bloqueia o vento e a água enquanto acompanha cada movimento do teu corpo. O corte Race Fit elimina o drapejar do tecido ao vento, ajudando a manter o calor corporal sem causar sobreaquecimento. É uma peça técnica focada no essencial: velocidade, proteção e conforto absoluto em qualquer terreno.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFrente Polartec® NeoShell®:\u003c\/strong\u003e Membrana impermeável e corta-vento de alta elasticidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCostas Nano Flex Light:\u003c\/strong\u003e Respirabilidade extrema com proteção contra salpicos\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVersatilidade RoS:\u003c\/strong\u003e Excelente desempenho com sol ou chuva leve\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manipulação fácil para regulação térmica instantânea\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Painel refletor traseiro de grandes dimensões para segurança\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros amplos\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Race Fit (Ajuste aerodinâmico de competição)\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Ideal para temperaturas entre 8°C e 18°C\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eO Beta RoS é a escolha definitiva para quem procura proteção técnica sem abdicar da sensação de leveza de uma jersey de competição.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456207237502,"sku":"4520505353 S-1","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456207270270,"sku":"4520505353 M-1","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456207303038,"sku":"4520505353 L-1","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456207335806,"sku":"4520505353 XL-1","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167836765267-0.jpg?v=1761317766"},{"product_id":"castelli-beta-ros-cycling-jacket-windproof-water-repellent-breathable-1","title":"CASACO CASTELLI BETA RoS PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI BETA RoS\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eA barreira perfeita contra o vento e a chuva leve, tão leve e elástica que mal notarás que a estás a vestir.\u003c\/strong\u003e\u003cbr\u003e\n  O casaco Beta RoS foi criado para os ciclistas que sentem falta da liberdade de usar apenas uma jersey quando o verão termina. Utilizando os tecidos mais leves e flexíveis da Castelli, este casaco oferece uma proteção surpreendente contra os elementos, mantendo uma respirabilidade de elite para as tuas saídas de alta intensidade no outono e primavera.\u003c\/p\u003e\n\n  \u003ch3\u003ePerformance Minimalista e Proteção Polartec®\u003c\/h3\u003e\n  \u003cp\u003eEquipado com a tecnologia Polartec® NeoShell® na frente, este casaco bloqueia o vento e a água enquanto acompanha cada movimento do teu corpo. O corte Race Fit elimina o drapejar do tecido ao vento, ajudando a manter o calor corporal sem causar sobreaquecimento. É uma peça técnica focada no essencial: velocidade, proteção e conforto absoluto em qualquer terreno.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFrente Polartec® NeoShell®:\u003c\/strong\u003e Membrana impermeável e corta-vento de alta elasticidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCostas Nano Flex Light:\u003c\/strong\u003e Respirabilidade extrema com proteção contra salpicos\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVersatilidade RoS:\u003c\/strong\u003e Excelente desempenho com sol ou chuva leve\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manipulação fácil para regulação térmica instantânea\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Painel refletor traseiro de grandes dimensões para segurança\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros amplos\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Race Fit (Ajuste aerodinâmico de competição)\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Ideal para temperaturas entre 8°C e 18°C\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eO Beta RoS é a escolha definitiva para quem procura proteção técnica sem abdicar da sensação de leveza de uma jersey de competição.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456208023934,"sku":"4520505085 S-2","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456208056702,"sku":"4520505085 M-2","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456208089470,"sku":"4520505085 L-2","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456208122238,"sku":"4520505085 XL-2","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456208155006,"sku":"4520505085 2XL-2","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167836766945-0.jpg?v=1761317772"},{"product_id":"castelli-espresso-air-cycling-jacket-winter-breathable-warm-fleece","title":"BLUSÃO CASTELLI ESPRESSO AIR PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ESPRESSO AIR CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Espresso Air Jacket\u003c\/strong\u003e foi criada para oferecer o equilíbrio perfeito entre \u003cstrong\u003ecalor, respirabilidade e conforto\u003c\/strong\u003e, mesmo nos dias de inverno mais frios.  \n    Desenvolvida com a exclusiva \u003cstrong\u003eRistretto Technology\u003c\/strong\u003e, esta jaqueta garante uma ventilação controlada, mantendo o corpo seco e quente durante horas na estrada.  \n    O tecido \u003cstrong\u003eRistretto Warm\u003c\/strong\u003e, com interior em velo, proporciona um ajuste elástico e ergonómico que acompanha cada movimento do ciclista.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecnologia Ristretto\u003c\/strong\u003e — respirabilidade e regulação térmica incomparáveis, mantendo o corpo seco e aquecido.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Ristretto Warm\u003c\/strong\u003e — interior em velo para aquecimento e elasticidade, garantindo conforto excecional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTratamento DWR sem PFAS\u003c\/strong\u003e — repele chuva leve e salpicos de estrada de forma ecológica.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e — suave, resistente e fácil de abrir mesmo com luvas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros planos\u003c\/strong\u003e com aba de segurança interior para evitar que os objetos caiam.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCintura com corte cru e perfil baixo\u003c\/strong\u003e que impede a entrada de ar frio.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElementos refletivos\u003c\/strong\u003e para visibilidade e segurança acrescida em condições de pouca luz.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eDesenvolvida em parceria com ITTTAI®\u003c\/strong\u003e — especialista em laminação e membranas, para criar um tecido exclusivo com proteção e respirabilidade avançadas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 417 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 0°C – 10°C \/ 32°F – 50°F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eRespirabilidade e Calor em Perfeita Harmonia\u003c\/h3\u003e\n  \u003cp\u003e\n    Graças à \u003cstrong\u003eRistretto Technology\u003c\/strong\u003e, esta jaqueta permite uma passagem controlada de ar para evitar o sobreaquecimento,  \n    enquanto o interior em velo cria uma camada isolante ideal para pedaladas longas no frio.  \n    O tecido elástico garante liberdade total de movimento e um ajuste justo sem comprometer o conforto.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eEspresso Air Jacket\u003c\/strong\u003e é também funcional em cada detalhe: os bolsos traseiros amplos com aba de segurança mantêm os teus objetos protegidos,  \n    e o tratamento DWR ecológico protege contra a chuva leve.  \n    Seja para treinos intensos ou longas aventuras de inverno, esta é a jaqueta que vais querer usar sempre que a temperatura descer.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456208253310,"sku":"4524502085 S-1","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456208286078,"sku":"4524502085 M-1","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456208318846,"sku":"4524502085 L-1","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456208351614,"sku":"4524502085 XL-1","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456208384382,"sku":"4524502085 2XL-1","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456208417150,"sku":"4524502085 3XL-1","price":169.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167822337352-0.jpg?v=1761317774"},{"product_id":"cycling-jacket-brand-castelli-model-unlimited-jacket","title":"CASACO CASTELLI UNLIMITED PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003ch2\u003eCASTELLI UNLIMITED\u003c\/h2\u003e\n\u003cp\u003eA \u003cstrong\u003eCastelli Unlimited Jacket\u003c\/strong\u003e é a escolha ideal para quem procura conforto e proteção durante as aventuras em estrada ou gravel. O seu \u003cstrong\u003etecido cardado quente\u003c\/strong\u003e oferece isolamento térmico excecional, enquanto as zonas com \u003cstrong\u003eproteção corta-vento\u003c\/strong\u003e garantem o equilíbrio perfeito entre calor e respirabilidade. Versátil e funcional, é uma casaca feita para o ciclista que aprecia o desempenho e o estilo em qualquer terreno.\u003c\/p\u003e\n\u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTecido interior em fleece\u003c\/strong\u003e em toda a peça para aquecimento e conforto superiores.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção corta-vento localizada\u003c\/strong\u003e nas zonas mais expostas para bloquear o frio.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBolsos adicionais inteligentes\u003c\/strong\u003e: bolso frontal invisível para acesso rápido e bolso traseiro em malha elástica para guardar luvas, casaco ou snacks.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eColar elástico leve\u003c\/strong\u003e que impede a entrada de ar frio.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003e3 bolsos traseiros tipo “cargo”\u003c\/strong\u003e para transporte de equipamento essencial.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho YKK® de comprimento total\u003c\/strong\u003e para ajuste da ventilação e regulação térmica.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDetalhes refletivos\u003c\/strong\u003e na cintura e nos punhos para maior visibilidade.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 4°C – 14°C \/ 39°F – 57°F\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eDesempenho sem limites\u003c\/h3\u003e\n\u003cp\u003eCriada para longas aventuras, a \u003cstrong\u003eUnlimited Jacket\u003c\/strong\u003e combina proteção e versatilidade numa peça que se adapta facilmente a diferentes condições. A mistura entre conforto térmico, bolsos de arrumação adicionais e corte ajustado torna-a perfeita para pedalar em trilhos, gravel ou estradas frias. Uma peça que reflete o verdadeiro espírito da coleção \u003cstrong\u003eUnlimited\u003c\/strong\u003e — performance e liberdade em qualquer percurso.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ch2\u003e\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\u003c\/h2\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n\u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n\u003cp\u003ePara garantir o melhor ajuste e conforto, mede o perímetro do teu \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara com o guia de tamanhos Castelli abaixo.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n\u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n\u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n\u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e Calcule o seu tamanho\u003c\/button\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003cp\u003e\u003c\/p\u003e\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n\u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"cc-size-box\" hidden=\"\"\u003e\u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\u003c\/div\u003e\n\u003c\/dialog\u003e\u003cp\u003e\u003c\/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456214151550,"sku":"4524520085 S","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456214184318,"sku":"4524520085 M","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456214217086,"sku":"4524520085 L","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56456214249854,"sku":"4524520085 XL","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56456214282622,"sku":"4524520085 2XL","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56456214315390,"sku":"4524520085 3XL","price":149.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167149871964-0.jpg?v=1761317835"},{"product_id":"castelli-gabba-ros-2-soudal-quick-step-cycling-jacket-waterproof-windproof","title":"CASACO CASTELLI GABBA RoS 2 SOUDAL QUICK-STEP","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI GABBA RoS 2 SOUDAL QUICK-STEP CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eGabba RoS 2\u003c\/strong\u003e é o original que criou uma nova categoria no vestuário de ciclismo.  \n    Uma \u003cstrong\u003ecamisola de manga curta à prova de vento e resistente à água\u003c\/strong\u003e, perfeita tanto para condições húmidas como secas.  \n    Feita para ser usada com \u003cstrong\u003eaquecedores de braços Nano Flex\u003c\/strong\u003e, mantém o tronco quente sem sobreaquecimento — a peça essencial para o outono e primavera.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003e5.ª geração da icónica Gabba\u003c\/strong\u003e, criada pelos inventores do conceito original.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eMais resistente à água do que nunca\u003c\/strong\u003e, mantendo a respirabilidade excecional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Castelli exclusivo GORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm\u003c\/strong\u003e nas zonas frontais para máxima proteção contra vento e chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido GORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch\u003c\/strong\u003e na parte traseira para maior elasticidade e ventilação.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCosturas seladas nos ombros\u003c\/strong\u003e para resistência adicional à chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon® de dupla abertura\u003c\/strong\u003e (superior e inferior) para ventilação ajustável, com cobertura adicional contra o vento e chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e com painel refletor na parte inferior para maior visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 329 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 9˚ – 16˚C \/ 48˚ – 61˚F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Race\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eA peça que mudou o ciclismo\u003c\/h3\u003e\n  \u003cp\u003e\n    Desde a sua estreia em 2010, a \u003cstrong\u003eGabba\u003c\/strong\u003e revolucionou a forma como os profissionais — e agora também os ciclistas amadores — enfrentam o frio e a chuva.  \n    Esta versão \u003cstrong\u003eRoS 2\u003c\/strong\u003e (“Rain or Shine”) é praticamente impermeável, mantendo ao mesmo tempo a respirabilidade e o conforto térmico que sempre a distinguiram.  \n    A combinação de tecidos GORE-TEX INFINIUM™ proporciona \u003cstrong\u003eproteção total na frente e respirabilidade otimizada nas costas\u003c\/strong\u003e, garantindo um equilíbrio perfeito em condições variáveis.  \n    O corte anatómico de corrida e os detalhes refletivos tornam-na ideal para treinos intensos e longas distâncias em clima fresco.  \n    Use-a com \u003cstrong\u003eaquecedores Nano Flex\u003c\/strong\u003e para máxima versatilidade e desempenho.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456215101822,"sku":"4234265424 S-2","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456215134590,"sku":"4234265424 M-2","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456215167358,"sku":"4234265424 L-2","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456215200126,"sku":"4234265424 XL-2","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456215232894,"sku":"4234265424 2XL-2","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456215265662,"sku":"4234265424 3XL-2","price":149.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167824009683-0.jpg?v=1761317847"},{"product_id":"castelli-aria-shell-cycling-jacket-ultralight-windproof-packable-breathable","title":"BLUSÃO CASTELLI ARIA SHELL CINZENTO","description":"\u003cdiv class=\"product-description\"\u003e\n\u003ch2\u003eBLUSÃO CICLISMO CASTELLI ARIA SHELL\u003c\/h2\u003e\n\u003cp\u003eA \u003cstrong\u003eCastelli Aria Shell Jacket\u003c\/strong\u003e redefine o conceito de corta-vento. Extremamente leve, compacta e respirável, foi desenhada para oferecer \u003cstrong\u003eproteção contra o vento\u003c\/strong\u003e na parte frontal enquanto permite uma excelente \u003cstrong\u003eventilação através dos painéis laterais elásticos\u003c\/strong\u003e. Ideal para ampliar a faixa de temperatura das tuas peças favoritas da Castelli.\u003c\/p\u003e\n\u003cp\u003eCom um \u003cstrong\u003eajuste anatómico e aerodinâmico\u003c\/strong\u003e, a Aria Shell elimina o problema do tecido a abanar ao vento, proporcionando uma sensação de segunda pele. Compacta-se facilmente no seu próprio bolso lateral integrado, sendo perfeita tanto para usar durante toda a volta como para guardar no bolso do jersey quando a temperatura sobe.\u003c\/p\u003e\n\u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eFrente em microfibra ultraleve à prova de vento\u003c\/strong\u003e para proteção eficaz contra o ar frio.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePainéis laterais e posteriores das mangas\u003c\/strong\u003e em tecido de malha listrado elástico e respirável, que evita o flapping do tecido.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eExtremamente compacta\u003c\/strong\u003e – dobra-se facilmente e inclui \u003cstrong\u003esaco integrado de arrumação\u003c\/strong\u003e.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e para utilização fácil e suave.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMarca Castelli refletora\u003c\/strong\u003e para maior visibilidade.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 125 g\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 10–18 °C \/ 50–65 °F\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eNão é o teu antigo corta-vento\u003c\/h3\u003e\n\u003cp\u003eEsquece o típico corta-vento volumoso e barulhento. A \u003cstrong\u003eAria Shell Jacket\u003c\/strong\u003e é uma camada leve e moderna que bloqueia o vento na parte frontal, garantindo respirabilidade e conforto através dos painéis elásticos. A combinação de tecidos técnicos cria um \u003cstrong\u003eajuste justo, sem circulação de ar frio\u003c\/strong\u003e e sem o aspeto \"antigo\" dos corta-ventos tradicionais. Leve o suficiente para usar toda a volta em condições amenas — e, quando quiseres guardá-la, ela cabe facilmente no bolso do jersey ou no alforge.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n\u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n\u003cp\u003ePara garantir o melhor ajuste e conforto, mede o perímetro do teu \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara com o guia de tamanhos Castelli abaixo.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n\u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n\u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n\u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbutton aria-controls=\"cc-size-modal\" aria-haspopup=\"dialog\" type=\"button\" class=\"cc-size-btn\"\u003e Calcule o seu tamanho \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003c\/p\u003e\u003cdialog aria-label=\"Guia de tamanhos\" class=\"cc-size-modal\" id=\"cc-size-modal\"\u003e \u003cbutton aria-label=\"Fechar\" class=\"cc-close\"\u003e✕\u003c\/button\u003e\n\u003cdiv aria-hidden=\"true\" class=\"cc-loader\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv hidden=\"\" class=\"cc-size-box\"\u003e\u003cimg decoding=\"sync\" loading=\"eager\" alt=\"Guia de tamanhos Castelli\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" id=\"cc-size-img\"\u003e\u003c\/div\u003e\n\u003c\/dialog\u003e\u003cp\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456217592190,"sku":"4520058030 S-2","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456217624958,"sku":"4520058030 M-2","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456217657726,"sku":"4520058030 L-2","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456217690494,"sku":"4520058030 XL-2","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456217723262,"sku":"4520058030 2XL-2","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456217756030,"sku":"4520058030 3XL-2","price":99.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167828879394-0.jpg?v=1761317872"},{"product_id":"castelli-perfetto-ros-long-sleeve-cycling-jacket-windproof-rain-protection","title":"CASACO CASTELLI PERFETTO ROS CASTANHO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI PERFETTO ROS\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO herdeiro da lendária Gabba, agora com padrões exclusivos em edição limitada para combinar proteção total com um estilo único.\u003c\/strong\u003e\u003cbr\u003eO casaco Perfetto RoS Long Sleeve é a peça de eleição para treinos de alta intensidade e competição nos meses mais frios. Com um ajuste de corrida (Race Fit) e a tecnologia GORE-TEX INFINIUM™, este casaco oferece proteção contra o vento e a chuva sem sacrificar a respirabilidade, garantindo que te destacas no pelotão tanto pela performance como pelo design.\u003c\/p\u003e\n\u003ch3\u003eProteção Rain or Shine com Engenharia GORE-TEX\u003c\/h3\u003e\n\u003cp\u003eA Castelli utiliza tecidos diferenciados para maximizar o conforto: a parte frontal conta com uma membrana resistente à água e interior cardado para proteger o core, enquanto as costas utilizam um tecido mais elástico que permite a saída rápida da humidade. Se a intensidade subir, as aberturas laterais com fecho oferecem uma ventilação imediata, mantendo a temperatura corporal estável em qualquer situação.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ 205\/203:\u003c\/strong\u003e Proteção frontal térmica e traseira altamente respirável\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCosturas Seladas:\u003c\/strong\u003e Reforço nos ombros para maior impermeabilidade\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVentilação Direta:\u003c\/strong\u003e Aberturas laterais com fecho para controlo térmico \"on the fly\"\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArrumação Otimizada:\u003c\/strong\u003e 2 bolsos largos com manga interna para bomba\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDropped Tail:\u003c\/strong\u003e Painel traseiro longo contra salpicos com refletividade XL\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Deslize suave com cobertura protetora\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Race Fit (Ajuste aerodinâmico profissional)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eVersatilidade incomparável e proteção de elite, agora numa edição limitada para quem exige o melhor em cada saída.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456219066750,"sku":"4521546030 S","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456219099518,"sku":"4521546030 M","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456219132286,"sku":"4521546030 L","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456219165054,"sku":"4521546030 XL","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456219197822,"sku":"4521546030 2XL","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456219230590,"sku":"4521546030 3XL","price":139.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167709611239-0.jpg?v=1761317886"},{"product_id":"castelli-dinamica-2-women-s-cycling-jacket-winter-thermal-windstopper","title":"CASACO MULHER CASTELLI DINAMICA 2 PRETO","description":"\u003ch2\u003eCASTELLI DINAMICA 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eIsolamento térmico total e proteção contra o vento para as tuas saídas de inverno mais rigorosas.\u003c\/strong\u003e\u003cbr\u003eO Dinamica 2 W é o casaco que a Castelli desenhou para quem não quer abdicar de treinar a sério mesmo quando o termómetro se aproxima dos zero graus. Totalmente construído em tecido GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast, este casaco oferece uma barreira impenetrável contra o vento gelado, enquanto o forro interior em fleece garante que o calor se mantém onde é necessário.\u003c\/p\u003e\n\u003ch3\u003eConforto sem Compromissos no Frio\u003c\/h3\u003e\n\u003cp\u003eAo contrário dos casacos de inverno volumosos que limitam o movimento, o Dinamica 2 permite pedalar com intensidade sem causar sobreaquecimento, graças à sua respirabilidade líder na classe. Os detalhes foram pensados para o inverno: punhos duplos que vedam a entrada de ar frio e um fecho fácil de ajustar mesmo com luvas grossas de inverno, garantindo que cada quilómetro seja confortável.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido Integral:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast (100% corta-vento)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIsolamento:\u003c\/strong\u003e Forro interior em fleece térmico de alta densidade\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos:\u003c\/strong\u003e Design de dupla camada para vedação com as luvas\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Painéis refletores de 360 graus para segurança total\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® com puxador ergonómico de fácil manuseamento\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto anatómico com espaço para camadas internas)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Desempenho ideal entre 0°C e 10°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eO aliado perfeito para as ciclistas que procuram calor extra e proteção total contra os elementos sem o peso excessivo de um casaco convencional.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56456228503934,"sku":"4522542085 XS","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":56456228536702,"sku":"4522542085 S","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56456228569470,"sku":"4522542085 M","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456228602238,"sku":"4522542085 L","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56456228635006,"sku":"4522542085 XL","price":139.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167790724211-0.jpg?v=1761317904"},{"product_id":"castelli-aria-shell-cycling-jacket-ultralight-windproof-packable-breathable-1","title":"BLUSÃO CASTELLI ARIA SHELL AZUL","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCORTA-VENTO CASTELLI ARIA SHELL CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Aria Shell Jacket\u003c\/strong\u003e redefine o conceito de corta-vento.  \n    Extremamente leve, compacta e respirável, foi desenhada para oferecer \u003cstrong\u003eproteção contra o vento\u003c\/strong\u003e na parte frontal  \n    enquanto permite uma excelente \u003cstrong\u003eventilação através dos painéis laterais elásticos\u003c\/strong\u003e.  \n    Ideal para ampliar a faixa de temperatura das tuas peças favoritas da Castelli.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Com um \u003cstrong\u003eajuste anatómico e aerodinâmico\u003c\/strong\u003e, a Aria Shell elimina o problema do tecido a abanar ao vento,  \n    proporcionando uma sensação de segunda pele.  \n    Compacta-se facilmente no seu próprio bolso lateral integrado, sendo perfeita tanto para usar durante toda a volta  \n    como para guardar no bolso do jersey quando a temperatura sobe.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFrente em microfibra ultraleve à prova de vento\u003c\/strong\u003e para proteção eficaz contra o ar frio.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainéis laterais e posteriores das mangas\u003c\/strong\u003e em tecido de malha listrado elástico e respirável, que evita o flapping do tecido.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eExtremamente compacta\u003c\/strong\u003e – dobra-se facilmente e inclui \u003cstrong\u003esaco integrado de arrumação\u003c\/strong\u003e.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e para utilização fácil e suave.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eMarca Castelli refletora\u003c\/strong\u003e para maior visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 125 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 10–18 °C \/ 50–65 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eNão é o teu antigo corta-vento\u003c\/h3\u003e\n  \u003cp\u003e\n    Esquece o típico corta-vento volumoso e barulhento.  \n    A \u003cstrong\u003eAria Shell Jacket\u003c\/strong\u003e é uma camada leve e moderna que bloqueia o vento na parte frontal,  \n    garantindo respirabilidade e conforto através dos painéis elásticos.  \n    A combinação de tecidos técnicos cria um \u003cstrong\u003eajuste justo, sem circulação de ar frio\u003c\/strong\u003e e sem o aspeto \"antigo\" dos corta-ventos tradicionais.  \n    Leve o suficiente para usar toda a volta em condições amenas — e, quando quiseres guardá-la, ela cabe facilmente no bolso do jersey ou no alforge.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456229486974,"sku":"4520058424 S-1","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456229519742,"sku":"4520058424 M-1","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456229552510,"sku":"4520058424 L-1","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456229585278,"sku":"4520058424 XL-1","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456229618046,"sku":"4520058424 2XL-1","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456229650814,"sku":"4520058424 3XL-1","price":99.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167828875959-0.jpg?v=1761317916"},{"product_id":"castelli-transition-2-w-women-s-winter-cycling-jacket-gore-tex-infinium","title":"CASACO MULHER CASTELLI TRANSITION 2 W ROSA","description":"\u003ch2\u003eCASTELLI TRANSITION 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco ideal para a transição de estações: proteção contra o vento sem risco de sobreaquecimento.\u003c\/strong\u003e\u003cbr\u003eO casaco Transition 2 W foi desenhado para aqueles dias em que um colete é insuficiente, mas um casaco de inverno pesado é demasiado. Utilizando a tecnologia GORE-TEX INFINIUM™ na parte frontal, este casaco corta o vento frio com eficácia, enquanto as costas em tecido fleece respirável garantem que o teu corpo mantém a temperatura ideal sem acumular transpiração.\u003c\/p\u003e\n\u003ch3\u003eLeveza e Proteção Inteligente\u003c\/h3\u003e\n\u003cp\u003ePerfeito para o outono, primavera ou invernos moderados, o Transition 2 destaca-se pelo seu fecho assimétrico YKK® Vislon®, que evita o desconforto de várias camadas sobrepostas no queixo. Se as temperaturas descerem, basta adicionar uma camada base térmica para estender o seu uso durante grande parte do inverno, mantendo sempre um ajuste elegante e funcional.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eFrente e Mangas:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Corta-vento e respirável)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePainel Traseiro:\u003c\/strong\u003e Tecido Warmer escovado para ventilação máxima\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® assimétrico de deslize suave\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros amplos\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eConforto Térmico:\u003c\/strong\u003e Proteção surpreendente sem volume excessivo\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto anatómico feminino)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 331g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eA peça essencial para quem não deixa que a brisa matinal ou o tempo incerto de meia-estação interrompam o treino.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56456239087998,"sku":"4523544654 XS","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56456239120766,"sku":"4523544654 S","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456239153534,"sku":"4523544654 M","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456239186302,"sku":"4523544654 L","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456239219070,"sku":"4523544654 XL","price":119.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167864349701-0.jpg?v=1761317944"},{"product_id":"castelli-gabba-ros-2-w-women-s-cycling-jacket-winter-wind-rain-protection","title":"CASACO MULHER CASTELLI GABBA RoS 2 W LARANJA","description":"\u003ch2\u003eCASTELLI GABBA RoS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eA 5.ª geração da peça que revolucionou o ciclismo profissional: a proteção total do core sem o risco de sobreaquecimento.\u003c\/strong\u003e\u003cbr\u003eEm 2010, a Castelli apresentou a Gabba aos profissionais e mudou para sempre a forma como se corre sob chuva e frio. A Gabba RoS 2 W continua este legado como um casaco de manga curta resistente à água, perfeito para condições frescas. Ao manter o tronco quente e seco sem o volume de um casaco tradicional, permite uma agilidade total, sendo a peça indispensável para o outono e primavera.\u003c\/p\u003e\n\u003ch3\u003eInovação GORE-TEX INFINIUM™\u003c\/h3\u003e\n\u003cp\u003eEsta versão está mais impermeável do que nunca, mantendo a respirabilidade lendária que tornou a Gabba famosa. Utiliza dois tecidos GORE-TEX exclusivos: um mais quente e resistente na frente e ombros, e um mais leve e elástico nas costas para libertar o calor excessivo. O novo fecho YKK® Vislon® de abertura dupla facilita a regulação da temperatura e o acesso aos bolsos internos durante a pedalada.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido Frontal:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm (100% corta-vento)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido Traseiro:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch para ventilação\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVersatilidade:\u003c\/strong\u003e Ideal para usar com manguitos Nano Flex em dias húmidos\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® de dupla abertura para ventilação ajustável\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção:\u003c\/strong\u003e Costuras dos ombros seladas contra a chuva\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Painel refletor traseiro de grandes dimensões\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Race Fit (Ajuste aerodinâmico de competição)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eCombine esta peça com os seus sapatos favoritos e manguitos para enfrentar qualquer previsão meteorológica com confiança.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56456241545598,"sku":"4522544883 XS","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56456241578366,"sku":"4522544883 S","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456241611134,"sku":"4522544883 M","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456241643902,"sku":"4522544883 L","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456241676670,"sku":"4522544883 XL","price":119.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167790773327-0.jpg?v=1761317962"},{"product_id":"castelli-alpha-ros-2-w-women-s-cycling-jacket-winter-wind-rain-protection","title":"CASACO MULHER CASTELLI ALPHA RoS 2 AZUL","description":"\u003ch2\u003eCASTELLI ALPHA ROS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco de inverno definitivo: calor, respirabilidade e proteção extrema contra a chuva.\u003c\/strong\u003e\u003cbr\u003eO Alpha RoS 2 W representa a visão da Castelli sobre o casaco de inverno perfeito. Na sua terceira geração, este modelo continua a liderar o mercado ao resolver o maior problema do ciclismo de inverno: a gestão da humidade. Graças à sua construção inovadora, mantém-te seca e quente mesmo durante treinos de alta intensidade sob temperaturas negativas.\u003c\/p\u003e\n\u003ch3\u003eTecnologia de Dupla Camada Alpha\u003c\/h3\u003e\n\u003cp\u003eO segredo deste casaco reside na separação entre a camada de isolamento térmico e a barreira exterior corta-vento. Esta construção permite abrir a camada externa para ventilar e expulsar o suor durante as subidas, mantendo a camada interna fechada para proteger o corpo do frio. O resultado é um interior sempre seco, evitando o choque térmico nas descidas.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eMembrana:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 150\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eEngenharia:\u003c\/strong\u003e Rain or Shine (Máxima performance em seco ou molhado)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIsolamento:\u003c\/strong\u003e Camada interna 3D mais macia e quente para um ajuste superior\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos:\u003c\/strong\u003e Design de camada dupla para integração perfeita com as luvas\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eSegurança:\u003c\/strong\u003e Detalhes refletores cortados a laser nos bolsos traseiros\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Conforto garantido entre -5°C e 10°C\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste ergonómico feminino)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eA peça mais versátil e tecnologicamente avançada para treinos de inverno, independentemente das condições climatéricas.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56456243773822,"sku":"4520553492 XS","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":56456243806590,"sku":"4520553492 S","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456243839358,"sku":"4520553492 M","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456243872126,"sku":"4520553492 L","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56456243904894,"sku":"4520553492 XL","price":189.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167793229861-0.jpg?v=1761317985"},{"product_id":"castelli-perfetto-ros-3-cycling-jacket-windproof-waterproof-breathable","title":"CASACO CASTELLI PERFETTO RoS 3 LARANJA","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI PERFETTO RoS 3 CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Perfetto RoS 3 Jacket\u003c\/strong\u003e é a evolução da icónica linha Perfetto,  \n    reconhecida pela sua combinação única de \u003cstrong\u003eproteção contra o vento e chuva\u003c\/strong\u003e,  \n    \u003cstrong\u003erespirabilidade excecional\u003c\/strong\u003e e \u003cstrong\u003eajuste elástico de alto desempenho\u003c\/strong\u003e.  \n    Concebida para ser a tua \u003cstrong\u003emelhor companheira em qualquer condição climática\u003c\/strong\u003e,  \n    esta é a jaqueta que faz tudo.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O segredo está no tecido \u003cstrong\u003ePolartec® AirCore™\u003c\/strong\u003e de 150 g,  \n    uma membrana eletrofiada permeável ao ar que oferece uma respirabilidade líder no setor  \n    sem comprometer a proteção contra o vento e a resistência à água.  \n    A jaqueta é \u003cstrong\u003enão isolada\u003c\/strong\u003e, sendo ideal para condições frescas,  \n    mas pode ser facilmente combinada com uma camada térmica adicional para enfrentar o frio intenso.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Inclui \u003cstrong\u003ecosturas nos ombros seladas\u003c\/strong\u003e para maior resistência à chuva,  \n    \u003cstrong\u003eaberturas de ventilação com fecho no peito\u003c\/strong\u003e e um \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e  \n    com dupla abertura para regulação de temperatura e acesso rápido aos bolsos.  \n    A cauda alongada protege contra os salpicos da roda traseira e os \u003cstrong\u003eelementos refletores\u003c\/strong\u003e  \n    aumentam a visibilidade em condições de pouca luz.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eProteção total\u003c\/strong\u003e contra vento e chuva leve, com elevada respirabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Polartec® AirCore™\u003c\/strong\u003e de 150 g com membrana eletrofiada para conforto e ventilação.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCosturas refletoras seladas\u003c\/strong\u003e nos ombros para resistência adicional à chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de dupla abertura, fácil de manusear com luvas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAberturas de ventilação\u003c\/strong\u003e com fecho no peito para regulação térmica.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e com orifícios de drenagem.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCauda alongada\u003c\/strong\u003e para proteção contra salpicos da roda.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePormenores refletores\u003c\/strong\u003e para maior segurança.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 244 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 4–14 °C \/ 39–57 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eA Jaqueta Que Faz Tudo\u003c\/h3\u003e\n  \u003cp\u003e\n    A \u003cstrong\u003ePerfetto RoS 3\u003c\/strong\u003e é a escolha definitiva para quem procura uma jaqueta versátil e fiável  \n    para pedalar em qualquer condição.  \n    Oferece proteção completa, respirabilidade de topo e conforto incomparável,  \n    mantendo o estilo e a performance que definem a Castelli.  \n    Seja para treinos frios, dias húmidos ou aventuras de longa distância,  \n    esta é \u003cstrong\u003ea jaqueta que nunca te vai deixar ficar mal\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456254816638,"sku":"4525556245_S","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456254849406,"sku":"4525556245_M","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456254882174,"sku":"4525556245_L","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456254914942,"sku":"4525556245_XL","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56456254947710,"sku":"4525556245_2XL","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56456254980478,"sku":"4525556245_3XL","price":189.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167817688835-0.jpg?v=1761318058"},{"product_id":"castelli-entrata-2-cycling-jacket-windproof-breathable-thermal-back-panel","title":"CASACO CASTELLI ENTRATA 2 VERMELHO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ENTRATA 2 CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Entrata 2 Jacket\u003c\/strong\u003e foi concebida para proporcionar \u003cstrong\u003eproteção eficaz contra o vento\u003c\/strong\u003e e o frio moderado, \n    mantendo uma \u003cstrong\u003erespirabilidade excecional\u003c\/strong\u003e.  \n    Ideal para saídas em dias frescos, combina tecidos técnicos de elevada qualidade com o ajuste confortável característico da Castelli.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A parte frontal e as mangas são fabricadas com o inovador \u003cstrong\u003etecido Polartec® AirCore™\u003c\/strong\u003e de 298 g, \n    que oferece \u003cstrong\u003eproteção contra o vento e permeabilidade ao ar\u003c\/strong\u003e líder na sua classe.  \n    Este tecido electrofiado cria uma barreira eficaz contra o frio sem comprometer a ventilação.  \n    Nas costas, o tecido \u003cstrong\u003eWarmer fleece elástico em poliéster\u003c\/strong\u003e assegura uma excelente gestão da humidade e respirabilidade.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e facilita o ajuste em andamento, enquanto os \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e oferecem amplo espaço de arrumação.  \n    O \u003cstrong\u003epormenor refletor na base dos bolsos\u003c\/strong\u003e melhora a visibilidade em condições de pouca luz.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Uma escolha equilibrada entre \u003cstrong\u003eproteção térmica, respirabilidade e conforto\u003c\/strong\u003e, \n    tornando a Entrata 2 a companheira ideal para treinos ou passeios durante o outono e o início do inverno.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCasaco de peso intermédio\u003c\/strong\u003e para condições frescas a frias.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFrente e mangas em Polartec® AirCore™\u003c\/strong\u003e para proteção contra o vento e respirabilidade superior.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Warmer fleece elástico\u003c\/strong\u003e nas costas para melhor gestão térmica e de humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento suave.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e espaçosos para transportar o essencial.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eDetalhes refletivos\u003c\/strong\u003e para maior visibilidade em ambientes com pouca luz.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 403 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 6–15 °C \/ 43–59 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456260813182,"sku":"4525507023 S","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456260845950,"sku":"4525507023 M","price":159.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456260878718,"sku":"4525507023 L","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456260911486,"sku":"4525507023 XL","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456260944254,"sku":"4525507023 2XL","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456260977022,"sku":"4525507023 3XL","price":159.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167817460085-0.jpg?v=1761318126"},{"product_id":"castelli-estremo-jacket-winter-cycling-jacket-windproof-thermal","title":"CASACO CASTELLI ESTREMO PRETO \/ VERMELHO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ESTREMO JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003eEstremo Jacket\u003c\/strong\u003e foi desenvolvido para enfrentar as condições mais frias e exigentes do inverno. \n    Este casaco combina \u003cstrong\u003eproteção total contra o vento\u003c\/strong\u003e, \u003cstrong\u003eisolamento térmico superior\u003c\/strong\u003e, \n    \u003cstrong\u003erepelência à água\u003c\/strong\u003e e \u003cstrong\u003eexcelente respirabilidade\u003c\/strong\u003e, \n    mantendo o conforto e a qualidade de construção que distinguem a Castelli.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Construído com o tecido \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® X-Fast\u003c\/strong\u003e, \n    o casaco oferece uma camada interna escovada que aumenta o calor e o conforto, \n    mantendo o frio e o vento afastados. \n    A faixa \u003cstrong\u003erefletora larga na frente e nas costas\u003c\/strong\u003e garante visibilidade total em 360°, \n    tornando-o ideal para pedalar em dias de pouca luz.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e abre-se facilmente mesmo durante a pedalada, \n    permitindo ventilação ajustável. \n    Conta com \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e e um \u003cstrong\u003equarto bolso vertical com fecho\u003c\/strong\u003e \n    para guardar chaves ou dinheiro. \n    A parte inferior traseira possui um \u003cstrong\u003epainel adicional\u003c\/strong\u003e \n    que protege contra a água projetada pela roda em estradas molhadas. \n    O Estremo Jacket é o aliado perfeito para quem não deixa o frio parar a pedalada.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast\u003c\/strong\u003e com camada interna escovada para maior isolamento térmico.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFaixas refletoras largas\u003c\/strong\u003e à frente e atrás para visibilidade total.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de fácil abertura enquanto pedalas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + \u003cstrong\u003e1 bolso vertical com fecho\u003c\/strong\u003e para chaves ou dinheiro.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel inferior traseiro\u003c\/strong\u003e para proteção adicional contra água e sujidade.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456264057214,"sku":"4524580017 S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456264089982,"sku":"4524580017 M","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456264122750,"sku":"4524580017 L","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456264155518,"sku":"4524580017 XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456264188286,"sku":"4524580017 2XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456264221054,"sku":"4524580017 3XL","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167676036901-0.jpg?v=1761318157"},{"product_id":"castelli-alpha-150-cycling-jacket-polartec-windproof-insulated-breathable","title":"CASACO CASTELLI ALPHA 150 PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ALPHA 150 CYCLING JACKET – POLARTEC CORTA-VENTO ISOLADO RESPIRÁVEL\u003c\/h2\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003eAlpha 150 Jacket\u003c\/strong\u003e é o melhor casaco de inverno alguma vez criado pela Castelli — \n    concebido para que possas pedalar \u003cstrong\u003etodo o inverno com conforto e proteção total\u003c\/strong\u003e. \n    Utilizando os melhores tecidos \u003cstrong\u003ePolartec®\u003c\/strong\u003e e uma construção inovadora, \n    oferece isolamento térmico, resistência ao vento e à chuva, e respirabilidade sem precedentes.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A camada exterior em \u003cstrong\u003ePolartec® AirCore™\u003c\/strong\u003e de 150 g é uma membrana eletrofiada \n    com \u003cstrong\u003epermeabilidade ao ar\u003c\/strong\u003e e respirabilidade líderes na indústria, \n    bloqueando vento e chuva ligeira sem comprometer a ventilação. \n    No interior, o \u003cstrong\u003eforro Polartec® Alpha™\u003c\/strong\u003e proporciona isolamento eficaz \n    com peso mínimo e excelente gestão da humidade, mantendo o corpo seco e aquecido mesmo durante o esforço.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O casaco inclui um \u003cstrong\u003efecho YKK® Vislon® bidirecional\u003c\/strong\u003e para regulação fácil, \n    protegido por uma aba contra vento e chuva, além de um \u003cstrong\u003ebolso frontal com fecho\u003c\/strong\u003e \n    para chave ou dinheiro e \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e espaçosos. \n    O \u003cstrong\u003edebrum refletor\u003c\/strong\u003e sob os bolsos melhora a visibilidade em estrada. \n    Com um corte técnico e elástico, adapta-se ao corpo sem restringir o movimento, \n    proporcionando o equilíbrio ideal entre proteção e leveza.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Fabricado com \u003cstrong\u003efios reciclados\u003c\/strong\u003e e totalmente \u003cstrong\u003elivre de PFAS\u003c\/strong\u003e, \n    o Alpha 150 define o novo padrão de casacos de ciclismo de inverno — quente, respirável e sustentável.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCasaco ideal\u003c\/strong\u003e para condições frias a muito frias.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCamada exterior Polartec® AirCore™ 150 g\u003c\/strong\u003e com respirabilidade e proteção contra o vento e chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eForro interno Polartec® Alpha™\u003c\/strong\u003e para isolamento leve e gestão térmica superior.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon® bidirecional\u003c\/strong\u003e com aba protetora contra vento e chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolso frontal com fecho\u003c\/strong\u003e para chave ou dinheiro.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e para armazenamento funcional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eDebrum refletor\u003c\/strong\u003e sob os bolsos para maior visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido elástico\u003c\/strong\u003e para ajuste ergonómico e conforto dinâmico.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eMateriais reciclados\u003c\/strong\u003e e \u003cstrong\u003ePFAS-free\u003c\/strong\u003e para sustentabilidade ambiental.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 352 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e -2–10 °C \/ 28–50 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456265793918,"sku":"4525502085 S-3","price":269.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456265826686,"sku":"4525502085 M-3","price":269.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456265859454,"sku":"4525502085 L-3","price":269.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56456265892222,"sku":"4525502085 XL-3","price":269.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56456265924990,"sku":"4525502085 2XL-3","price":269.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56456265957758,"sku":"4525502085 3XL-3","price":269.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167818937014-0.jpg?v=1763491442"},{"product_id":"castelli-competizione-cycling-jacket-winter-thermal-windproof-waterproof","title":"CASACO CASTELLI COMPETIZIONE PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI COMPETIZIONE CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003eCompetizione Jacket\u003c\/strong\u003e foi desenvolvido para oferecer \n    \u003cstrong\u003eproteção térmica e respirabilidade superiores\u003c\/strong\u003e em condições frias e húmidas. \n    Combina isolamento eficaz, resistência ao vento e à chuva leve e conforto excecional, \n    mantendo o desempenho característico da Castelli.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A camada exterior é feita em \u003cstrong\u003ePolartec® AirCore™\u003c\/strong\u003e de 298 g — \n    uma membrana eletrofiada exclusiva da Castelli que garante \u003cstrong\u003erespirabilidade líder na indústria\u003c\/strong\u003e \n    (0,7 CFM) e proteção contra a água superior a 5.000 mm de coluna de água. \n    O interior em \u003cstrong\u003emicrofleece com estrutura em grelha\u003c\/strong\u003e cria bolsas de ar que retêm o calor \n    e aumentam a eficiência térmica sem comprometer a leveza.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O casaco inclui um \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e de deslizamento fácil, \n    \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e para armazenamento prático e \n    \u003cstrong\u003edetalhes refletivos 360°\u003c\/strong\u003e para máxima visibilidade. \n    O design com \u003cstrong\u003eelasticidade bidirecional\u003c\/strong\u003e adapta-se perfeitamente à posição de ciclismo, \n    garantindo liberdade de movimento e conforto prolongado. \n    Fabricado em \u003cstrong\u003emateriais reciclados e livres de PFAS\u003c\/strong\u003e, \n    é a escolha sustentável e eficaz para pedalar no inverno.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCasaco térmico\u003c\/strong\u003e para pedaladas em condições frias e húmidas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCamada exterior Polartec® AirCore™ 298 g\u003c\/strong\u003e com excelente respirabilidade e impermeabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eInterior em microfleece\u003c\/strong\u003e com grelha para isolamento térmico otimizado.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e para ajuste rápido e suave.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e para armazenamento funcional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eDetalhes refletores\u003c\/strong\u003e para visibilidade a 360°.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido com elasticidade bidirecional\u003c\/strong\u003e para ajuste perfeito em posição de ciclismo.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eMateriais reciclados e PFAS-free\u003c\/strong\u003e para maior sustentabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 509 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e -4–10 °C \/ 25–50 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456267334014,"sku":"4525506085_S","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56456267366782,"sku":"4525506085_M","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456267399550,"sku":"4525506085_L","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56456267432318,"sku":"4525506085_XL","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56456267465086,"sku":"4525506085_2XL","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56456267497854,"sku":"4525506085_3XL","price":189.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167843170575-0.jpg?v=1761318191"},{"product_id":"castelli-perfetto-ros-2-w-women-s-cycling-jacket-winter-wind-rain-protection","title":"CASACO MULHER CASTELLI PERFETTO RoS 2 W PRETO","description":"\u003ch2\u003eCASTELLI PERFETTO RoS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco que faz tudo bem: a proteção lendária da Gabba, agora com mangas compridas e versatilidade total.\u003c\/strong\u003e\u003cbr\u003eO Perfetto RoS 2 W é a peça mais importante no guarda-roupa de qualquer ciclista. Desenhado para brilhar em todas as condições (Rain or Shine), este casaco oferece proteção total contra o vento e uma resistência à água líder na indústria, mantendo a melhor respirabilidade da sua classe para que nunca te sintas húmida por dentro.\u003c\/p\u003e\n\u003ch3\u003eConforto Térmico Adaptável\u003c\/h3\u003e\n\u003cp\u003eA beleza do Perfetto reside na sua versatilidade: sem isolamento integrado, permite-te decidir a temperatura. Usa-o com uma camada base fina em dias amenos ou com uma camada térmica em dias abaixo de zero. A nova versão \"2\" traz melhorias cruciais, como o fecho de abertura dupla para ventilação personalizada e um ajuste atualizado que oferece mais liberdade de movimento nos ombros e braços.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido GORE-TEX INFINIUM™ WINDSTOPPER®:\u003c\/strong\u003e 100% corta-vento e altamente resistente à água\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVersatilidade RoS:\u003c\/strong\u003e Criado para performance máxima com sol ou chuva\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVentilação Personalizada:\u003c\/strong\u003e Fecho YKK® Vislon® duplo e aberturas laterais\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eSegurança:\u003c\/strong\u003e Painel refletor de grandes dimensões sob os bolsos traseiros\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção Extra:\u003c\/strong\u003e Costuras seladas nos ombros para bloquear a entrada de água\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste técnico de alta performance feminina)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Excelente entre 4°C e 14°C (expansível com camadas)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eSe tivesses de escolher apenas um casaco para todas as tuas saídas de inverno e meia-estação, teria de ser o Perfetto.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56456268743038,"sku":"4522543085 XS","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56456268775806,"sku":"4522543085 S","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456268808574,"sku":"4522543085 M","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456268841342,"sku":"4522543085 L","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456268874110,"sku":"4522543085 XL","price":149.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167774957177-0.jpg?v=1761318204"},{"product_id":"castelli-fly-thermal-cycling-jacket-windproof-water-repellent-gore-tex-infinium","title":"CASACO CASTELLI FLY THERMAL PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI FLY THERMAL JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    Um casaco tão leve que parece poder \u003cstrong\u003evoar\u003c\/strong\u003e. O \u003cstrong\u003eFly Thermal Jacket\u003c\/strong\u003e \n    oferece uma \u003cstrong\u003econstrução ultraleve\u003c\/strong\u003e com isolamento térmico avançado e \n    \u003cstrong\u003eproteção contra os elementos\u003c\/strong\u003e, graças às inovadoras \n    \u003cstrong\u003eCastelli FLY Fabric Technologies: FFT\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O forro interno em \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e protege do vento e \n    mantém o calor junto ao corpo, permitindo simultaneamente que a humidade escape para o exterior. \n    O isolamento \u003cstrong\u003eCLIMA SL\u003c\/strong\u003e, feito de material 100% reciclado, proporciona calor adicional \n    com excelente respirabilidade.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A camada exterior \u003cstrong\u003eFLY SL Shell\u003c\/strong\u003e, também em material reciclado, \n    bloqueia o vento e repele a água, protegendo-te da chuva ligeira e dos salpicos da estrada. \n    O \u003cstrong\u003efecho YKK® Vislon® bidirecional\u003c\/strong\u003e facilita a ventilação, \n    enquanto os \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e e o \u003cstrong\u003ebolso adicional com fecho\u003c\/strong\u003e \n    oferecem espaço seguro para os teus pertences.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003eelástico com silicone\u003c\/strong\u003e na cintura mantém o casaco no lugar, \n    e os \u003cstrong\u003edetalhes refletores\u003c\/strong\u003e aumentam a visibilidade em condições de pouca luz. \n    Leve, quente e sustentável, este é o próximo passo da Castelli em direção a um \n    \u003cstrong\u003ecasaco de alto desempenho e amigo do ambiente\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução ultraleve\u003c\/strong\u003e com calor e proteção excecionais.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCastelli FLY Fabric Technologies: FFT\u003c\/strong\u003e para leveza e isolamento avançado.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eForro GORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e para proteção contra o vento e respirabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIsolamento CLIMA SL\u003c\/strong\u003e em material 100% reciclado, quente e respirável.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCamada externa FLY SL Shell\u003c\/strong\u003e resistente ao vento e repelente à água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido 100% reciclado\u003c\/strong\u003e no exterior e forro.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e com abertura dupla (superior e inferior).\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + \u003cstrong\u003e1 bolso com fecho\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com silicone\u003c\/strong\u003e na cintura para manter o casaco no lugar.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAba refletora\u003c\/strong\u003e para maior segurança e visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 350 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 0–12 °C \/ 32–54 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456272544126,"sku":"4523502085-S","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456272576894,"sku":"4523502085-M","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456272609662,"sku":"4523502085-L","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456272642430,"sku":"4523502085-XL","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456272675198,"sku":"4523502085-2XL","price":179.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167879573344-0.jpg?v=1761318240"},{"product_id":"castelli-alpha-ultimate-insulated-cycling-jacket-waterproof-windproof-thermal","title":"CASACO CASTELLI ALPHA ULTIMATE ISOLADO CINZENTO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ALPHA ULTIMATE INSULATED CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003eAlpha Ultimate Insulated Jacket\u003c\/strong\u003e é o casaco de inverno definitivo da Castelli — \n    combina \u003cstrong\u003ecalor e leveza\u003c\/strong\u003e, \u003cstrong\u003eliberdade de movimento e proteção total\u003c\/strong\u003e, \n    bem como \u003cstrong\u003eimpermeabilidade e respirabilidade\u003c\/strong\u003e, graças à inovadora construção \u003cstrong\u003eAlpha\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A camada exterior em \u003cstrong\u003ePolartec® NeoShell®\u003c\/strong\u003e oferece proteção impermeável e respirável \n    com elasticidade em quatro direções, bloqueando vento e chuva sem comprometer o conforto. \n    No interior, o isolamento \u003cstrong\u003ePolartec® Alpha® active insulation\u003c\/strong\u003e garante calor consistente \n    e gestão térmica eficiente, mantendo o corpo seco mesmo durante o esforço.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A construção \u003cstrong\u003edupla Alpha\u003c\/strong\u003e separa a camada de isolamento da barreira externa contra vento e água, \n    permitindo \u003cstrong\u003eventilação ajustável\u003c\/strong\u003e através do duplo fecho \u003cstrong\u003eYKK® Vislon®\u003c\/strong\u003e. \n    O acabamento \u003cstrong\u003esem costuras (no-sew bonded hem)\u003c\/strong\u003e veda o vento, \n    e o \u003cstrong\u003epunho anatómico\u003c\/strong\u003e integra-se perfeitamente com as luvas, impedindo a entrada de ar frio ou água.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Com \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e e um \u003cstrong\u003ebolso lateral com fecho\u003c\/strong\u003e para objetos de valor, \n    além de \u003cstrong\u003ezonas refletoras\u003c\/strong\u003e estrategicamente posicionadas, \n    este casaco foi concebido para quem enfrenta o inverno a sério em qualquer condição.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido exterior Polartec® NeoShell®\u003c\/strong\u003e elástico e impermeável em quatro direções.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIsolamento Polartec® Alpha® active insulation\u003c\/strong\u003e para calor leve e respirabilidade superior.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCosturas exteriores críticas seladas\u003c\/strong\u003e para proteção eficaz contra chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução dupla Alpha\u003c\/strong\u003e para melhor regulação térmica e ventilação.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e duplo (superior e inferior) para ajuste de ventilação.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBainha sem costuras (bonded hem)\u003c\/strong\u003e para vedação ao vento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePunhos anatómicos\u003c\/strong\u003e integrados com as luvas para impedir entrada de ar frio ou água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + \u003cstrong\u003e1 bolso lateral com fecho\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eZonas refletoras\u003c\/strong\u003e na parte inferior das costas, ombros e pulsos.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 363 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e -5–12 °C \/ 23–54 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456272773502,"sku":"4522507030-S","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456272806270,"sku":"4522507030-M","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456272839038,"sku":"4522507030-L","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456272871806,"sku":"4522507030-XL","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456272904574,"sku":"4522507030-2XL","price":219.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167879624993-0.jpg?v=1761318242"},{"product_id":"castelli-alpha-ultimate-insulated-cycling-jacket-waterproof-windproof-thermal-1","title":"CASACO CASTELLI ALPHA ULTIMATE ISOLADO VERDE","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ALPHA ULTIMATE INSULATED CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003eAlpha Ultimate Insulated Jacket\u003c\/strong\u003e é o casaco de inverno definitivo da Castelli — \n    combina \u003cstrong\u003ecalor e leveza\u003c\/strong\u003e, \u003cstrong\u003eliberdade de movimento e proteção total\u003c\/strong\u003e, \n    bem como \u003cstrong\u003eimpermeabilidade e respirabilidade\u003c\/strong\u003e, graças à inovadora construção \u003cstrong\u003eAlpha\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A camada exterior em \u003cstrong\u003ePolartec® NeoShell®\u003c\/strong\u003e oferece proteção impermeável e respirável \n    com elasticidade em quatro direções, bloqueando vento e chuva sem comprometer o conforto. \n    No interior, o isolamento \u003cstrong\u003ePolartec® Alpha® active insulation\u003c\/strong\u003e garante calor consistente \n    e gestão térmica eficiente, mantendo o corpo seco mesmo durante o esforço.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A construção \u003cstrong\u003edupla Alpha\u003c\/strong\u003e separa a camada de isolamento da barreira externa contra vento e água, \n    permitindo \u003cstrong\u003eventilação ajustável\u003c\/strong\u003e através do duplo fecho \u003cstrong\u003eYKK® Vislon®\u003c\/strong\u003e. \n    O acabamento \u003cstrong\u003esem costuras (no-sew bonded hem)\u003c\/strong\u003e veda o vento, \n    e o \u003cstrong\u003epunho anatómico\u003c\/strong\u003e integra-se perfeitamente com as luvas, impedindo a entrada de ar frio ou água.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Com \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e e um \u003cstrong\u003ebolso lateral com fecho\u003c\/strong\u003e para objetos de valor, \n    além de \u003cstrong\u003ezonas refletoras\u003c\/strong\u003e estrategicamente posicionadas, \n    este casaco foi concebido para quem enfrenta o inverno a sério em qualquer condição.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido exterior Polartec® NeoShell®\u003c\/strong\u003e elástico e impermeável em quatro direções.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIsolamento Polartec® Alpha® active insulation\u003c\/strong\u003e para calor leve e respirabilidade superior.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCosturas exteriores críticas seladas\u003c\/strong\u003e para proteção eficaz contra chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução dupla Alpha\u003c\/strong\u003e para melhor regulação térmica e ventilação.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e duplo (superior e inferior) para ajuste de ventilação.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBainha sem costuras (bonded hem)\u003c\/strong\u003e para vedação ao vento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePunhos anatómicos\u003c\/strong\u003e integrados com as luvas para impedir entrada de ar frio ou água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + \u003cstrong\u003e1 bolso lateral com fecho\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eZonas refletoras\u003c\/strong\u003e na parte inferior das costas, ombros e pulsos.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 363 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e -5–12 °C \/ 23–54 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456272937342,"sku":"4522507075-S","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456272970110,"sku":"4522507075-M","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456273002878,"sku":"4522507075-L","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456273035646,"sku":"4522507075-XL","price":219.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456273068414,"sku":"4522507075-2XL","price":219.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167879658591-0.jpg?v=1761318244"},{"product_id":"castelli-fly-jack-sey-cycling-jacket-gore-tex-infinium-windproof-lightweight","title":"CASACO CASTELLI FLY JACK-SEY CINZENTO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI FLY JACK-SEY CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    Quando não sabes se precisas de um casaco ou apenas de uma camisola com aquecedores, \n    a \u003cstrong\u003eFly Jack-sey\u003c\/strong\u003e é a escolha certa. Concebida para as temperaturas intermédias, \n    oferece \u003cstrong\u003eproteção leve, isolamento e respirabilidade\u003c\/strong\u003e num formato incrivelmente versátil.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A construção ultraleve com \u003cstrong\u003eCastelli FLY Fabric Technologies: FFT\u003c\/strong\u003e combina o \n    \u003cstrong\u003erevestimento GORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e na parte interna para proteção contra o vento, \n    o isolamento \u003cstrong\u003eCLIMA SL\u003c\/strong\u003e para calor adicional e a camada externa \u003cstrong\u003eFLY SL Shell\u003c\/strong\u003e \n    com acabamento \u003cstrong\u003ehidrorrepelente\u003c\/strong\u003e para manter-te seco. \n    Tudo isto num design leve e compacto que une o melhor de uma camisola e de um casaco.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A gola \u003cstrong\u003ebaixa ou inexistente\u003c\/strong\u003e ajuda a regular a temperatura, \n    enquanto o \u003cstrong\u003efecho YKK® Vislon® bidirecional\u003c\/strong\u003e permite ventilação ajustável. \n    Inclui \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e e um \u003cstrong\u003ebolso adicional com fecho\u003c\/strong\u003e para objetos de valor, \n    e o \u003cstrong\u003eelástico com silicone\u003c\/strong\u003e na cintura mantém o casaco no lugar. \n    Detalhes \u003cstrong\u003erefletores\u003c\/strong\u003e completam a peça, garantindo visibilidade e segurança.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    \u003cstrong\u003eJersey? Jacket? Jack-sey!\u003c\/strong\u003e — perfeita para aqueles dias em que não consegues decidir o que vestir.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução ultraleve\u003c\/strong\u003e com excelente calor e proteção.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGola baixa\u003c\/strong\u003e para regulação da temperatura.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCastelli FLY Fabric Technologies: FFT\u003c\/strong\u003e para leveza e desempenho.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eForro GORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e para proteção contra o vento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIsolamento CLIMA SL\u003c\/strong\u003e para calor adicional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCamada externa FLY SL Shell\u003c\/strong\u003e com tratamento hidrorrepelente.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido 100% reciclado\u003c\/strong\u003e no exterior e forro.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e bidirecional para ventilação fácil.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + \u003cstrong\u003e1 bolso com fecho\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com silicone\u003c\/strong\u003e na cintura para manter o Jack-sey no lugar.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAba refletora\u003c\/strong\u003e para maior segurança.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 218 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 9–17 °C \/ 48–63 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456273166718,"sku":"4523503294-S","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456273199486,"sku":"4523503294-M","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456273232254,"sku":"4523503294-L","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456273265022,"sku":"4523503294-XL","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456273297790,"sku":"4523503294-2XL","price":149.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167879883976-0.jpg?v=1761318246"},{"product_id":"castelli-fly-jack-sey-cycling-jacket-gore-tex-infinium-windproof-lightweight-1","title":"CASACO CASTELLI FLY JACK-SEY PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI FLY JACK-SEY CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    Quando não sabes se precisas de um casaco ou apenas de uma camisola com aquecedores, \n    a \u003cstrong\u003eFly Jack-sey\u003c\/strong\u003e é a escolha certa. Concebida para as temperaturas intermédias, \n    oferece \u003cstrong\u003eproteção leve, isolamento e respirabilidade\u003c\/strong\u003e num formato incrivelmente versátil.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A construção ultraleve com \u003cstrong\u003eCastelli FLY Fabric Technologies: FFT\u003c\/strong\u003e combina o \n    \u003cstrong\u003erevestimento GORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e na parte interna para proteção contra o vento, \n    o isolamento \u003cstrong\u003eCLIMA SL\u003c\/strong\u003e para calor adicional e a camada externa \u003cstrong\u003eFLY SL Shell\u003c\/strong\u003e \n    com acabamento \u003cstrong\u003ehidrorrepelente\u003c\/strong\u003e para manter-te seco. \n    Tudo isto num design leve e compacto que une o melhor de uma camisola e de um casaco.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A gola \u003cstrong\u003ebaixa ou inexistente\u003c\/strong\u003e ajuda a regular a temperatura, \n    enquanto o \u003cstrong\u003efecho YKK® Vislon® bidirecional\u003c\/strong\u003e permite ventilação ajustável. \n    Inclui \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e e um \u003cstrong\u003ebolso adicional com fecho\u003c\/strong\u003e para objetos de valor, \n    e o \u003cstrong\u003eelástico com silicone\u003c\/strong\u003e na cintura mantém o casaco no lugar. \n    Detalhes \u003cstrong\u003erefletores\u003c\/strong\u003e completam a peça, garantindo visibilidade e segurança.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    \u003cstrong\u003eJersey? Jacket? Jack-sey!\u003c\/strong\u003e — perfeita para aqueles dias em que não consegues decidir o que vestir.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução ultraleve\u003c\/strong\u003e com excelente calor e proteção.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGola baixa\u003c\/strong\u003e para regulação da temperatura.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCastelli FLY Fabric Technologies: FFT\u003c\/strong\u003e para leveza e desempenho.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eForro GORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e para proteção contra o vento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIsolamento CLIMA SL\u003c\/strong\u003e para calor adicional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCamada externa FLY SL Shell\u003c\/strong\u003e com tratamento hidrorrepelente.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido 100% reciclado\u003c\/strong\u003e no exterior e forro.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e bidirecional para ventilação fácil.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + \u003cstrong\u003e1 bolso com fecho\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com silicone\u003c\/strong\u003e na cintura para manter o Jack-sey no lugar.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAba refletora\u003c\/strong\u003e para maior segurança.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 218 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 9–17 °C \/ 48–63 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456273363326,"sku":"4523503085-S","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456273396094,"sku":"4523503085-M","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456273428862,"sku":"4523503085-L","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456273461630,"sku":"4523503085-XL","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456273494398,"sku":"4523503085-2XL","price":149.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167879872028-0.jpg?v=1761318248"},{"product_id":"castelli-perfetto-ros-2-cycling-jacket-windproof-water-repellent-breathable","title":"CASACO CASTELLI PERFETTO RoS 2 AZUL","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI PERFETTO RoS 2 CYCLING JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    O casaco \u003cstrong\u003ePerfetto RoS 2\u003c\/strong\u003e é uma das peças mais versáteis da Castelli. \n    Oferece \u003cstrong\u003eproteção total contra o vento\u003c\/strong\u003e com tecido \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e, \n    repelência à água e uma respirabilidade excecional. \n    Com uma base layer leve, é ideal para temperaturas amenas, e com uma camada térmica, \n    permite pedalar abaixo de zero. Se tiveres apenas um casaco de ciclismo, \u003cstrong\u003eeste é o escolhido\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Tal como o \u003cem\u003eGabba RoS 2\u003c\/em\u003e, o Perfetto RoS 2 combina desempenho em condições secas e molhadas, \n    graças aos tecidos exclusivos \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER®\u003c\/strong\u003e. \n    O painel frontal usa tecido \u003cstrong\u003e205 Warm\u003c\/strong\u003e escovado e resistente à água, \n    enquanto a parte traseira utiliza o tecido \u003cstrong\u003e203 Stretch\u003c\/strong\u003e para maior elasticidade e respirabilidade.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    As \u003cstrong\u003ecosturas dos ombros seladas\u003c\/strong\u003e aumentam a proteção contra chuva, \n    e o \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e bidirecional permite ajustar a ventilação facilmente. \n    Inclui também \u003cstrong\u003eabertura com fecho lateral\u003c\/strong\u003e para ventilação adicional, \n    \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e espaçosos e um \u003cstrong\u003epainel refletor\u003c\/strong\u003e na parte inferior para segurança.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O Perfetto RoS 2 não possui isolamento próprio, o que o torna incrivelmente versátil: \n    usa-o apenas com uma base layer em dias amenos ou adiciona uma camada térmica para os dias frios. \n    Mais respirável que os casacos com membranas tradicionais, mantém-te seco e confortável, \n    com ajuste técnico e aerodinâmico.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003eTecido exclusivo \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm\u003c\/strong\u003e escovado e resistente à água na frente.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch\u003c\/strong\u003e nas costas para elasticidade e respirabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCosturas seladas nos ombros\u003c\/strong\u003e para maior proteção contra chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e bidirecional, coberto para proteção adicional contra vento e água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAbertura lateral com fecho\u003c\/strong\u003e para ventilação ajustável.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e espaçosos para armazenamento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel refletor\u003c\/strong\u003e na parte inferior dos bolsos para visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 324 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 4–14 °C \/ 39–57 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\n\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456273920382,"sku":"4522511424-S","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456273953150,"sku":"4522511424-M","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456273985918,"sku":"4522511424-L","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456274018686,"sku":"4522511424-XL","price":179.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456274051454,"sku":"4522511424-2xL","price":179.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167882178314-0.jpg?v=1761318252"},{"product_id":"castelli-estremo-jacket-winter-cycling-jacket-windproof-thermal-1","title":"CASACO CASTELLI ESTREMO AZUL","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI ESTREMO JACKET\u003c\/h2\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003eCastelli Estremo Jacket\u003c\/strong\u003e foi desenvolvido para enfrentar os dias de inverno mais rigorosos.  \n    Combina \u003cstrong\u003eproteção total contra o vento\u003c\/strong\u003e, \u003cstrong\u003eisolamento térmico avançado\u003c\/strong\u003e, \n    \u003cstrong\u003eresistência à água\u003c\/strong\u003e e \u003cstrong\u003erespirabilidade excecional\u003c\/strong\u003e, garantindo conforto mesmo nas condições mais extremas.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O tecido \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® X-Fast\u003c\/strong\u003e oferece barreira completa contra o vento e inclui \n    uma \u003cstrong\u003ecamada interna escovada\u003c\/strong\u003e que aumenta o aquecimento e o conforto.  \n    O design incorpora uma \u003cstrong\u003elarga faixa refletora à frente e atrás\u003c\/strong\u003e para visibilidade total em condições de pouca luz, \n    assegurando que permaneces visível em qualquer hora do dia.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e permite abertura fácil enquanto pedalas, facilitando a regulação térmica.  \n    Inclui \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e para armazenamento e um \u003cstrong\u003equarto bolso vertical com fecho\u003c\/strong\u003e \n    para chaves ou objetos de valor.  \n    Um \u003cstrong\u003epainel sob os bolsos\u003c\/strong\u003e oferece proteção adicional contra a água projetada pela roda traseira, \n    tornando este casaco perfeito para pedaladas em tempo frio e húmido.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast\u003c\/strong\u003e com camada interna escovada para maior isolamento térmico.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTotalmente à prova de vento\u003c\/strong\u003e e \u003cstrong\u003eresistente à água\u003c\/strong\u003e, mantendo a respirabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFaixas refletoras largas\u003c\/strong\u003e na frente e nas costas para visibilidade a 360°.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de fácil abertura mesmo em movimento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + \u003cstrong\u003e1 bolso vertical com fecho\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel inferior traseiro\u003c\/strong\u003e para proteção contra salpicos de água da roda.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56477899850110,"sku":"4524580077 S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56477899882878,"sku":"4524580077 M","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56477899915646,"sku":"4524580077 L","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56477899948414,"sku":"4524580077 XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56477899981182,"sku":"4524580077 2XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56477900013950,"sku":"4524580077 3XL","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167676033934-0.jpg?v=1761652718"},{"product_id":"castelli-gabba-ros-limited-edition-short-sleeve-jacket-gore-tex-infinium","title":"CASACO CASTELLI GABBA RoS GORE-TEX INFINIUM AZUL","description":"\u003cdiv class=\"cc-simple\"\u003e\n\n  \u003ch2\u003eCASTELLI GABBA RoS EDIÇÃO LIMITADA\u003c\/h2\u003e\n\n  \u003cp\u003eA \u003cstrong\u003eGabba RoS Edição Limitada\u003c\/strong\u003e em versão de \u003cstrong\u003emanga curta\u003c\/strong\u003e mantém tudo aquilo que tornou a Gabba famosa: é \u003cstrong\u003eaerodinâmica\u003c\/strong\u003e, \u003cstrong\u003erespirável\u003c\/strong\u003e, totalmente \u003cstrong\u003ecorta-vento\u003c\/strong\u003e e com acabamento \u003cstrong\u003eresistente à água\u003c\/strong\u003e, graças ao tecido \u003cstrong\u003eGORE-TEX INFINIUM™\u003c\/strong\u003e. Leve, flexível e feita para pedalar depressa em condições variáveis.\u003c\/p\u003e\n\n  \u003ch3\u003ePrincipais Características\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido GORE-TEX INFINIUM™\u003c\/strong\u003e totalmente corta-vento e resistente à água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCosturas termosseladas nos ombros\u003c\/strong\u003e para maior proteção à chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e com proteção extra contra a entrada de água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e2 bolsos traseiros\u003c\/strong\u003e com compartimento para bomba, fáceis de aceder mesmo com luvas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel traseiro alongado\u003c\/strong\u003e com elemento refletor de grande dimensão.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eEspecificações\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 9°–16°C \/ 48°–61°F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 255 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAjuste:\u003c\/strong\u003e Performante \/ Race Fit\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111;line-height:1.6}\n  .cc-simple h2{text-transform:uppercase;font-weight:700;margin:0 0 .6rem;font-size:1.25rem}\n  .cc-simple h3{margin:1rem 0 .4rem;font-size:1.05rem;font-weight:600}\n  .cc-list{margin:.4rem 0 1rem 1.2rem;padding:0}\n  .cc-list li{margin:.3rem 0}\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56477901291902,"sku":"4521547057-S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56477901324670,"sku":"4521547057-M","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56477901357438,"sku":"4521547057-L","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56477901390206,"sku":"4521547057-XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56477901422974,"sku":"4521547057-2XL","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167884026257-0.jpg?v=1761652730"},{"product_id":"castelli-gabba-ros-limited-edition-short-sleeve-jacket-gore-tex-infinium-1","title":"CASACO MANGA CURTA CASTELLI GABBA RoS CINZA","description":"\u003cdiv class=\"product-description\"\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003ch2\u003eCASTELLI GABBA RoS\u003c\/h2\u003e\n\u003cp\u003eA \u003cstrong\u003eCastelli Gabba RoS Rosso Corsa Limited Edition\u003c\/strong\u003e é a referência mundial em jerseys de manga curta para condições adversas. Desenvolvida com tecido \u003cstrong\u003eGORE-TEX INFINIUM™\u003c\/strong\u003e, oferece \u003cstrong\u003eaerodinâmica superior, respirabilidade e proteção total contra o vento\u003c\/strong\u003e, mantendo um equilíbrio perfeito entre leveza e desempenho.\u003c\/p\u003e\n\u003cp\u003eEsta jersey é \u003cstrong\u003etotalmente à prova de vento\u003c\/strong\u003e e possui acabamento \u003cstrong\u003ehidrorrepelente\u003c\/strong\u003e que protege contra chuva leve e spray da estrada. As \u003cstrong\u003ecosturas termicamente seladas nos ombros\u003c\/strong\u003e aumentam a proteção contra a água, enquanto o \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e assegura uma vedação perfeita e fácil de manusear mesmo em andamento.\u003c\/p\u003e\n\u003cp\u003eInclui \u003cstrong\u003eaberturas laterais com fecho no peito\u003c\/strong\u003e para ventilação regulável e \u003cstrong\u003edois bolsos traseiros\u003c\/strong\u003e com manga para bomba, concebidos para fácil acesso mesmo com luvas. A \u003cstrong\u003eparte traseira alongada\u003c\/strong\u003e oferece cobertura adicional, integrando um \u003cstrong\u003egrande painel refletor\u003c\/strong\u003e para visibilidade em condições de pouca luz.\u003c\/p\u003e\n\u003cp\u003eA \u003cstrong\u003eGabba RoS Limited Edition\u003c\/strong\u003e é uma peça icónica, testada pelos profissionais e redesenhada para ciclistas exigentes que procuram desempenho, proteção e estilo inconfundível.\u003c\/p\u003e\n\u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTecido GORE-TEX INFINIUM™\u003c\/strong\u003e à prova de vento com acabamento hidrorrepelente.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCosturas seladas termicamente\u003c\/strong\u003e nos ombros para proteção adicional contra chuva.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e com vedação aprimorada para maior resistência à água.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eAberturas com fecho\u003c\/strong\u003e no peito para ventilação ajustável.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDois bolsos traseiros\u003c\/strong\u003e com compartimento para bomba, fáceis de aceder com luvas.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePainel traseiro alongado\u003c\/strong\u003e com \u003cstrong\u003egrande inserção refletora\u003c\/strong\u003e para visibilidade.\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 255 g\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 9–16 °C \/ 48–61 °F\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch2\u003e\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\u003c\/h2\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n\u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n\u003cp\u003ePara garantir o melhor ajuste e conforto, mede o perímetro do teu \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara com o guia de tamanhos Castelli abaixo.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n\u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n\u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n\u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbutton aria-controls=\"cc-size-modal\" aria-haspopup=\"dialog\" type=\"button\" class=\"cc-size-btn\"\u003e\u0026nbsp;Calcule o seu tamanho \u003c\/button\u003e\u003c\/div\u003e\n\u003ch2\u003e\u003c!-- ===== MODAL ===== --\u003e\u003c\/h2\u003e\n\u003cdialog aria-label=\"Guia de tamanhos\" class=\"cc-size-modal\" id=\"cc-size-modal\"\u003e \u003cbutton aria-label=\"Fechar\" class=\"cc-close\"\u003e✕\u003c\/button\u003e\n\u003cdiv aria-hidden=\"true\" class=\"cc-loader\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv hidden=\"\" class=\"cc-size-box\"\u003e\u003cimg decoding=\"sync\" loading=\"eager\" alt=\"Guia de tamanhos Castelli\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" id=\"cc-size-img\"\u003e\u003c\/div\u003e\n\u003c\/dialog\u003e\n\u003ch2\u003e\u003c!-- ===== STYLE ===== --\u003e\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"product-description\"\u003e\n\u003ch2\u003e\u003c!-- ===== SCRIPT ===== --\u003e\u003c\/h2\u003e\n\u003cp\u003e\u0026nbsp;\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56477901521278,"sku":"4521547030-S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56477901554046,"sku":"4521547030-M","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56477901586814,"sku":"4521547030-L","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56477901619582,"sku":"4521547030-XL","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56477901652350,"sku":"4521547030-2XL","price":129.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167883886665-0.jpg?v=1761652733"},{"product_id":"castelli-perfetto-ros-2-convertible-cycling-jacket-gore-tex-infinium-windproof-1","title":"CASACO CASTELLI PERFETTO RoS 2 GORE-TEX PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI PERFETTO RoS 2 conversível\u003c\/h2\u003e\n\u003cp\u003eToda a proteção do \u003cstrong\u003ePerfetto RoS 2\u003c\/strong\u003e para frio e\/ou chuva, com \u003cstrong\u003emangas removíveis\u003c\/strong\u003e acima do cotovelo para o transformar num \u003cstrong\u003e“Gabba” de manga curta\u003c\/strong\u003e. Um único casaco para cobrir \u003cstrong\u003e4°–16°C\u003c\/strong\u003e, seco ou molhado, com ajuste técnico e respirabilidade de referência.\u003c\/p\u003e\n\u003ch3\u003ePrincipais Caraterísticas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e2-em-1:\u003c\/strong\u003e fechos acima do cotovelo (manga comprida ou curta).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFrente:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm (escovado, resistente à água).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCostas:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch (elasticidade \u0026amp; respirabilidade).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCosturas seladas nos ombros\u003c\/strong\u003e para maior proteção à chuva.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e bidirecional com aba corta-vento\/chuva.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVentilação com fecho\u003c\/strong\u003e no peito (lado esquerdo).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e + painel refletor inferior.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored (ajustado\/performante).\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEspecificações\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 379 g\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 4°–16°C \/ 39°–61°F\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAjuste:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .cc-simple{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111;line-height:1.6}\n  .cc-simple h2{text-transform:uppercase;font-weight:700;margin:0 0 .6rem;font-size:1.25rem}\n  .cc-simple h3{margin:1rem 0 .4rem;font-size:1.05rem;font-weight:600}\n  .cc-list{margin:.4rem 0 1rem 1.2rem;padding:0}\n  .cc-list li{margin:.3rem 0}\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56477902471550,"sku":"4522510085-XS","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56477902504318,"sku":"4522510085-S","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56477902537086,"sku":"4522510085-M","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56477902569854,"sku":"4522510085-L","price":159.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56477902602622,"sku":"4522510085-XL","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56477902635390,"sku":"4522510085-2XL","price":159.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56477902668158,"sku":"4522510085-3XL","price":159.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167882275584-0.jpg?v=1761652741"},{"product_id":"castelli-perfetto-ros-2-convertible-cycling-jacket-gore-tex-infinium-windproof-2","title":"CASACO CASTELLI PERFETTO RoS 2 CINZENTO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI PERFETTO RoS 2 CASACO CONVERSÍVEL DE CICLISMO\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003ePerfetto RoS 2 Convertible Jacket\u003c\/strong\u003e é a \u003cstrong\u003epeça mais versátil alguma vez criada pela Castelli\u003c\/strong\u003e.  \n    Oferece toda a proteção contra o frio e a chuva da clássica Perfetto RoS 2 Jacket, \n    com a vantagem de se transformar rapidamente numa \u003cstrong\u003eversão de manga curta\u003c\/strong\u003e, semelhante à icónica \u003cstrong\u003eGabba\u003c\/strong\u003e.  \n    É literalmente o \u003cstrong\u003eúnico casaco que precisas\u003c\/strong\u003e para qualquer aventura.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    As \u003cstrong\u003emangas destacáveis através de fechos acima dos cotovelos\u003c\/strong\u003e permitem ajustar o casaco às condições climatéricas.  \n    O tecido \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm\u003c\/strong\u003e nas zonas frontais garante proteção total contra o vento e resistência à água, \n    enquanto o \u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch\u003c\/strong\u003e nas zonas traseiras oferece respirabilidade e elasticidade superiores.  \n    As \u003cstrong\u003ecosturas seladas nos ombros\u003c\/strong\u003e aumentam a proteção contra chuva e o \u003cstrong\u003efecho YKK® Vislon® de dupla abertura\u003c\/strong\u003e \n    facilita a ventilação e o ajuste em andamento.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O casaco inclui ainda \u003cstrong\u003eabertura de ventilação com fecho lateral\u003c\/strong\u003e no peito, \n    \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e amplos e um \u003cstrong\u003epainel refletor\u003c\/strong\u003e na zona inferior para visibilidade acrescida.  \n    É ideal para quem procura uma solução completa e adaptável a qualquer estação.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Ao remover as mangas, a Convertible torna-se praticamente uma \u003cstrong\u003eGabba\u003c\/strong\u003e — \n    com a vantagem de incluir aberturas frontais com fecho para uma ventilação ainda melhor.  \n    Perfeita para quem viaja ou enfrenta condições variáveis, a Perfetto RoS 2 Convertible é sinónimo de versatilidade, \n    desempenho e inovação.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eMangas destacáveis\u003c\/strong\u003e com fecho acima dos cotovelos — usa como casaco de manga longa ou curta.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido GORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm\u003c\/strong\u003e nas superfícies frontais para isolamento térmico e resistência à água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido GORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch\u003c\/strong\u003e nas superfícies traseiras para maior respirabilidade e elasticidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCosturas seladas nos ombros\u003c\/strong\u003e para proteção adicional contra chuva.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de dupla abertura, coberto para proteção contra o vento e a água.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAbertura de ventilação com fecho\u003c\/strong\u003e na lateral do peito.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e com \u003cstrong\u003epainel refletor\u003c\/strong\u003e para visibilidade em pouca luz.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 379 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 4–16 °C \/ 39–61 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro da tua \n    \u003cstrong\u003ecintura (B)\u003c\/strong\u003e e da tua \u003cstrong\u003eanca (C)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003eanca (C)\u003c\/strong\u003e na zona mais larga dos glúteos.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, sem apertar.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e do sugerido, conforme recomendação da Castelli.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56477902799230,"sku":"4522510064-S","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56477902831998,"sku":"4522510064-M","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56477902864766,"sku":"4522510064-L","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56477902897534,"sku":"4522510064-XL","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56477902930302,"sku":"4522510064-2XL","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56477902963070,"sku":"4522510064-3XL","price":169.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167882295599-0.jpg?v=1762983417"},{"product_id":"castelli-go-jacket-gore-tex-infinium-windstopper-windproof-water-resistant-1","title":"CASACO CASTELLI GO VERMELHO","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI GO\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eO casaco mais versátil da Castelli: um \"all-rounder\" elegante que oferece proteção total contra o vento e uma respirabilidade imbatível.\u003c\/strong\u003e\u003cbr\u003e\n  Se procuras apenas um casaco capaz de enfrentar diversas condições, o Go Jacket é o ponto de partida ideal. Utilizando o tecido GORE-TEX INFINIUM™ WINDSTOPPER® de três camadas — o mesmo material exterior do aclamado casaco Alpha RoS 2 — esta peça protege-te do frio extremo quando combinada com camadas térmicas, ou serve como uma proteção leve e elástica em dias de primavera e outono.\u003c\/p\u003e\n\n  \u003ch3\u003eEngenharia Funcional e Estilo Refinado\u003c\/h3\u003e\n  \u003cp\u003eO diferencial do casaco Go reside no seu equilíbrio. Ao abdicar do forro integrado, permite que sejas tu a decidir o nível de isolamento necessário para cada saída. O ajuste é próximo ao corpo, mas ligeiramente mais relaxado que a linha Perfetto, conferindo-lhe um drapeado elegante. Detalhes como os punhos internos ocultos e a bainha sem costuras elevam o conforto e eliminam qualquer entrada indesejada de ar frio.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® 150:\u003c\/strong\u003e Corta-vento total e resistência à água\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVersatilidade de Camadas:\u003c\/strong\u003e Adaptável de temperaturas amenas a frio intenso\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePunhos Ergonómicos:\u003c\/strong\u003e Interface selada para um ajuste perfeito com as luvas\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolso de Peito com Fecho: R\u003c\/strong\u003eArrrumação segura e de fácil acesso\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVisibilidade 360:\u003c\/strong\u003e Faixa refletora panorâmica na zona dos bolsos\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAcabamento Técnico:\u003c\/strong\u003e Cintura sem costuras para um look clean\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto e elegância em movimento)\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eSimplesmente sai e pedala: o casaco Go garante que estás preparada para qualquer mudança de tempo com o máximo estilo.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56501470101886,"sku":"4521504023 S","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56501470134654,"sku":"4521504023 M","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56501470167422,"sku":"4521504023 L","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56501470200190,"sku":"4521504023 XL","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56501470232958,"sku":"4521504023 2XL","price":139.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167836814810-0.jpg?v=1762015380"},{"product_id":"castelli-go-jacket-gore-tex-infinium-windstopper-windproof-water-resistant-2","title":"CASACO CASTELLI GO VERDE","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI GO\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eO casaco mais versátil da Castelli: um \"all-rounder\" elegante que oferece proteção total contra o vento e uma respirabilidade imbatível.\u003c\/strong\u003e\u003cbr\u003e\n  Se procuras apenas um casaco capaz de enfrentar diversas condições, o Go Jacket é o ponto de partida ideal. Utilizando o tecido GORE-TEX INFINIUM™ WINDSTOPPER® de três camadas — o mesmo material exterior do aclamado casaco Alpha RoS 2 — esta peça protege-te do frio extremo quando combinada com camadas térmicas, ou serve como uma proteção leve e elástica em dias de primavera e outono.\u003c\/p\u003e\n\n  \u003ch3\u003eEngenharia Funcional e Estilo Refinado\u003c\/h3\u003e\n  \u003cp\u003eO diferencial do casaco Go reside no seu equilíbrio. Ao abdicar do forro integrado, permite que sejas tu a decidir o nível de isolamento necessário para cada saída. O ajuste é próximo ao corpo, mas ligeiramente mais relaxado que a linha Perfetto, conferindo-lhe um drapeado elegante. Detalhes como os punhos internos ocultos e a bainha sem costuras elevam o conforto e eliminam qualquer entrada indesejada de ar frio.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® 150:\u003c\/strong\u003e Corta-vento total e resistência à água\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVersatilidade de Camadas:\u003c\/strong\u003e Adaptável de temperaturas amenas a frio intenso\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePunhos Ergonómicos:\u003c\/strong\u003e Interface selada para um ajuste perfeito com as luvas\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolso de Peito com Fecho: R\u003c\/strong\u003eArrrumação segura e de fácil acesso\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eVisibilidade 360:\u003c\/strong\u003e Faixa refletora panorâmica na zona dos bolsos\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAcabamento Técnico:\u003c\/strong\u003e Cintura sem costuras para um look clean\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto e elegância em movimento)\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eSimplesmente sai e pedala: o casaco Go garante que estás preparada para qualquer mudança de tempo com o máximo estilo.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56501470429566,"sku":"4521504075 S","price":139.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56501470462334,"sku":"4521504075 M","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56501470495102,"sku":"4521504075 L","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56501470527870,"sku":"4521504075 XL","price":139.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56501470560638,"sku":"4521504075 2XL","price":139.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167836822639-0.jpg?v=1762015383"},{"product_id":"castelli-espresso-air-cycling-jacket-winter-breathable-warm-fleece-1","title":"CASACO CASTELLI ESPRESSO AIR AZUL","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI ESPRESSO AIR\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eO casaco que redefine o conforto de inverno: calor profundo e respirabilidade absoluta para pedaladas de longa duração.\u003c\/strong\u003e\u003cbr\u003e\n  O Espresso Air foi desenvolvido com a inovadora Tecnologia Ristretto para garantir que te manténs quente e, acima de tudo, seco no interior. Ao ajustar a permeabilidade ao ar do tecido Ristretto Warm, este casaco permite a ventilação necessária para evitar o excesso de humidade, enquanto o seu interior em fleece escovado retém o calor corporal nos dias mais gélidos.\u003c\/p\u003e\n\n  \u003ch3\u003eTecnologia Ristretto e Ajuste Anatómico\u003c\/h3\u003e\n  \u003cp\u003eEm parceria com os especialistas da ITTTAI®, a Castelli criou um tecido exclusivo que oferece uma elasticidade surpreendente para um casaco de inverno, permitindo um ajuste próximo ao corpo sem restrições. Com detalhes pensados para o ciclista de resistência, como a aba de segurança nos bolsos traseiros e a cintura selada a laser, o Espresso Air é a peça definitiva para quem não deixa que o termómetro dite o fim do treino.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecnologia Ristretto:\u003c\/strong\u003e Equilíbrio perfeito entre isolamento, secura e respirabilidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Ristretto Warm:\u003c\/strong\u003e Interior térmico macio com elasticidade avançada\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTratamento DWR (PFAS-free):\u003c\/strong\u003e Repelência à água para proteção contra chuva leve\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolsos de Segurança:\u003c\/strong\u003e 3 bolsos traseiros com aba interna anti-queda\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCintura Raw-Cut:\u003c\/strong\u003e Design plano que impede a entrada de correntes de ar frio\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manuseamento simples mesmo com luvas de inverno\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eSegurança:\u003c\/strong\u003e Faixa refletora sob os bolsos para máxima visibilidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Desempenho otimizado entre 0°C e 10°C\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eConforto, calor e uma respirabilidade sem precedentes fazem deste o primeiro casaco que irás escolher para enfrentar o inverno.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56501470593406,"sku":"4524502424 S","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56501470626174,"sku":"4524502424 M","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56501470658942,"sku":"4524502424 L","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56501470691710,"sku":"4524502424 XL","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56501470724478,"sku":"4524502424 2XL","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56501470757246,"sku":"4524502424 3XL","price":169.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167822345999-0.jpg?v=1762015385"},{"product_id":"castelli-espresso-air-cycling-jacket-winter-breathable-warm-fleece-2","title":"CASACO CASTELLI ESPRESSO AIR BORGONHA","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI ESPRESSO AIR\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eO casaco que redefine o conforto de inverno: calor profundo e respirabilidade absoluta para pedaladas de longa duração.\u003c\/strong\u003e\u003cbr\u003e\n  O Espresso Air foi desenvolvido com a inovadora Tecnologia Ristretto para garantir que te manténs quente e, acima de tudo, seco no interior. Ao ajustar a permeabilidade ao ar do tecido Ristretto Warm, este casaco permite a ventilação necessária para evitar o excesso de humidade, enquanto o seu interior em fleece escovado retém o calor corporal nos dias mais gélidos.\u003c\/p\u003e\n\n  \u003ch3\u003eTecnologia Ristretto e Ajuste Anatómico\u003c\/h3\u003e\n  \u003cp\u003eEm parceria com os especialistas da ITTTAI®, a Castelli criou um tecido exclusivo que oferece uma elasticidade surpreendente para um casaco de inverno, permitindo um ajuste próximo ao corpo sem restrições. Com detalhes pensados para o ciclista de resistência, como a aba de segurança nos bolsos traseiros e a cintura selada a laser, o Espresso Air é a peça definitiva para quem não deixa que o termómetro dite o fim do treino.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecnologia Ristretto:\u003c\/strong\u003e Equilíbrio perfeito entre isolamento, secura e respirabilidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Ristretto Warm:\u003c\/strong\u003e Interior térmico macio com elasticidade avançada\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTratamento DWR (PFAS-free):\u003c\/strong\u003e Repelência à água para proteção contra chuva leve\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBolsos de Segurança:\u003c\/strong\u003e 3 bolsos traseiros com aba interna anti-queda\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCintura Raw-Cut:\u003c\/strong\u003e Design plano que impede a entrada de correntes de ar frio\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manuseamento simples mesmo com luvas de inverno\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eSegurança:\u003c\/strong\u003e Faixa refletora sob os bolsos para máxima visibilidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Desempenho otimizado entre 0°C e 10°C\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eConforto, calor e uma respirabilidade sem precedentes fazem deste o primeiro casaco que irás escolher para enfrentar o inverno.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56501470822782,"sku":"4524502625 S","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56501470855550,"sku":"4524502625 M","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56501470888318,"sku":"4524502625 L","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56501470921086,"sku":"4524502625 XL","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56501470953854,"sku":"4524502625 2XL","price":169.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56501470986622,"sku":"4524502625 3XL","price":169.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167822348113-0.jpg?v=1762015388"},{"product_id":"castelli-entrata-2-cycling-jacket-windproof-breathable-thermal-back-panel-1","title":"BLUSÃO CASTELLI ENTRATA 2 PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n\u003ch2\u003eCASTELLI ENTRATA 2 JACKET\u003c\/h2\u003e\n\u003cp\u003eA \u003cstrong\u003eCastelli Entrata 2 Jacket\u003c\/strong\u003e foi concebida para proporcionar \u003cstrong\u003eproteção eficaz contra o vento\u003c\/strong\u003e e o frio moderado, mantendo uma \u003cstrong\u003erespirabilidade excecional\u003c\/strong\u003e. Ideal para saídas em dias frescos, combina tecidos técnicos de elevada qualidade com o ajuste confortável característico da Castelli.\u003c\/p\u003e\n\u003cp\u003eA parte frontal e as mangas são fabricadas com o inovador \u003cstrong\u003etecido Polartec® AirCore™\u003c\/strong\u003e de 298 g, que oferece \u003cstrong\u003eproteção contra o vento e permeabilidade ao ar\u003c\/strong\u003e líder na sua classe. Este tecido electrofiado cria uma barreira eficaz contra o frio sem comprometer a ventilação. Nas costas, o tecido \u003cstrong\u003eWarmer fleece elástico em poliéster\u003c\/strong\u003e assegura uma excelente gestão da humidade e respirabilidade.\u003c\/p\u003e\n\u003cp\u003eO \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e facilita o ajuste em andamento, enquanto os \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e oferecem amplo espaço de arrumação. O \u003cstrong\u003epormenor refletor na base dos bolsos\u003c\/strong\u003e melhora a visibilidade em condições de pouca luz.\u003c\/p\u003e\n\u003cp\u003eUma escolha equilibrada entre \u003cstrong\u003eproteção térmica, respirabilidade e conforto\u003c\/strong\u003e, tornando a Entrata 2 a companheira ideal para treinos ou passeios durante o outono e o início do inverno.\u003c\/p\u003e\n\u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eCasaco de peso intermédio\u003c\/strong\u003e para condições frescas a frias.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFrente e mangas em Polartec® AirCore™\u003c\/strong\u003e para proteção contra o vento e respirabilidade superior.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTecido Warmer fleece elástico\u003c\/strong\u003e nas costas para melhor gestão térmica e de humidade.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento suave.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e espaçosos para transportar o essencial.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDetalhes refletivos\u003c\/strong\u003e para maior visibilidade em ambientes com pouca luz.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 403 g\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 6–15 °C \/ 43–59 °F\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n\u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n\u003cp\u003ePara garantir o melhor ajuste e conforto, mede o perímetro do teu \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara com o guia de tamanhos Castelli abaixo.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n\u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n\u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n\u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e Calcule o seu tamanho \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003c\/p\u003e\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n\u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"cc-size-box\" hidden=\"\"\u003e\u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\u003c\/div\u003e\n\u003c\/dialog\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\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56501472788862,"sku":"4525507085 S","price":159.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56501472821630,"sku":"4525507085 M","price":159.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56501472854398,"sku":"4525507085 L","price":159.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56501472887166,"sku":"4525507085 XL","price":159.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56501472919934,"sku":"4525507085 2XL","price":159.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56501472952702,"sku":"4525507085 3XL","price":159.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167819010451-0.jpg?v=1762015412"},{"product_id":"castelli-perfetto-ros-3-cycling-jacket-windproof-waterproof-breathable-1","title":"CASACO CASTELLI PERFETTO RoS 3 PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI PERFETTO RoS 3\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco que faz tudo: proteção total contra os elementos com uma respirabilidade que lidera a indústria.\u003c\/strong\u003e\u003cbr\u003eO Perfetto RoS 3 representa a evolução máxima da peça mais icónica da Castelli. Graças à tecnologia Polartec® AirCore™, este casaco consegue o impossível: bloquear o vento e a chuva com eficácia, permitindo simultaneamente que o vapor de suor saia de forma inédita. É a peça essencial para quem procura performance aerodinâmica sem sacrificar o conforto térmico.\u003c\/p\u003e\n\u003ch3\u003eEngenharia Polartec® e Detalhes RoS (Rain or Shine)\u003c\/h3\u003e\n\u003cp\u003eDesenhado para brilhar tanto com sol como sob chuva moderada, o Perfetto RoS 3 foca-se na versatilidade. O seu fecho YKK® de abertura dupla permite ventilar o corpo rapidamente nas subidas, enquanto as aberturas laterais no peito oferecem um controlo térmico adicional. Com uma construção selada nos ombros e uma cauda longa para proteção contra salpicos, este casaco garante que permaneces focado na estrada, independentemente da meteorologia.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMembrana Polartec® AirCore™:\u003c\/strong\u003e Respirabilidade líder de mercado e proteção total contra o vento\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatilidade Térmica:\u003c\/strong\u003e Adaptável de 4°C a 14°C conforme as camadas base utilizadas\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon® Duplo:\u003c\/strong\u003e Facilita a regulação de temperatura e o acesso aos bolsos da jersey\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAberturas de Ventilação:\u003c\/strong\u003e Canais laterais com fecho para circulação de ar personalizada\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCauda Prolongada:\u003c\/strong\u003e Proteção extra contra a sujidade e água projetada pela roda traseira\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArrumação Eficiente:\u003c\/strong\u003e 3 bolsos traseiros com orifícios de drenagem de água\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Costuras refletoras nos ombros e detalhes na base dos bolsos\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste técnico de alta competição)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eO Perfetto RoS 3 é o padrão de ouro pelo qual todos os outros casacos de ciclismo de performance são medidos.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56501473182078,"sku":"4525556085 S","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56501473214846,"sku":"4525556085 M","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56501473247614,"sku":"4525556085 L","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56501473280382,"sku":"4525556085 XL","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56501473313150,"sku":"4525556085 2XL","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56501473345918,"sku":"4525556085 3XL","price":189.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167817020703-0.jpg?v=1762015416"},{"product_id":"castelli-perfetto-ros-3-cycling-jacket-windproof-waterproof-breathable-2","title":"CASACO CASTELLI PERFETTO RoS 3 VERMELHO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI PERFETTO RoS 3\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco que faz tudo: proteção total contra os elementos com uma respirabilidade que lidera a indústria.\u003c\/strong\u003e\u003cbr\u003eO Perfetto RoS 3 representa a evolução máxima da peça mais icónica da Castelli. Graças à tecnologia Polartec® AirCore™, este casaco consegue o impossível: bloquear o vento e a chuva com eficácia, permitindo simultaneamente que o vapor de suor saia de forma inédita. É a peça essencial para quem procura performance aerodinâmica sem sacrificar o conforto térmico.\u003c\/p\u003e\n\u003ch3\u003eEngenharia Polartec® e Detalhes RoS (Rain or Shine)\u003c\/h3\u003e\n\u003cp\u003eDesenhado para brilhar tanto com sol como sob chuva moderada, o Perfetto RoS 3 foca-se na versatilidade. O seu fecho YKK® de abertura dupla permite ventilar o corpo rapidamente nas subidas, enquanto as aberturas laterais no peito oferecem um controlo térmico adicional. Com uma construção selada nos ombros e uma cauda longa para proteção contra salpicos, este casaco garante que permaneces focado na estrada, independentemente da meteorologia.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMembrana Polartec® AirCore™:\u003c\/strong\u003e Respirabilidade líder de mercado e proteção total contra o vento\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatilidade Térmica:\u003c\/strong\u003e Adaptável de 4°C a 14°C conforme as camadas base utilizadas\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon® Duplo:\u003c\/strong\u003e Facilita a regulação de temperatura e o acesso aos bolsos da jersey\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAberturas de Ventilação:\u003c\/strong\u003e Canais laterais com fecho para circulação de ar personalizada\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCauda Prolongada:\u003c\/strong\u003e Proteção extra contra a sujidade e água projetada pela roda traseira\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArrumação Eficiente:\u003c\/strong\u003e 3 bolsos traseiros com orifícios de drenagem de água\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Costuras refletoras nos ombros e detalhes na base dos bolsos\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste técnico de alta competição)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eO Perfetto RoS 3 é o padrão de ouro pelo qual todos os outros casacos de ciclismo de performance são medidos.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56501473673598,"sku":"4525556645 S","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56501473706366,"sku":"4525556645 M","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56501473739134,"sku":"4525556645 L","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56501473771902,"sku":"4525556645 XL","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56501473804670,"sku":"4525556645 2XL","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56501473837438,"sku":"4525556645 3XL","price":189.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167817709905-0.jpg?v=1762015424"},{"product_id":"ale-pragma-fondo-3-0-cycling-jacket-windproof-thermal-winter-cycling-jacket","title":"CASACO ALÉ PRAGMA FONDO 3.0 AZUL","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003cp\u003e\u003cstrong\u003eProteção e estilo num só: veste como uma camisola, protege como um casaco.\u003c\/strong\u003e\u003cbr\u003eO \u003cstrong\u003eAlé Pragma Fondo 3.0 Cycling Jacket\u003c\/strong\u003e é uma peça \u003cstrong\u003etérmica e corta-vento\u003c\/strong\u003e pensada para pedalar quando as temperaturas se aproximam de zero. Oferece o conforto e o ajuste de uma camisola, mas com as características de proteção de um verdadeiro casaco.\u003c\/p\u003e\n\u003cp\u003eA construção segue as diretrizes \u003cstrong\u003eBody Mapping\u003c\/strong\u003e da Alé, com seleção e posicionamento estratégico de tecidos para garantir \u003cstrong\u003erespirabilidade\u003c\/strong\u003e e \u003cstrong\u003eproteção\u003c\/strong\u003e, mesmo em treinos intensos. O tecido de \u003cstrong\u003e3 camadas com membrana\u003c\/strong\u003e bloqueia o vento, enquanto o \u003cstrong\u003efleece interior macio\u003c\/strong\u003e ajuda a manter o calor e afasta o suor da pele — sem aquela sensação de frio nas costas.\u003c\/p\u003e\n\u003ch3\u003eDestaques\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTérmico + Corta-vento\u003c\/strong\u003e para condições frias (perto de 0°C)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBody Mapping\u003c\/strong\u003e para equilíbrio entre proteção e ventilação\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido 3 camadas com membrana\u003c\/strong\u003e para bloquear o vento\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFleece interior\u003c\/strong\u003e para aquecimento e gestão de humidade\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDWR\u003c\/strong\u003e (repelência à água durável)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos anatómicos raw-cut\u003c\/strong\u003e para conforto e ajuste limpo\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDetalhes refletores\u003c\/strong\u003e para maior segurança\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrês bolsos traseiros\u003c\/strong\u003e para essenciais\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEspecificações\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 345 g\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecidos:\u003c\/strong\u003e n-wind dwr cube 385 | soft cloth 250\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eComposição\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido principal (exterior):\u003c\/strong\u003e 89% poliéster (fibras recicladas), 11% elastano\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido principal (interior):\u003c\/strong\u003e 88% poliéster, 12% elastano\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eMembrana (não-tecido):\u003c\/strong\u003e 100% poliuretano\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCostas \/ colar interior:\u003c\/strong\u003e 85% poliamida, 15% elastano\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunho:\u003c\/strong\u003e 83% poliéster, 17% elastano\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eClassificação\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eRespirabilidade\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTermicidade\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorta-vento\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eRepelência à água\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eIdeal para treinos de inverno quando precisas de proteção contra vento e frio, sem perder conforto, mobilidade e respirabilidade.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Alé","offers":[{"title":"XS","offer_id":56699361460606,"sku":"L26019712 XS","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":56699361493374,"sku":"L26019712 S","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56699361526142,"sku":"L26019712 M","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56699361558910,"sku":"L26019712 L","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56699361591678,"sku":"L26019712 XL","price":149.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56699361624446,"sku":"L26019712 2XL","price":149.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56699361657214,"sku":"L26019712 3XL","price":149.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167889880982-0.jpg?v=1765538498"},{"product_id":"ale-pro-team-green-project-bardiani-csf-faizane-winter-jacket-thermal","title":"CASACO ALÉ TEAM PROJECT BARDIANI CSF FAIZANÈ","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eALÉ TEAM PROJECT BARDIANI CSF FAIZANÈ – CASACO DE INVERNO\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eCasaco térmico de inverno de alto desempenho, concebido para condições frias e exigentes.\u003c\/strong\u003e\u003cbr\u003eO \u003cstrong\u003eAlé Team Project Bardiani CSF Faizanè Winter Jacket\u003c\/strong\u003e é um casaco de inverno de elevada qualidade, com ajuste Racing e desenvolvido para oferecer proteção total contra o frio, vento e humidade, sem comprometer a respirabilidade.\u003c\/p\u003e\n\u003cp\u003eProduzido em tecido \u003cstrong\u003eWindTex\u003c\/strong\u003e, é \u003cstrong\u003e100% corta-vento\u003c\/strong\u003e e resistente à água. A utilização de \u003cstrong\u003efibras de carbono\u003c\/strong\u003e protege o corpo da energia estática e dos raios UV, enquanto a estrutura do tecido acelera a evaporação da humidade, mantendo a pele mais seca e confortável.\u003c\/p\u003e\n\u003cp\u003eO interior em \u003cstrong\u003epolar fleece\u003c\/strong\u003e garante isolamento térmico adicional, combinado com uma \u003cstrong\u003emembrana corta-vento e impermeável\u003c\/strong\u003e ideal para retenção de calor. As \u003cstrong\u003efaixas de silicone na bainha\u003c\/strong\u003e impedem que o casaco suba durante a pedalada, assegurando estabilidade total.\u003c\/p\u003e\n\u003ch3\u003eDestaques\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eMembrana WindTex\u003c\/strong\u003e – frente 100% corta-vento\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eResistente à água\u003c\/strong\u003e para proteção em condições adversas\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eInterior em fleece térmico\u003c\/strong\u003e para maior aquecimento\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFibras de carbono\u003c\/strong\u003e contra energia estática e proteção UV\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eSilicone interno na cintura\u003c\/strong\u003e para ajuste seguro\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDetalhes refletores\u003c\/strong\u003e para maior segurança\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBolsos traseiros\u003c\/strong\u003e para transporte de essenciais\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eMangas aplicadas (set-in sleeves)\u003c\/strong\u003e para ajuste ergonómico\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEspecificações\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eIntervalo de temperatura:\u003c\/strong\u003e 0° a 8°C\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 400 g\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eAjuste:\u003c\/strong\u003e Racing\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eIdeal para treinos e competições de inverno, quando procuras proteção térmica máxima, controlo da humidade e desempenho profissional.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Alé","offers":[{"title":"S","offer_id":56699363066238,"sku":"R25140129 S","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56699363099006,"sku":"R25140129 M","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56699363131774,"sku":"R25140129 L","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56699363164542,"sku":"R25140129 XL","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56699363197310,"sku":"R25140129 2XL","price":99.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167931155069-0.jpg?v=1765538521"},{"product_id":"castelli-mortirolo-6s-cycling-jacket-gore-tex-infinium-windproof-winter","title":"CASACO CASTELLI MORTIROLO 6S PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI MORTIROLO 6S\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco perfeito para invernos amenos ou para ciclistas que tendem a sobreaquecer durante o esforço intenso.\u003c\/strong\u003e\u003cbr\u003eO Mortirolo 6S foi desenhado para ser uma peça quente e acolhedora em dias frescos, focando-se na prevenção da acumulação de humidade no interior. É a escolha ideal para treinos de alta intensidade ou para quem transpira muito, oferecendo proteção total contra o vento na frente e uma ventilação excecional nas costas.\u003c\/p\u003e\n\u003ch3\u003eEngenharia de Tecidos GORE-TEX e Warmer\u003c\/h3\u003e\n\u003cp\u003eA Castelli utilizou uma construção estratégica para garantir o conforto: as zonas mais expostas ao frio (peito e braços) contam com o tecido GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast com interior em fleece luxuoso. Para equilibrar a temperatura, as costas utilizam o tecido Warmer, que abdica da membrana corta-vento para permitir que o suor evapore rapidamente. O resultado é um ciclista mais seco, mais quente e muito mais confortável.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eProteção Frontal:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Corta-vento e repelente à água)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGestão de Humidade:\u003c\/strong\u003e Painel traseiro Warmer para respirabilidade máxima\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSegurança Ativa:\u003c\/strong\u003e Painéis e detalhes refletores no peito e bolsos\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Abertura e fecho suave mesmo em movimento\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatilidade de Ajuste:\u003c\/strong\u003e Corte regular que acomoda camadas base térmicas\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros amplos\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Excelente performance entre 6°C e 14°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eFuncional, técnico e com um ajuste que se adapta a quase todas as fisionomias, o Mortirolo 6S é um clássico de versatilidade para o ciclismo de inverno.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56869449597310,"sku":"4522509030-S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56869449630078,"sku":"4522509030-M","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56869449662846,"sku":"4522509030-L","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56869449695614,"sku":"4522509030-XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56869449728382,"sku":"4522509030-XXL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56869449761150,"sku":"4522509030-3XL","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167898923597-0.jpg?v=1769723310"},{"product_id":"castelli-mortirolo-6s-cycling-jacket-gore-tex-infinium-windproof-winter-1","title":"CASACO CASTELLI MORTIROLO 6S CASTANHO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI MORTIROLO 6S\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco perfeito para invernos amenos ou para ciclistas que tendem a sobreaquecer durante o esforço intenso.\u003c\/strong\u003e\u003cbr\u003eO Mortirolo 6S foi desenhado para ser uma peça quente e acolhedora em dias frescos, focando-se na prevenção da acumulação de humidade no interior. É a escolha ideal para treinos de alta intensidade ou para quem transpira muito, oferecendo proteção total contra o vento na frente e uma ventilação excecional nas costas.\u003c\/p\u003e\n\u003ch3\u003eEngenharia de Tecidos GORE-TEX e Warmer\u003c\/h3\u003e\n\u003cp\u003eA Castelli utilizou uma construção estratégica para garantir o conforto: as zonas mais expostas ao frio (peito e braços) contam com o tecido GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast com interior em fleece luxuoso. Para equilibrar a temperatura, as costas utilizam o tecido Warmer, que abdica da membrana corta-vento para permitir que o suor evapore rapidamente. O resultado é um ciclista mais seco, mais quente e muito mais confortável.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eProteção Frontal:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Corta-vento e repelente à água)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGestão de Humidade:\u003c\/strong\u003e Painel traseiro Warmer para respirabilidade máxima\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSegurança Ativa:\u003c\/strong\u003e Painéis e detalhes refletores no peito e bolsos\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Abertura e fecho suave mesmo em movimento\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatilidade de Ajuste:\u003c\/strong\u003e Corte regular que acomoda camadas base térmicas\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros amplos\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Excelente performance entre 6°C e 14°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eFuncional, técnico e com um ajuste que se adapta a quase todas as fisionomias, o Mortirolo 6S é um clássico de versatilidade para o ciclismo de inverno.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56869450383742,"sku":"4522509304-S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56869450416510,"sku":"4522509304-M","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56869450449278,"sku":"4522509304-L","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56869450482046,"sku":"4522509304-XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56869450514814,"sku":"4522509304-XXL","price":129.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167898933986-0.jpg?v=1769723318"},{"product_id":"castelli-finestre-cycling-jacket-gore-tex-infinium-windproof-thermal-fleece","title":"CASACO CASTELLI FINESTRE AZUL","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI FINESTRE\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eNomeado em honra da mítica subida do Giro d'Italia, este casaco é o companheiro perfeito tanto para o asfalto como para os trilhos de gravel.\u003c\/strong\u003e\u003cbr\u003e\n  O casaco Finestre foi desenhado para ciclistas que procuram versatilidade sem comprometer a performance. Ao combinar tecidos GORE-TEX INFINIUM™ WINDSTOPPER® com um interior em fleece escovado, garante que o frio não entra, enquanto a construção inteligente das costas permite que o corpo respire nas subidas mais exigentes.\u003c\/p\u003e\n\n  \u003ch3\u003eProteção GORE-TEX e Engenharia Térmica\u003c\/h3\u003e\n  \u003cp\u003eA utilização estratégica dos materiais X-Fast e X-Mid assegura proteção total contra o vento onde é mais necessário. O diferencial reside no painel traseiro Warmer: ao abdicar da membrana nesta zona específica, a Castelli garante que o suor evapora rapidamente, evitando o efeito de arrefecimento pós-esforço. É um casaco funcional, com fecho YKK® Vislon® para ventilação rápida e um elástico de silicone na cintura para manter tudo no lugar.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER®:\u003c\/strong\u003e Proteção total contra o vento e repelência à água\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eInterior Fleece:\u003c\/strong\u003e Isolamento térmico macio para dias frios\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel Traseiro Warmer:\u003c\/strong\u003e Máxima respirabilidade para controlo de humidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manipulação simples e eficaz durante a pedalada\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros de fácil acesso\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eSegurança:\u003c\/strong\u003e Painel refletor de alta visibilidade integrado\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto técnico para qualquer terreno)\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Desempenho otimizado entre 6°C e 14°C\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eSeja em asfalto liso ou em gravilha solta, o Finestre oferece o equilíbrio ideal entre calor e ventilação.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56869455659390,"sku":"4521505070-S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56869455692158,"sku":"4521505070-M","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56869455724926,"sku":"4521505070-L","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56869455757694,"sku":"4521505070-XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56869455790462,"sku":"4521505070-XXL","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167909328870-0.jpg?v=1769723323"},{"product_id":"castelli-finestre-cycling-jacket-gore-tex-infinium-windproof-thermal-fleece-1","title":"CASACO CASTELLI FINESTRE VERDE","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI FINESTRE\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eNomeado em honra da mítica subida do Giro d'Italia, este casaco é o companheiro perfeito tanto para o asfalto como para os trilhos de gravel.\u003c\/strong\u003e\u003cbr\u003e\n  O casaco Finestre foi desenhado para ciclistas que procuram versatilidade sem comprometer a performance. Ao combinar tecidos GORE-TEX INFINIUM™ WINDSTOPPER® com um interior em fleece escovado, garante que o frio não entra, enquanto a construção inteligente das costas permite que o corpo respire nas subidas mais exigentes.\u003c\/p\u003e\n\n  \u003ch3\u003eProteção GORE-TEX e Engenharia Térmica\u003c\/h3\u003e\n  \u003cp\u003eA utilização estratégica dos materiais X-Fast e X-Mid assegura proteção total contra o vento onde é mais necessário. O diferencial reside no painel traseiro Warmer: ao abdicar da membrana nesta zona específica, a Castelli garante que o suor evapora rapidamente, evitando o efeito de arrefecimento pós-esforço. É um casaco funcional, com fecho YKK® Vislon® para ventilação rápida e um elástico de silicone na cintura para manter tudo no lugar.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER®:\u003c\/strong\u003e Proteção total contra o vento e repelência à água\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eInterior Fleece:\u003c\/strong\u003e Isolamento térmico macio para dias frios\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel Traseiro Warmer:\u003c\/strong\u003e Máxima respirabilidade para controlo de humidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manipulação simples e eficaz durante a pedalada\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros de fácil acesso\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eSegurança:\u003c\/strong\u003e Painel refletor de alta visibilidade integrado\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto técnico para qualquer terreno)\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Desempenho otimizado entre 6°C e 14°C\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eSeja em asfalto liso ou em gravilha solta, o Finestre oferece o equilíbrio ideal entre calor e ventilação.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56869465850238,"sku":"4521505075-S","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56869465883006,"sku":"4521505075-M","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56869465915774,"sku":"4521505075-L","price":129.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56869465948542,"sku":"4521505075-XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56869465981310,"sku":"4521505075-XXL","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167909336431-0.jpg?v=1769723329"},{"product_id":"castelli-finestre-cycling-jacket-gore-tex-infinium-windproof-thermal-fleece-2","title":"CASACO CASTELLI FINESTRE PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n  \u003ch2\u003eCASTELLI FINESTRE\u003c\/h2\u003e\n\n  \u003cp\u003e\u003cstrong\u003eNomeado em honra da mítica subida do Giro d'Italia, este casaco é o companheiro perfeito tanto para o asfalto como para os trilhos de gravel.\u003c\/strong\u003e\u003cbr\u003e\n  O casaco Finestre foi desenhado para ciclistas que procuram versatilidade sem comprometer a performance. Ao combinar tecidos GORE-TEX INFINIUM™ WINDSTOPPER® com um interior em fleece escovado, garante que o frio não entra, enquanto a construção inteligente das costas permite que o corpo respire nas subidas mais exigentes.\u003c\/p\u003e\n\n  \u003ch3\u003eProteção GORE-TEX e Engenharia Térmica\u003c\/h3\u003e\n  \u003cp\u003eA utilização estratégica dos materiais X-Fast e X-Mid assegura proteção total contra o vento onde é mais necessário. O diferencial reside no painel traseiro Warmer: ao abdicar da membrana nesta zona específica, a Castelli garante que o suor evapora rapidamente, evitando o efeito de arrefecimento pós-esforço. É um casaco funcional, com fecho YKK® Vislon® para ventilação rápida e um elástico de silicone na cintura para manter tudo no lugar.\u003c\/p\u003e\n\n  \u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n  \u003cul class=\"cc-list\"\u003e\n    \u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER®:\u003c\/strong\u003e Proteção total contra o vento e repelência à água\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eInterior Fleece:\u003c\/strong\u003e Isolamento térmico macio para dias frios\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel Traseiro Warmer:\u003c\/strong\u003e Máxima respirabilidade para controlo de humidade\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manipulação simples e eficaz durante a pedalada\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros de fácil acesso\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eSegurança:\u003c\/strong\u003e Painel refletor de alta visibilidade integrado\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto técnico para qualquer terreno)\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Desempenho otimizado entre 6°C e 14°C\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:13px;color:#555;margin-top:10px;\"\u003eSeja em asfalto liso ou em gravilha solta, o Finestre oferece o equilíbrio ideal entre calor e ventilação.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .cc-simple {\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n    color: #111;\n    line-height: 1.6;\n  }\n  .cc-simple h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    letter-spacing: .5px;\n    margin-bottom: .75rem;\n    text-transform: uppercase;\n  }\n  .cc-simple h3 {\n    font-size: 1.1rem;\n    margin: 1.1rem 0 .5rem;\n    font-weight: 600;\n  }\n  .cc-simple p {\n    margin: .25rem 0 .75rem;\n  }\n  .cc-list {\n    margin: .5rem 0 1rem 1.25rem;\n  }\n  .cc-list li {\n    margin: .25rem 0;\n  }\n\u003c\/style\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56869469356414,"sku":"4521505085-S","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56869469389182,"sku":"4521505085-M","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56869469421950,"sku":"4521505085-L","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56869469454718,"sku":"4521505085-XL","price":129.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56869469487486,"sku":"4521505085-2XL","price":129.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167909342967-0.jpg?v=1769723330"},{"product_id":"castelli-alpha-ros-2-w-women-s-cycling-jacket-winter-wind-rain-protection-1","title":"CASACO MULHER CASTELLI ALPHA RoS 2 AMARELO","description":"\u003ch2\u003eCASTELLI ALPHA ROS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco de inverno definitivo: calor, respirabilidade e proteção extrema contra a chuva.\u003c\/strong\u003e\u003cbr\u003eO Alpha RoS 2 W representa a visão da Castelli sobre o casaco de inverno perfeito. Na sua terceira geração, este modelo continua a liderar o mercado ao resolver o maior problema do ciclismo de inverno: a gestão da humidade. Graças à sua construção inovadora, mantém-te seca e quente mesmo durante treinos de alta intensidade sob temperaturas negativas.\u003c\/p\u003e\n\u003ch3\u003eTecnologia de Dupla Camada Alpha\u003c\/h3\u003e\n\u003cp\u003eO segredo deste casaco reside na separação entre a camada de isolamento térmico e a barreira exterior corta-vento. Esta construção permite abrir a camada externa para ventilar e expulsar o suor durante as subidas, mantendo a camada interna fechada para proteger o corpo do frio. O resultado é um interior sempre seco, evitando o choque térmico nas descidas.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eMembrana:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 150\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eEngenharia:\u003c\/strong\u003e Rain or Shine (Máxima performance em seco ou molhado)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIsolamento:\u003c\/strong\u003e Camada interna 3D mais macia e quente para um ajuste superior\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos:\u003c\/strong\u003e Design de camada dupla para integração perfeita com as luvas\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eSegurança:\u003c\/strong\u003e Detalhes refletores cortados a laser nos bolsos traseiros\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Conforto garantido entre -5°C e 10°C\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste ergonómico feminino)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eA peça mais versátil e tecnologicamente avançada para treinos de inverno, independentemente das condições climatéricas.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56885242593662,"sku":"4520553790 XS","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56885242626430,"sku":"4520553790 S","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56885242659198,"sku":"4520553790 M","price":189.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56885242691966,"sku":"4520553790 L","price":189.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56885242724734,"sku":"4520553790 XL","price":189.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167793243230-0.jpg?v=1770132923"},{"product_id":"castelli-gabba-ros-2-w-women-s-cycling-jacket-winter-wind-rain-protection-1","title":"CASACO MULHER CASTELLI GABBA RoS 2 W VERDE","description":"\u003ch2\u003eCASTELLI GABBA RoS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eA 5.ª geração da peça que revolucionou o ciclismo profissional: a proteção total do core sem o risco de sobreaquecimento.\u003c\/strong\u003e\u003cbr\u003eEm 2010, a Castelli apresentou a Gabba aos profissionais e mudou para sempre a forma como se corre sob chuva e frio. A Gabba RoS 2 W continua este legado como um casaco de manga curta resistente à água, perfeito para condições frescas. Ao manter o tronco quente e seco sem o volume de um casaco tradicional, permite uma agilidade total, sendo a peça indispensável para o outono e primavera.\u003c\/p\u003e\n\u003ch3\u003eInovação GORE-TEX INFINIUM™\u003c\/h3\u003e\n\u003cp\u003eEsta versão está mais impermeável do que nunca, mantendo a respirabilidade lendária que tornou a Gabba famosa. Utiliza dois tecidos GORE-TEX exclusivos: um mais quente e resistente na frente e ombros, e um mais leve e elástico nas costas para libertar o calor excessivo. O novo fecho YKK® Vislon® de abertura dupla facilita a regulação da temperatura e o acesso aos bolsos internos durante a pedalada.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido Frontal:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm (100% corta-vento)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido Traseiro:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch para ventilação\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVersatilidade:\u003c\/strong\u003e Ideal para usar com manguitos Nano Flex em dias húmidos\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® de dupla abertura para ventilação ajustável\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção:\u003c\/strong\u003e Costuras dos ombros seladas contra a chuva\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Painel refletor traseiro de grandes dimensões\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Race Fit (Ajuste aerodinâmico de competição)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eCombine esta peça com os seus sapatos favoritos e manguitos para enfrentar qualquer previsão meteorológica com confiança.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56885242986878,"sku":"4522544363 XS","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56885243019646,"sku":"4522544363 S","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56885243052414,"sku":"4522544363 M","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56885243085182,"sku":"4522544363 L","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56885243117950,"sku":"4522544363 XL","price":119.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167790782907-0.jpg?v=1770132926"},{"product_id":"castelli-transition-2-w-women-s-winter-cycling-jacket-gore-tex-infinium-1","title":"CASACO MULHER CASTELLI TRANSITION 2 W PRETO","description":"\u003ch2\u003eCASTELLI TRANSITION 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco ideal para a transição de estações: proteção contra o vento sem o volume excessivo de um casaco de inverno pesado.\u003c\/strong\u003e\u003cbr\u003eO casaco Transition 2 W foi desenhado para aqueles dias de outono e primavera em que precisas de cortar o frio matinal, mas queres manter a respirabilidade máxima. Utilizando a tecnologia GORE-TEX INFINIUM™ na parte frontal, este casaco bloqueia o vento com eficácia, enquanto as costas em tecido fleece Warmer garantem que o teu corpo mantém a temperatura ideal sem acumular transpiração excessiva.\u003c\/p\u003e\n\u003ch3\u003eLeveza e Proteção Inteligente\u003c\/h3\u003e\n\u003cp\u003ePerfeito para quem vive em climas moderados ou para dias de sol de inverno, o Transition 2 destaca-se pelo seu fecho assimétrico YKK® Vislon®, que evita o desconforto do fecho em contacto direto com o queixo. A sua construção leve permite que seja usado sozinho sobre uma camada base fina ou combinado com uma jersey térmica para estender o seu uso quando as temperaturas descem abaixo dos 8°C.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eFrente e Mangas:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Corta-vento total)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePainel Traseiro:\u003c\/strong\u003e Tecido Warmer escovado para ventilação e calor\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® assimétrico de deslize suave\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros de fácil acesso\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVersatilidade:\u003c\/strong\u003e O casaco mais leve da gama para meia-estação\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto anatómico feminino)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Performance otimizada entre 8°C e 16°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eA peça essencial para ciclistas que procuram uma proteção aerodinâmica e leve contra os elementos sem comprometer a regulação térmica.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56885243707774,"sku":"4523544085 XS","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56885243740542,"sku":"4523544085 S","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56885243773310,"sku":"4523544085 M","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56885243806078,"sku":"4523544085 L","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56885243838846,"sku":"4523544085 XL","price":119.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167864346566-0.jpg?v=1770132931"},{"product_id":"castelli-transition-2-w-women-s-winter-cycling-jacket-gore-tex-infinium-2","title":"CASACO MULHER CASTELLI TRANSITION 2 W ROXO","description":"\u003ch2\u003eCASTELLI TRANSITION 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eO casaco ideal para a transição de estações: proteção contra o vento sem o volume excessivo de um casaco de inverno pesado.\u003c\/strong\u003e\u003cbr\u003eO casaco Transition 2 W foi desenhado para aqueles dias de outono e primavera em que precisas de cortar o frio matinal, mas queres manter a respirabilidade máxima. Utilizando a tecnologia GORE-TEX INFINIUM™ na parte frontal, este casaco bloqueia o vento com eficácia, enquanto as costas em tecido fleece Warmer garantem que o teu corpo mantém a temperatura ideal sem acumular transpiração excessiva.\u003c\/p\u003e\n\u003ch3\u003eLeveza e Proteção Inteligente\u003c\/h3\u003e\n\u003cp\u003ePerfeito para quem vive em climas moderados ou para dias de sol de inverno, o Transition 2 destaca-se pelo seu fecho assimétrico YKK® Vislon®, que evita o desconforto do fecho em contacto direto com o queixo. A sua construção leve permite que seja usado sozinho sobre uma camada base fina ou combinado com uma jersey térmica para estender o seu uso quando as temperaturas descem abaixo dos 8°C.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eFrente e Mangas:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Corta-vento total)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePainel Traseiro:\u003c\/strong\u003e Tecido Warmer escovado para ventilação e calor\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® assimétrico de deslize suave\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eArrumação:\u003c\/strong\u003e 3 bolsos traseiros de fácil acesso\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eVersatilidade:\u003c\/strong\u003e O casaco mais leve da gama para meia-estação\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto anatómico feminino)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntervalo Térmico:\u003c\/strong\u003e Performance otimizada entre 8°C e 16°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eA peça essencial para ciclistas que procuram uma proteção aerodinâmica e leve contra os elementos sem comprometer a regulação térmica.\u003c\/p\u003e","brand":"Castelli","offers":[{"title":"XS","offer_id":56885243904382,"sku":"4523544536 XS","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56885243937150,"sku":"4523544536 S","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56885243969918,"sku":"4523544536 M","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56885244002686,"sku":"4523544536 L","price":119.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56885244035454,"sku":"4523544536 XL","price":119.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167864348337-0.jpg?v=1770132933"}],"url":"https:\/\/www.cyclistcloset.pt\/collections\/casacos.oembed","provider":"Cyclist's Closet","version":"1.0","type":"link"}