{"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\n","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\n","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":"CASACO 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\n","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":"CASTELLI UNLIMITED JACKET BLACK","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI UNLIMITED CYCLING JACKET\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eCastelli Unlimited Jacket\u003c\/strong\u003e is the ideal choice for those seeking comfort and protection during road or gravel adventures. Its \u003cstrong\u003ewarm brushed fabric\u003c\/strong\u003e offers exceptional thermal insulation, while \u003cstrong\u003ewindproof\u003c\/strong\u003e areas ensure the perfect balance between warmth and breathability. Versatile and functional, this jacket is made for cyclists who appreciate performance and style on any terrain.\u003c\/p\u003e\n\u003ch3\u003eFeatures\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFully \u003cstrong\u003elined with fleece\u003c\/strong\u003e for superior warmth and comfort.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWindproof protection positioned\u003c\/strong\u003e in the most exposed areas to block the cold.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSmart additional pockets\u003c\/strong\u003e : invisible front pocket for quick access and elastic mesh back pocket for storing gloves, jacket or snacks.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLightweight elastic collar\u003c\/strong\u003e that prevents cold air from entering.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e3 rear cargo pockets\u003c\/strong\u003e for carrying essential equipment.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFull-length YKK® zipper\u003c\/strong\u003e for ventilation adjustment and thermal regulation.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eReflective details\u003c\/strong\u003e on the waistband and cuffs for increased visibility.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature:\u003c\/strong\u003e 4°C – 14°C \/ 39°F – 57°F\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003ePerformance without limits\u003c\/h3\u003e\n\u003cp\u003eCreated for long adventures, the \u003cstrong\u003eUnlimited Jacket\u003c\/strong\u003e combines protection and versatility in a garment that easily adapts to different conditions. The combination of thermal comfort, additional storage pockets, and a tailored cut makes it perfect for riding on trails, gravel, or cold roads. A piece that reflects the true spirit of the \u003cstrong\u003eUnlimited\u003c\/strong\u003e collection — performance and freedom in any course.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"\"\u003e\u003c\/div\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\n","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":"CASACO CASTELLI ARIA SHELL CINZA","description":"\u003cdiv class=\"product-description\"\u003e\n\u003ch2\u003eCASTELLI ARIA SHELL CYCLING JACKET\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":"CASTELLI DINAMICA 2 W JACKET BLACK","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI DINAMICA 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eComplete thermal insulation and wind protection for your most challenging winter journeys.\u003c\/strong\u003e \u003cbr\u003eThe Dinamica 2 W is the jacket that Castelli designed for those who don't want to give up serious training even when the thermometer is approaching zero degrees. Constructed entirely from GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast fabric, this jacket offers an impenetrable barrier against icy wind, while the inner fleece lining ensures that warmth remains where it's needed.\u003c\/p\u003e\n\u003ch3\u003eUncompromising Comfort in the Cold\u003c\/h3\u003e\n\u003cp\u003eUnlike bulky winter jackets that restrict movement, the Dinamica 2 allows you to pedal hard without overheating, thanks to its class-leading breathability. The details have been designed with winter in mind: double cuffs that seal out cold air and an easy-to-adjust zipper, even with thick winter gloves, ensuring every kilometer is comfortable.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFull Fabric:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® X-Fast (100% windproof)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInsulation:\u003c\/strong\u003e High-density thermal fleece inner lining.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCuffs:\u003c\/strong\u003e Double-layer design for a seal with the gloves.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibility:\u003c\/strong\u003e 360-degree reflective panels for total safety.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eClosure:\u003c\/strong\u003e YKK® Vislon® with ergonomic, easy-to-use handle.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Regular Fit (Anatomical comfort with room for inner layers)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature Range:\u003c\/strong\u003e Optimal performance between 0°C and 10°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe perfect ally for cyclists seeking extra warmth and complete protection from the elements without the excessive weight of a conventional jacket.\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":"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":"CASACO CASTELLI ARIA SHELL AZUL","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI 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\n","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":"CASTELLI TRANSITION 2 W JACKET PINK","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCastelli Transition 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe ideal jacket for transitioning between seasons: protection against the wind without the risk of overheating.\u003c\/strong\u003e\u003cbr\u003eThe Transition 2 W jacket is designed for those days when a vest isn't enough, but a heavy winter jacket is too much. Using GORE-TEX INFINIUM™ technology on the front, this jacket effectively cuts through the cold wind, while the breathable fleece back ensures your body maintains an ideal temperature without accumulating sweat.\u003c\/p\u003e\n\u003ch3\u003eLightweight and Intelligent Protection\u003c\/h3\u003e\n\u003cp\u003ePerfect for autumn, spring, or mild winters, the Transition 2 stands out for its asymmetrical YKK® Vislon® closure, which avoids the discomfort of multiple layers overlapping at the chin. If temperatures drop, simply add a thermal base layer to extend its use throughout much of the winter, always maintaining a stylish and functional fit.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFront and Sleeves:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Windproof and breathable)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBack Panel:\u003c\/strong\u003e Brushed Warmer fabric for maximum ventilation.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eClosure:\u003c\/strong\u003e YKK® Vislon® asymmetric smooth-glide\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStorage:\u003c\/strong\u003e 3 large rear pockets\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThermal Comfort:\u003c\/strong\u003e Amazing protection without excessive bulk.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Regular Fit (Anatomical comfort for women)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWeight:\u003c\/strong\u003e 331g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe essential piece for those who don't let the morning breeze or the unpredictable weather of mid-season interrupt their workout.\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":"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":"CASTELLI GABBA RoS 2 W JACKET ORANGE","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI GABBA RoS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe 5th generation of the component that revolutionized professional cycling: total core protection without the risk of overheating.\u003c\/strong\u003e \u003cbr\u003eIn 2010, Castelli introduced Gabba to professionals and forever changed the way people run in the rain and cold. The Gabba RoS 2 W continues this legacy as a water-resistant short-sleeved jacket, perfect for cold conditions. By keeping the torso warm and dry without the bulk of a traditional coat, it allows for total agility, making it an essential piece for autumn and spring.\u003c\/p\u003e\n\u003ch3\u003eGORE-TEX INFINIUM™ Innovation\u003c\/h3\u003e\n\u003cp\u003eThis version is more waterproof than ever, while maintaining the legendary breathability that made Gabba famous. It uses two exclusive GORE-TEX fabrics: a warmer, more durable one on the front and shoulders, and a lighter, more stretchy one on the back to release excess heat. The new YKK® Vislon® double-opening zipper makes it easy to regulate temperature and access internal pockets while cycling.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFront Fabric:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm (100% windproof)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBacking Fabric:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch for ventilation\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatility:\u003c\/strong\u003e Ideal for use with Nano Flex sleeves on humid days.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eClosure:\u003c\/strong\u003e YKK® Vislon® double-opening closure for adjustable ventilation.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eProtection:\u003c\/strong\u003e Shoulder seams sealed against rain.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibility:\u003c\/strong\u003e Large rear reflective panel\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Race Fit (Aerodynamic competition tuning)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePair this outfit with your favorite shoes and handcuffs to confidently face any weather forecast.\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":"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":"CASTELLI ALPHA ROS 2 W JACKET BLUE","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI ALPHA ROS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe ultimate winter coat: warmth, breathability, and extreme protection against rain.\u003c\/strong\u003e\u003cbr\u003eThe Alpha RoS 2 W represents Castelli's vision of the perfect winter jacket. In its third generation, this model continues to lead the market by solving the biggest problem in winter cycling: moisture management. Thanks to its innovative construction, it keeps you dry and warm even during high-intensity workouts in sub-zero temperatures.\u003c\/p\u003e\n\u003ch3\u003eAlpha Dual Layer Technology\u003c\/h3\u003e\n\u003cp\u003eThe secret of this jacket lies in the separation between the thermal insulation layer and the outer windproof barrier. This construction allows the outer layer to open for ventilation and to wick away sweat during climbs, while keeping the inner layer closed to protect the body from the cold. The result is a consistently dry interior, preventing thermal shock during descents.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMembrane:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 150\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEngineering:\u003c\/strong\u003e Rain or Shine (Maximum performance in dry or wet conditions)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInsulation:\u003c\/strong\u003e Softer, warmer 3D inner layer for a superior fit.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCuffs:\u003c\/strong\u003e Double-layer design for seamless integration with gloves.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSafety:\u003c\/strong\u003e Laser-cut reflective details on the back pockets.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature Range:\u003c\/strong\u003e Comfort guaranteed between -5°C and 10°C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Tailored Fit (Ergonomic fit for women)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe most versatile and technologically advanced piece of clothing for winter workouts, regardless of weather conditions.\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":"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\n","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\n","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\n","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 WINDPROOF INSULATED BREATHABLE\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\n","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\n","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":"CASTELLI PERFETTO RoS 2 W JACKET BLACK","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI PERFETTO RoS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe jacket that does it all well: Gabba's legendary protection, now with long sleeves and total versatility.\u003c\/strong\u003e \u003cbr\u003eThe Perfetto RoS 2 W is the most important piece in any cyclist's wardrobe. Designed to shine in all conditions (Rain or Shine), this jacket offers total wind protection and industry-leading water resistance, while maintaining best-in-class breathability so you never feel damp inside.\u003c\/p\u003e\n\u003ch3\u003eAdaptable Thermal Comfort\u003c\/h3\u003e\n\u003cp\u003eThe beauty of the Perfetto lies in its versatility: without integrated insulation, it allows you to decide the temperature. You wear it with a thin base layer on mild days or with a thermal layer on sub-zero days. The new \"\"2\"\" version brings crucial improvements, such as the double-opening zipper for customized ventilation and an updated fit that offers more freedom of movement in the shoulders and arms.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eGORE-TEX INFINIUM™ WINDSTOPPER® fabric:\u003c\/strong\u003e 100% windproof and highly water-resistant.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRoS Versatility:\u003c\/strong\u003e Created for maximum performance in sun or rain.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCustomized Ventilation:\u003c\/strong\u003e Double YKK® Vislon® zipper and side vents.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSafety:\u003c\/strong\u003e Oversized reflective panel under the back pockets.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eExtra Protection:\u003c\/strong\u003e Sealed seams at the shoulders to block water from entering.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Tailored Fit (High-performance technical fit for women)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature Range:\u003c\/strong\u003e Excellent between 4°C and 14°C (expandable with layers)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eIf you had to choose just one coat for all your winter and mid-season outings, it would have to be Perfetto.\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":"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\n","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 INSULATED CINZA","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\n","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 INSULATED 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\n","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 CINZA","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\n","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\n","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\n","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\n","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\n","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":"CASTELLI GABBA RoS SHORT SLEEVE JACKET GRAY","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI GABBA RoS SHORT SLEEVE JACKET GRAY\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eCastelli Gabba RoS Rosso Corsa Limited Edition\u003c\/strong\u003e is the world's leading short-sleeved jersey for adverse conditions. Developed with \u003cstrong\u003eGORE-TEX INFINIUM™\u003c\/strong\u003e fabric, it offers \u003cstrong\u003esuperior aerodynamics, breathability, and total wind protection\u003c\/strong\u003e . maintaining a perfect balance between lightness and performance.\u003c\/p\u003e\n\u003cp\u003eThis jersey is \u003cstrong\u003efully windproof\u003c\/strong\u003e and features a \u003cstrong\u003ewater-repellent\u003c\/strong\u003e finish that protects against light rain and road spray. \u003cstrong\u003eThermally sealed seams at the shoulders\u003c\/strong\u003e increase protection against water, while the \u003cstrong\u003eYKK® Vislon® zipper\u003c\/strong\u003e It ensures a perfect seal and is easy to handle, even while on the move.\u003c\/p\u003e\n\u003cp\u003eIncludes \u003cstrong\u003ezippered side chest vents\u003c\/strong\u003e for adjustable ventilation and \u003cstrong\u003etwo rear pockets\u003c\/strong\u003e with pump sleeves. Designed for easy access even with gloves. The \u003cstrong\u003eelongated back\u003c\/strong\u003e provides additional coverage, incorporating a \u003cstrong\u003elarge reflective panel.\u003c\/strong\u003e for visibility in low light conditions.\u003c\/p\u003e\n\u003cp\u003eThe \u003cstrong\u003eGabba RoS Limited Edition\u003c\/strong\u003e is an iconic piece, tested by professionals and redesigned for demanding cyclists. Seeking performance, protection, and unmistakable style.\u003c\/p\u003e\n\u003ch3\u003eFeatures\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWindproof \u003cstrong\u003eGORE-TEX INFINIUM™ fabric\u003c\/strong\u003e with a water-repellent finish.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThermally sealed seams\u003c\/strong\u003e at the shoulders for added protection against rain.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eYKK® Vislon® zipper\u003c\/strong\u003e with enhanced sealing for greater water resistance.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eZippered openings\u003c\/strong\u003e on the chest for adjustable ventilation.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTwo rear pockets\u003c\/strong\u003e with a pump compartment, easy to access even with gloves.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eExtended rear panel\u003c\/strong\u003e with \u003cstrong\u003elarge reflective insert\u003c\/strong\u003e for increased visibility.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWeight:\u003c\/strong\u003e 255 g\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIdeal temperature:\u003c\/strong\u003e 9–16°C \/ 48–61°F\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\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 CINZA","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI PERFETTO RoS 2 CONVERTIBLE CYCLING JACKET\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\n","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:\u003c\/strong\u003e Arrumaçã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\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":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:\u003c\/strong\u003e Arrumaçã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\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":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 BORDÔ","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":"CASACO 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":"ALÉ PRAGMA FONDO 3.0 JACKET BLUE","description":"\u003cdiv class=\"\" cc-simple\u003e\n\u003cp\u003e\u003cstrong\u003eProtection and style in one: fits like a jersey, performs like a jacket.\u003c\/strong\u003e\u003cbr\u003eThe \u003cstrong\u003eAlé Pragma Fondo 3.0 Cycling Jacket\u003c\/strong\u003e is a \u003cstrong\u003ethermal, windproof\u003c\/strong\u003e piece built for riding when temperatures approach zero. It delivers the comfort and fit of a jersey with the protective features of a true jacket.\u003c\/p\u003e\n\u003cp\u003eFollowing Alé’s \u003cstrong\u003eBody Mapping\u003c\/strong\u003e guidelines, fabrics are strategically selected and placed to ensure \u003cstrong\u003ebreathability\u003c\/strong\u003e and \u003cstrong\u003eprotection\u003c\/strong\u003e, even during intense training sessions. The \u003cstrong\u003e3-layer membrane fabric\u003c\/strong\u003e blocks wind, while the soft \u003cstrong\u003einner fleece\u003c\/strong\u003e keeps you warm and wicks sweat away from the skin—no more shivering down your back.\u003c\/p\u003e\n\u003ch3\u003eHighlights\u003c\/h3\u003e\n\u003cul class=\"\" cc-list\u003e\n\u003cli\u003e\n\u003cstrong\u003eThermal + windproof\u003c\/strong\u003e for near-zero conditions\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBody Mapping\u003c\/strong\u003e construction for balanced protection and ventilation\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e3-layer membrane fabric\u003c\/strong\u003e to block wind\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSoft inner fleece\u003c\/strong\u003e for warmth and moisture management\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDWR\u003c\/strong\u003e (durable water-repellent) treatment\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRaw-cut, anatomically shaped cuff\u003c\/strong\u003e for a clean, comfortable fit\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eReflective details\u003c\/strong\u003e for added safety\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThree rear pockets\u003c\/strong\u003e for ride essentials\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eProduct Details\u003c\/h3\u003e\n\u003cul class=\"\" cc-list\u003e\n\u003cli\u003e\n\u003cstrong\u003eWeight:\u003c\/strong\u003e 345 g\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFabrics:\u003c\/strong\u003e n-wind dwr cube 385 | soft cloth 250\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eComposition\u003c\/h3\u003e\n\u003cul class=\"\" cc-list\u003e\n\u003cli\u003e\n\u003cstrong\u003eMain fabric (outer):\u003c\/strong\u003e 89% polyester (recycled fibers), 11% elastane\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMain fabric (inner):\u003c\/strong\u003e 88% polyester, 12% elastane\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eNon-woven membrane:\u003c\/strong\u003e 100% polyurethane\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBack \/ inner collar:\u003c\/strong\u003e 85% polyamide, 15% elastane\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCuff:\u003c\/strong\u003e 83% polyester, 17% elastane\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eClassification\u003c\/h3\u003e\n\u003cul class=\"\" cc-list\u003e\n\u003cli\u003e\u003cstrong\u003eBreathability\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eThermicity\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eWindproof\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eWater repellency\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"\" font-size: color: margin-top:\u003ePerfect for winter training when you need wind protection and warmth without sacrificing comfort, mobility and breathability.\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":"ALÉ TEAM PROJECT BARDIANI CSF FAIZANÈ JACKET","description":"\u003cdiv class=\"\"\u003e\n\u003cp\u003e\u003cstrong\u003eHigh-performance winter cycling jacket designed for cold and demanding conditions.\u003c\/strong\u003e\u003cbr\u003eThe \u003cstrong\u003eAlé Team Project Bardiani CSF Faizanè Winter Jacket\u003c\/strong\u003e is a premium winter jacket with a Racing fit, built to deliver total protection from cold, wind and moisture while maintaining excellent breathability.\u003c\/p\u003e\n\u003cp\u003eMade from \u003cstrong\u003eWindTex fabric\u003c\/strong\u003e, it is \u003cstrong\u003e100% windproof\u003c\/strong\u003e and water resistant. The use of \u003cstrong\u003ecarbon fiber fabrics\u003c\/strong\u003e protects the body from static energy absorption and UV rays, while the fabric structure accelerates moisture evaporation to keep the skin dry and comfortable.\u003c\/p\u003e\n\u003cp\u003eThe interior features \u003cstrong\u003ethermal polar fleece\u003c\/strong\u003e for added warmth, combined with a \u003cstrong\u003ewindproof and waterproof membrane\u003c\/strong\u003e that helps retain body heat. \u003cstrong\u003eSilicone grippers at the hem\u003c\/strong\u003e prevent the jacket from riding up, ensuring a stable fit while riding.\u003c\/p\u003e\n\u003ch3\u003eHighlights\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eWindTex membrane\u003c\/strong\u003e – 100% windproof front\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWater-resistant construction\u003c\/strong\u003e for harsh conditions\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThermal fleece interior\u003c\/strong\u003e for superior warmth\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCarbon fiber fabrics\u003c\/strong\u003e for anti-static and UV protection\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilicone elastic waist gripper\u003c\/strong\u003e for a secure fit\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eReflective details\u003c\/strong\u003e for enhanced safety\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRear pockets\u003c\/strong\u003e for ride essentials\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSet-in sleeves\u003c\/strong\u003e for an ergonomic fit\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature range:\u003c\/strong\u003e 0°–8°C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWeight:\u003c\/strong\u003e 400 g\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFit:\u003c\/strong\u003e Racing\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePerfect for winter training and racing when you need maximum thermal protection, moisture control and professional-level performance.\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":"CASTELLI ALPHA ROS 2 W JACKET YELLOW","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI ALPHA ROS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe ultimate winter coat: warmth, breathability, and extreme protection against rain.\u003c\/strong\u003e \u003cbr\u003eThe Alpha RoS 2 W represents Castelli's vision of the perfect winter jacket. In its third generation, this model continues to lead the market by solving the biggest problem in winter cycling: moisture management. Thanks to its innovative construction, it keeps you dry and warm even during high-intensity workouts in sub-zero temperatures.\u003c\/p\u003e\n\u003ch3\u003eAlpha Dual Layer Technology\u003c\/h3\u003e\n\u003cp\u003eThe secret of this jacket lies in the separation between the thermal insulation layer and the outer windproof barrier. This construction allows the outer layer to open for ventilation and to wick away sweat during climbs, while keeping the inner layer closed to protect the body from the cold. The result is a consistently dry interior, preventing thermal shock during descents.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMembrane:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 150\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEngineering:\u003c\/strong\u003e Rain or Shine (Maximum performance in dry or wet conditions)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInsulation:\u003c\/strong\u003e Softer, warmer 3D inner layer for a superior fit.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCuffs:\u003c\/strong\u003e Double-layer design for seamless integration with gloves.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSafety:\u003c\/strong\u003e Laser-cut reflective details on the back pockets.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature Range:\u003c\/strong\u003e Comfort guaranteed between -5°C and 10°C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Tailored Fit (Ergonomic fit for women)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe most versatile and technologically advanced piece of clothing for winter workouts, regardless of weather conditions.\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":"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":"CASTELLI GABBA RoS 2 W JACKET GREEN","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI GABBA RoS 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe 5th generation of the component that revolutionized professional cycling: total core protection without the risk of overheating.\u003c\/strong\u003e\u003cbr\u003eIn 2010, Castelli introduced Gabba to professionals and forever changed the way people run in the rain and cold. The Gabba RoS 2 W continues this legacy as a water-resistant short-sleeved jacket, perfect for cold conditions. By keeping the torso warm and dry without the bulk of a traditional coat, it allows for total agility, making it an essential piece for autumn and spring.\u003c\/p\u003e\n\u003ch3\u003eGORE-TEX INFINIUM™ Innovation\u003c\/h3\u003e\n\u003cp\u003eThis version is more waterproof than ever, while maintaining the legendary breathability that made Gabba famous. It uses two exclusive GORE-TEX fabrics: a warmer, more durable one on the front and shoulders, and a lighter, more stretchy one on the back to release excess heat. The new YKK® Vislon® double-opening zipper makes it easy to regulate temperature and access internal pockets while cycling.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFront Fabric:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 205 Warm (100% windproof)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBacking Fabric:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® 203 Stretch for ventilation\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatility:\u003c\/strong\u003e Ideal for use with Nano Flex sleeves on humid days.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eClosure:\u003c\/strong\u003e YKK® Vislon® double-opening closure for adjustable ventilation.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eProtection:\u003c\/strong\u003e Shoulder seams sealed against rain.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibility:\u003c\/strong\u003e Large rear reflective panel\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Race Fit (Aerodynamic competition tuning)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePair this outfit with your favorite shoes and handcuffs to confidently face any weather forecast.\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":"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":"CASTELLI TRANSITION 2 W JACKET BLACK","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCASTELLI TRANSITION 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe ideal coat for transitioning between seasons: protection against the wind without the excessive bulk of a heavy winter coat.\u003c\/strong\u003e\u003cbr\u003eThe Transition 2 W jacket is designed for those autumn and spring days when you need to cut the morning chill but want to maintain maximum breathability. Utilizing GORE-TEX INFINIUM™ technology in the front, this jacket effectively blocks wind, while the Warmer fleece back ensures your body maintains the ideal temperature without accumulating excessive perspiration.\u003c\/p\u003e\n\u003ch3\u003eLightweight and Intelligent Protection\u003c\/h3\u003e\n\u003cp\u003ePerfect for those living in moderate climates or for sunny winter days, the Transition 2 stands out for its asymmetrical YKK® Vislon® zipper, which avoids the discomfort of the zipper in direct contact with the chin. Its lightweight construction allows it to be worn alone over a thin base layer or combined with a thermal jersey to extend its use when temperatures drop below 8°C.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFront and Sleeves:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Full windproof)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBack Panel:\u003c\/strong\u003e Brushed Warmer fabric for ventilation and warmth.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eClosure:\u003c\/strong\u003e YKK® Vislon® asymmetric smooth-glide\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStorage:\u003c\/strong\u003e 3 easy-access rear pockets\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatility:\u003c\/strong\u003e The lightest coat in the line for mid-season.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Regular Fit (Anatomical comfort for women)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature Range:\u003c\/strong\u003e Optimized performance between 8°C and 16°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe essential piece for cyclists seeking lightweight, aerodynamic protection against the elements without compromising thermal regulation.\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":"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":"CASTELLI TRANSITION 2 W JACKET PURPLE","description":"\u003cdiv class=\"\"\u003e\n\u003ch2\u003eCastelli Transition 2 W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThe ideal coat for transitioning between seasons: protection against the wind without the excessive bulk of a heavy winter coat.\u003c\/strong\u003e\u003cbr\u003eThe Transition 2 W jacket is designed for those autumn and spring days when you need to cut the morning chill but want to maintain maximum breathability. Utilizing GORE-TEX INFINIUM™ technology in the front, this jacket effectively blocks wind, while the Warmer fleece back ensures your body maintains the ideal temperature without accumulating excessive perspiration.\u003c\/p\u003e\n\u003ch3\u003eLightweight and Intelligent Protection\u003c\/h3\u003e\n\u003cp\u003ePerfect for those living in moderate climates or for sunny winter days, the Transition 2 stands out for its asymmetrical YKK® Vislon® zipper, which avoids the discomfort of the zipper in direct contact with the chin. Its lightweight construction allows it to be worn alone over a thin base layer or combined with a thermal jersey to extend its use when temperatures drop below 8°C.\u003c\/p\u003e\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cul class=\"\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFront and Sleeves:\u003c\/strong\u003e GORE-TEX INFINIUM™ WINDSTOPPER® (Full windproof)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBack Panel:\u003c\/strong\u003e Brushed Warmer fabric for ventilation and warmth.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eClosure:\u003c\/strong\u003e YKK® Vislon® asymmetric smooth-glide\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStorage:\u003c\/strong\u003e 3 easy-access rear pockets\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatility:\u003c\/strong\u003e The lightest coat in the line for mid-season.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut:\u003c\/strong\u003e Regular Fit (Anatomical comfort for women)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTemperature Range:\u003c\/strong\u003e Optimized performance between 8°C and 16°C\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe essential piece for cyclists seeking lightweight, aerodynamic protection against the elements without compromising thermal regulation.\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":"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\/en\/collections\/casacos.oembed","provider":"Cyclist's Closet","version":"1.0","type":"link"}