{"title":"CAMISOLAS DE MANGA COMPRIDA","description":"","products":[{"product_id":"castelli-entrata-thermal-cycling-jersey-winter-fleece-reflective-breathable","title":"CAMISOLA MANGA COMPRIDA CASTELLI ENTRATA BRANCA","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA TÉRMICA DE CICLISMO CASTELLI ENTRATA\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Entrata Thermal Jersey\u003c\/strong\u003e é a escolha ideal para os ciclistas que preferem usar uma camisola térmica com colete  \n    em vez de um casaco leve durante os dias frios. O tecido em \u003cstrong\u003epoliéster cardado\u003c\/strong\u003e proporciona aquecimento e conforto,  \n    mantendo a respirabilidade e a liberdade de movimento — perfeita para o outono, início da primavera ou invernos suaves.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido 100% poliéster cardado\u003c\/strong\u003e para aquecimento adicional e excelente controlo da humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de fácil deslizamento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e para transporte prático de acessórios.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eBanda elástica com silicone na cintura\u003c\/strong\u003e para manter a jersey no lugar.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainel refletor traseiro\u003c\/strong\u003e de grandes dimensões para maior visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 260 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 12˚ – 18˚C \/ 54˚ – 64˚F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eCONFORTO TÉRMICO E VERSATILIDADE\u003c\/h3\u003e\n  \u003cp\u003e\n    A \u003cstrong\u003eEntrata Thermal\u003c\/strong\u003e oferece calor suficiente para as tuas saídas em dias frios e pode ser facilmente combinada com um colete  \n    para aumentar a proteção. O tecido cardado e elástico adapta-se ao corpo, garantindo um ajuste confortável e respirável.  \n    Os detalhes funcionais, como os \u003cstrong\u003ebolsos traseiros\u003c\/strong\u003e, a \u003cstrong\u003efaixa elástica com silicone\u003c\/strong\u003e e o \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e,  \n    asseguram praticidade e estilo em todas as tuas voltas.  \n    Uma peça versátil, pensada para o ciclista que valoriza desempenho e simplicidade nas estações mais frescas.\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":56456196850046,"sku":"4523512870 S-1","price":89.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456196882814,"sku":"4523512870 M-1","price":89.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456196915582,"sku":"4523512870 L-1","price":89.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456196948350,"sku":"4523512870 XL-1","price":89.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456196981118,"sku":"4523512870 2XL-1","price":89.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456197013886,"sku":"4523512870 3XL-1","price":89.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167866451653-0.jpg?v=1761317665"},{"product_id":"castelli-espresso-thermal-cycling-jersey-winter-breathable-comfort-warm","title":"CAMISOLA MANGA COMPRIDA CASTELLI ESPRESSO PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA TÉRMICA CASTELLI ESPRESSO CYCLING\u003c\/h2\u003e\n\n  \u003cp\u003e\n    Quente, suave e confortável — três qualidades que qualquer boa camisola térmica deve ter.  \n    A \u003cstrong\u003eCastelli Espresso Thermal Jersey\u003c\/strong\u003e combina todas estas características num design elegante e funcional.  \n    O tecido \u003cstrong\u003eluxuosamente macio e cardado\u003c\/strong\u003e proporciona uma sensação incrível na pele, mantendo o corpo quente e confortável durante as pedaladas em dias frios.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido cardado luxuosamente suave e quente\u003c\/strong\u003e com elasticidade para conforto e ajuste perfeito.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e mais um \u003cstrong\u003e4.º bolso com fecho\u003c\/strong\u003e para guardar objetos de valor em segurança.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon® de comprimento total\u003c\/strong\u003e com puxador ergonómico de fácil utilização.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCós elástico com silicone\u003c\/strong\u003e para manter a camisola no lugar durante o esforço.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eDetalhe refletor traseiro\u003c\/strong\u003e para maior visibilidade em condições de pouca luz.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 327 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 12˚ – 18˚C \/ 54˚ – 64˚F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eO conforto térmico que vai querer em todos os treinos\u003c\/h3\u003e\n  \u003cp\u003e\n    A \u003cstrong\u003eEspresso Thermal Jersey\u003c\/strong\u003e foi desenvolvida para proporcionar um ajuste justo ao corpo sem sensação de aperto.  \n    O tecido oferece \u003cstrong\u003eexcelente respirabilidade\u003c\/strong\u003e e mantém o calor corporal ideal, mesmo nas subidas mais exigentes.  \n    As costas e o cós foram projetados para manter tudo no lugar, mesmo com os bolsos totalmente carregados.  \n    A atenção aos detalhes — do \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e à suavidade do tecido — faz desta camisola a sua nova favorita para dias frios.  \n    Porque, tal como o café Espresso, é sempre uma boa escolha.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456214413694,"sku":"4524508085 S-1","price":109.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456214446462,"sku":"4524508085 M-1","price":109.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456214479230,"sku":"4524508085 L-1","price":109.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456214511998,"sku":"4524508085 XL-1","price":109.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56456214544766,"sku":"4524508085 2XL-1","price":109.9,"currency_code":"EUR","in_stock":true},{"title":"3XL","offer_id":56456214577534,"sku":"4524508085 3XL-1","price":109.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167823828901-0.jpg?v=1761317838"},{"product_id":"castelli-ottanta-ls-jersey-women-s-cycling-long-sleeve-jersey-thermal-breathable","title":"CAMISOLA MANGA COMPRIDA MULHER CASTELLI OTTANTA VERMELHO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI OTTANTA W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eUma camisola térmica de performance que combina um grafismo impactante com o calor essencial para a meia-estação.\u003c\/strong\u003e\u003cbr\u003eA Ottanta LS W foi desenhada para quem procura estilo sem sacrificar a funcionalidade técnica. Utilizando a versão térmica do tecido Warmer da Castelli, com o seu interior em fleece macio, esta camisola é a barreira ideal contra o frio outonal, funcionando perfeitamente sozinha ou combinada com um colete Perfetto ou Aria em dias mais exigentes.\u003c\/p\u003e\n\u003ch3\u003eAtenção ao Detalhe e Conforto Térmico\u003c\/h3\u003e\n\u003cp\u003eEmbora o grafismo seja o que primeiro chama a atenção, é a engenharia da Castelli que se destaca na estrada. A construção dos bolsos \"dropped-pocket\" mantém a carga estável e acessível, enquanto o fecho YKK® Vislon® de fácil manuseamento permite regular a ventilação com uma só mão. O interior escovado proporciona um conforto imediato sobre a pele, garantindo que o calor se mantém onde é necessário.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTecido Warmer:\u003c\/strong\u003e Poliéster térmico com interior em fleece escovado\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDesign Dropped-Pocket:\u003c\/strong\u003e 3 bolsos traseiros em posição ergonómica\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® integral com proteção de pescoço\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEstabilidade:\u003c\/strong\u003e Banda de silicone na cintura para evitar que a camisola suba\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSegurança:\u003c\/strong\u003e Detalhes refletores para maior visibilidade rodoviária\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatilidade:\u003c\/strong\u003e Ideal para o intervalo entre 12°C e 18°C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Equilíbrio ideal entre conforto e performance)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eA escolha ideal para ciclistas que valorizam a estética clássica da Castelli com tecnologias que garantem uma pedalada quente e seca.\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":56456228143486,"sku":"4523546654 XS-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56456228176254,"sku":"4523546654 S-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456228209022,"sku":"4523546654 M-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456228241790,"sku":"4523546654 L-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456228274558,"sku":"4523546654 XL-1","price":79.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167791111368-0.jpg?v=1761317900"},{"product_id":"castelli-espresso-thermal-cycling-jersey-winter-breathable-comfort-warm-1","title":"CAMISOLA MANGA COMPRIDA CASTELLI ESPRESSO LARANJA","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA TÉRMICA DE CICLISMO CASTELLI ESPRESSO\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Térmica Castelli Espresso\u003c\/strong\u003e combina três qualidades essenciais que qualquer camisola térmica deve ter:  \n    \u003cstrong\u003eaconchego, suavidade e conforto\u003c\/strong\u003e. Fabricada com um tecido de fleece luxuosamente suave, proporciona uma sensação incrível junto à pele,  \n    mantendo o corpo quente e seco durante as tuas voltas em dias frios.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O corte foi desenvolvido para garantir um \u003cstrong\u003eajuste próximo ao corpo\u003c\/strong\u003e sem sensação de aperto, oferecendo liberdade total de movimento.  \n    A construção cuidadosamente desenhada inclui bolsos amplos e seguros, tornando-a perfeita para treinos longos ou dias de estrada com variações de temperatura.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido de fleece suave e quente\u003c\/strong\u003e com elasticidade para um conforto e ajuste perfeitos.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e com \u003cstrong\u003e4.º bolso com fecho de segurança\u003c\/strong\u003e para objetos de valor.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de comprimento total com puxador de fácil utilização.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com silicone\u003c\/strong\u003e na cintura para manter a camisola no lugar.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElemento refletor traseiro\u003c\/strong\u003e para maior visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 327 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura:\u003c\/strong\u003e 12–18 °C \/ 54–64 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003eO teu novo essencial de meia-estação\u003c\/h3\u003e\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Térmica Espresso\u003c\/strong\u003e foi criada para ser a tua camisola de manga comprida favorita.  \n    O tecido oferece excelente \u003cstrong\u003erespirabilidade e isolamento térmico\u003c\/strong\u003e, mantendo o conforto mesmo em longas voltas.  \n    O design funcional permite carregar os bolsos sem que o tecido se deforme, e o bolso adicional com fecho mantém os teus valores em segurança.  \n    Terminada com o fiável fecho YKK® Vislon®, esta camisola será a tua nova companheira de eleição nos dias frescos —  \n    porque, afinal, \u003cstrong\u003eEspresso é sempre uma boa ideia\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456228766078,"sku":"4524508863 S-1","price":109.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456228798846,"sku":"4524508863 M-1","price":109.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456228831614,"sku":"4524508863 L-1","price":109.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456228864382,"sku":"4524508863 XL-1","price":109.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456228897150,"sku":"4524508863 2XL-1","price":109.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456228929918,"sku":"4524508863 3XL-1","price":109.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167058580701-0.jpg?v=1761317907"},{"product_id":"castelli-espresso-w-long-sleeve-women-s-cycling-jersey","title":"CAMISOLA MANGA COMPRIDA MULHER CASTELLI ESPRESSO W PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCAMISOLA CASTELLI ESPRESSO W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eA sua nova camisola de manga comprida favorita: o equilíbrio ideal entre proteção solar, aerodinâmica e conforto absoluto.\u003c\/strong\u003e\u003cbr\u003eA Espresso W LS foi desenhada para ser aquela peça indispensável que escolhe sempre que está seca após a lavagem. Quer prefira um ajuste de competição ou um corte mais regular, esta camisola adapta-se perfeitamente graças ao tecido Air-O Stretch, que permite um ajuste próximo ao corpo sem nunca ser restritivo ou apertado.\u003c\/p\u003e\n\u003ch3\u003ePerformance Versátil e Conforto Air-O Stretch\u003c\/h3\u003e\n\u003cp\u003eDesenvolvida pela Castelli para oferecer uma gestão de humidade e respirabilidade excecionais, esta camisola provou também ser altamente eficiente em túnel de vento. O design de manga comprida com classificação UPF 30 oferece a proteção necessária contra os elementos, enquanto os detalhes como os punhos de corte a laser e o fecho YKK® Vislon® garantem uma experiência de utilização premium em qualquer tipo de volta.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTecido Air-O Stretch:\u003c\/strong\u003e Respirabilidade de topo e ajuste anatómico\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eProteção Solar:\u003c\/strong\u003e Classificação UPF 30\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eConforto de Manga:\u003c\/strong\u003e Acabamento raw-cut (corte a laser) nos punhos\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArrumação Inteligente:\u003c\/strong\u003e 3 bolsos traseiros + 1 bolso com fecho de segurança\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® integral para regulação térmica fácil\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAderência:\u003c\/strong\u003e Cintura elástica com silicone para fixação perfeita\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Detalhes refletores para segurança reforçada\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste técnico e elegante)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003ePorque um Espresso é sempre uma boa ideia, esta camisola será a sua companheira ideal para todos os dias no selim, oferecendo leveza e proteção.\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":56456242725246,"sku":"4525049085 XS-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56456242758014,"sku":"4525049085 S-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456242790782,"sku":"4525049085 M-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456242823550,"sku":"4525049085 L-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456242856318,"sku":"4525049085 XL-1","price":79.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167719237242-0.jpg?v=1761317973"},{"product_id":"long-sleeve-thermal-cycling-jersey-brand-castelli-soudal-quick-step-2024","title":"CAMISOLA DE MANGA COMPRIDA CASTELLI SOUDAL QUICK-STEP 2024","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA TÉRMICA DE CICLISMO DE MANGA COMPRIDA CASTELLI SOUDAL QUICK-STEP 2024\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Térmica Castelli Soudal Quick-Step 2024\u003c\/strong\u003e foi criada para oferecer o equilíbrio perfeito entre \n    \u003cstrong\u003eaquecimento e ventilação\u003c\/strong\u003e, mantendo o corpo confortável durante as tuas saídas em dias frescos.  \n    O seu tecido \u003cstrong\u003eWarmer X-Stretch\u003c\/strong\u003e proporciona uma sensação suave e térmica, garantindo a elasticidade necessária \n    para um \u003cstrong\u003eajuste justo e natural\u003c\/strong\u003e ao corpo, sem compressão excessiva.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Esta camisola térmica é ideal para condições de \u003cstrong\u003emeia-estação\u003c\/strong\u003e — pode ser usada sozinha em dias amenos ou combinada \n    com um colete como o Perfetto RoS para proteção adicional.  \n    O corte aerodinâmico e os bolsos traseiros em \u003cstrong\u003econstrução “drop-pocket”\u003c\/strong\u003e asseguram uma silhueta elegante e funcional, \n    mantendo tudo ao alcance durante a pedalada.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Warmer X-Stretch escovado\u003c\/strong\u003e de peso médio para aquecimento e conforto.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eIdeal para dias frescos\u003c\/strong\u003e, com ou sem colete adicional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorte Race\u003c\/strong\u003e com elevada elasticidade para ajuste perfeito sem compressão.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConstrução “drop-pocket”\u003c\/strong\u003e para melhor ergonomia e acesso aos bolsos.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e coberto para isolamento térmico e estética refinada.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e de fácil acesso.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 397 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 12–18 °C \/ 54–64 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003ch3\u003ePerformance de Equipa\u003c\/h3\u003e\n  \u003cp\u003e\n    Inspirada na \u003cstrong\u003eSoudal Quick-Step\u003c\/strong\u003e, esta camisola oferece a mesma qualidade e desempenho usados pelos profissionais.  \n    Leve, quente e elegante, é a escolha ideal para treinos de outono e primavera, combinando tecnologia Castelli com o espírito do \u003cstrong\u003eWolfpack\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456246591870,"sku":"4234004087 S-1","price":84.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456246624638,"sku":"4234004087 M-1","price":84.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456246657406,"sku":"4234004087 L-1","price":84.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456246690174,"sku":"4234004087 XL-1","price":84.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456246722942,"sku":"4234004087 2XL-1","price":84.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456246755710,"sku":"4234004087 3XL-1","price":84.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/166969973471-0.jpg?v=1761318014"},{"product_id":"castelli-sinergia-2-women-long-sleeve-cycling-jersey-road-bike-full-zip","title":"CAMISOLA DE MANGA COMPRIDA PARA MULHER CASTELLI SINERGIA 2 VERMELHO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI SINERGIA 2\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eA base térmica perfeita para as tuas saídas de outono e primavera.\u003c\/strong\u003e\u003cbr\u003eA camisola Sinergia 2 FZ foi desenhada para ser a peça mais versátil do teu guarda-roupa de ciclismo. Focada no essencial — excelente tecido, ajuste impecável e bolsos funcionais — esta camisola térmica oferece o equilíbrio ideal entre isolamento e respirabilidade, sem o volume excessivo de um casaco pesado.\u003c\/p\u003e\n\u003ch3\u003eConforto Térmico e Versatilidade\u003c\/h3\u003e\n\u003cp\u003eConstruída com o tecido Warmer da Castelli, esta camisola mantém o corpo quente enquanto liberta a humidade. É a escolha ideal para usar sozinha em dias frescos ou combinada com um colete quando a temperatura desce. O design dos bolsos traseiros (drop-pocket) garante que estes permanecem na posição ideal, mesmo quando carregados, facilitando o acesso durante a pedalada.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTecido Warmer:\u003c\/strong\u003e Isolamento térmico macio e eficiente\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBolsos:\u003c\/strong\u003e 3 bolsos traseiros com construção Drop-Pocket\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® de deslize fácil e leve\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Detalhes refletores traseiros para maior segurança\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDesign:\u003c\/strong\u003e Estética limpa com logótipo clássico no peito\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUtilização:\u003c\/strong\u003e Perfeita para o intervalo entre 12°C e 18°C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Conforto anatómico para todas as ciclistas)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eUma peça fundamental que simplifica o teu vestuário técnico sem abdicar da performance Castelli.\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":56456255832446,"sku":"4521531081 XS","price":64.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56456255865214,"sku":"4521531081 S","price":64.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456255897982,"sku":"4521531081 M","price":64.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456255930750,"sku":"4521531081 L","price":64.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456255963518,"sku":"4521531081 XL","price":64.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167738910209-0.jpg?v=1761318072"},{"product_id":"winter-cycling-jersey-brand-castelli-unlimited-thermal-jersey","title":"CAMISOLA MANGA COMPRIDA CASTELLI UNLIMITED CINZENTO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA TÉRMICA CASTELLI UNLIMITED\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Térmica Castelli Unlimited\u003c\/strong\u003e foi concebida para os dias de frio em que o conforto, a respirabilidade e a liberdade de movimento são essenciais.  \n    Ideal para aventuras de \u003cstrong\u003egravel\u003c\/strong\u003e e passeios de estrada em tempo fresco, esta camisola mantém o \u003cstrong\u003etronco aquecido\u003c\/strong\u003e enquanto permite ventilação suficiente para evitar o sobreaquecimento.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O corpo é fabricado com \u003cstrong\u003etecido Warmer\u003c\/strong\u003e que proporciona isolamento térmico e excelente gestão da humidade,  \n    enquanto as mangas e painéis laterais em \u003cstrong\u003eWarmer X-Stretch\u003c\/strong\u003e asseguram um ajuste elástico e confortável, próximo ao corpo, sem restringir os movimentos.  \n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e com protetor de pescoço facilita o ajuste e aumenta o conforto durante o uso prolongado.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Com \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e amplos e um \u003cstrong\u003eelástico com silicone na cintura\u003c\/strong\u003e que mantém a camisola no lugar, esta peça combina  \n    \u003cstrong\u003eversatilidade, proteção e estilo\u003c\/strong\u003e para as tuas pedaladas em clima fresco.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido Warmer\u003c\/strong\u003e no corpo para aquecimento e conforto.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eWarmer X-Stretch\u003c\/strong\u003e nas mangas e laterais para ajuste perfeito e liberdade de movimento.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com silicone\u003c\/strong\u003e na cintura para maior estabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e de fácil acesso.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento suave com protetor de pescoço.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 294 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 12–18 °C \/ 54–64 °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\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456259469694,"sku":"4524522030 S","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456259502462,"sku":"4524522030 M","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456259535230,"sku":"4524522030 L","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456259567998,"sku":"4524522030 XL","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456259600766,"sku":"4524522030 2XL","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456259633534,"sku":"4524522030 3XL","price":79.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167043621602-0.jpg?v=1761318111"},{"product_id":"castelli-puro-4-cycling-thermal-jersey-breathable-lightweight-reflective","title":"CAMISOLA MANGA COMPRIDA CASTELLI PURO 4 BRANCO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA DE CICLISMO CASTELLI PURO 4\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Puro 4\u003c\/strong\u003e é a escolha ideal para os dias frescos de início de outono ou fim de primavera. \n    Oferece \u003cstrong\u003eaquecimento intermédio, excelente respirabilidade e visibilidade total a 360°\u003c\/strong\u003e, \n    num design limpo e elegante que combina conforto e desempenho.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Fabricada em \u003cstrong\u003etecido 3D knit\u003c\/strong\u003e (93% poliéster \/ 7% elastano), \n    cria \u003cstrong\u003ebolsas de ar internas\u003c\/strong\u003e que aumentam o isolamento térmico sem adicionar peso — \n    mais calor do que o esperado para um tecido de 180 g. \n    O material italiano oferece um toque suave e \u003cstrong\u003eelasticidade superior\u003c\/strong\u003e, \n    permitindo um ajuste justo ao corpo sem compressão excessiva.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    A camisola inclui \u003cstrong\u003epainéis refletivos nos ombros\u003c\/strong\u003e e \u003cstrong\u003edetalhes térmicos refletivos\u003c\/strong\u003e \n    nos bolsos traseiros para máxima visibilidade em todas as direções. \n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e desliza facilmente, enquanto o \n    \u003cstrong\u003eelástico com grip na cintura\u003c\/strong\u003e mantém a camisola firme no lugar. \n    Com um corte técnico e funcional, a Puro 4 combina desempenho térmico e estilo minimalista.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAquecimento intermédio\u003c\/strong\u003e ideal para temperaturas frescas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido 3D knit\u003c\/strong\u003e (93% poliéster \/ 7% elastano) que retém calor e gere a humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElevada elasticidade\u003c\/strong\u003e para ajuste justo sem sensação de aperto.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainéis refletivos nos ombros\u003c\/strong\u003e e \u003cstrong\u003edetalhes refletivos nos bolsos\u003c\/strong\u003e para visibilidade 360°.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com grip\u003c\/strong\u003e na cintura para estabilidade durante o esforço.\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\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento fácil.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 285 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 12–18 °C \/ 54–64 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456262254974,"sku":"4525510064 S","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456262287742,"sku":"4525510064 M","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456262320510,"sku":"4525510064 L","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456262353278,"sku":"4525510064 XL","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456262386046,"sku":"4525510064 2XL","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456262418814,"sku":"4525510064 3XL","price":99.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167818988524-0.jpg?v=1761318139"},{"product_id":"castelli-apice-thermal-cycling-jersey-fleeced-warm-breathable-comfort","title":"CAMISOLA MANGA COMPRIDA CASTELLI APICE THERMAL CINZENTA","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA TÉRMICA CASTELLI APICE PARA CICLISMO\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Térmica Apice\u003c\/strong\u003e foi concebida para oferecer \u003cstrong\u003econforto e aquecimento ideais\u003c\/strong\u003e \n    nos dias mais frescos. Combina tecidos técnicos de elevada qualidade com um corte ergonómico, \n    proporcionando uma \u003cstrong\u003egestão térmica e de humidade excecional\u003c\/strong\u003e sem comprometer o desempenho.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O corpo principal utiliza um \u003cstrong\u003etecido 3D knit\u003c\/strong\u003e composto por 93% poliéster e 7% elastano, \n    que \u003cstrong\u003ecria câmaras de ar internas\u003c\/strong\u003e para retenção de calor e excelente controlo da transpiração. \n    As mangas e painéis laterais, em \u003cstrong\u003emalha cardada (fleeced knit)\u003c\/strong\u003e com 20% de elastano, \n    oferecem elasticidade e um ajuste confortável junto ao corpo.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e desliza suavemente, permitindo uma ventilação precisa, \n    enquanto o \u003cstrong\u003eelástico com grip na cintura\u003c\/strong\u003e mantém a camisola estável durante a pedalada. \n    Três \u003cstrong\u003ebolsos traseiros\u003c\/strong\u003e oferecem espaço suficiente para transportar o essencial. \n    Ideal para quem procura calor, respirabilidade e conforto nas transições entre o outono e o inverno.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAquecimento intermédio\u003c\/strong\u003e com excelente gestão da humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido principal 3D knit\u003c\/strong\u003e (93% poliéster \/ 7% elastano) que retém o calor e elimina a humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eMangas e painéis laterais\u003c\/strong\u003e em malha cardada (80% poliéster \/ 20% elastano) para ajuste e conforto.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com grip\u003c\/strong\u003e na cintura para estabilidade durante o movimento.\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\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento fácil.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 273 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 14–18 °C \/ 57–64 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"CDCSPORT","offers":[{"title":"S","offer_id":56456263008638,"sku":"4525556645 S-7","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456263041406,"sku":"4525556645 M-7","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456263074174,"sku":"4525556645 L-7","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456263106942,"sku":"4525556645 XL-7","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456263139710,"sku":"4525556645 2XL-7","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456263172478,"sku":"4525556645 3XL-7","price":150.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167818208267-0.jpg?v=1761318147"},{"product_id":"castelli-apice-thermal-cycling-jersey-fleeced-warm-breathable-comfort-1","title":"CAMISOLA DE MANGA COMPRIDA CASTELLI APICE THERMAL VERDE","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA TÉRMICA DE CICLISMO CASTELLI APICE\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Térmica Apice\u003c\/strong\u003e foi concebida para oferecer \u003cstrong\u003econforto e aquecimento ideais\u003c\/strong\u003e\n    nos dias mais frescos. Combina tecidos técnicos de elevada qualidade com um corte ergonómico,\n    proporcionando uma \u003cstrong\u003egestão térmica e de humidade excecional\u003c\/strong\u003e sem comprometer o desempenho.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O corpo principal utiliza um \u003cstrong\u003etecido 3D knit\u003c\/strong\u003e composto por 93% poliéster e 7% elastano,\n    que \u003cstrong\u003ecria câmaras de ar internas\u003c\/strong\u003e para retenção de calor e excelente controlo da transpiração.\n    As mangas e painéis laterais, em \u003cstrong\u003emalha cardada (fleeced knit)\u003c\/strong\u003e com 20% de elastano,\n    oferecem elasticidade e um ajuste confortável junto ao corpo.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e desliza suavemente, permitindo uma ventilação precisa,\n    enquanto o \u003cstrong\u003eelástico com grip na cintura\u003c\/strong\u003e mantém a camisola estável durante a pedalada.\n    Três \u003cstrong\u003ebolsos traseiros\u003c\/strong\u003e oferecem espaço suficiente para transportar o essencial.\n    Ideal para quem procura calor, respirabilidade e conforto nas transições entre o outono e o inverno.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAquecimento intermédio\u003c\/strong\u003e com excelente gestão da humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido principal 3D knit\u003c\/strong\u003e (93% poliéster \/ 7% elastano) que retém o calor e elimina a humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eMangas e painéis laterais\u003c\/strong\u003e em malha cardada (80% poliéster \/ 20% elastano) para ajuste e conforto.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com grip\u003c\/strong\u003e na cintura para estabilidade durante o movimento.\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\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento fácil.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 273 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 14–18 °C \/ 57–64 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Regular\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu\n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara\n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher\n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"CDCSPORT","offers":[{"title":"S","offer_id":56456263270782,"sku":"4525556645 S-8","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456263303550,"sku":"4525556645 M-8","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456263336318,"sku":"4525556645 L-8","price":150.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56456263369086,"sku":"4525556645 XL-8","price":150.0,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56456263401854,"sku":"4525556645 2XL-8","price":150.0,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456263434622,"sku":"4525556645 3XL-8","price":150.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167818211424-0.jpg?v=1761318149"},{"product_id":"castelli-fly-ls-cycling-jersey-lightweight-thermal-breathable","title":"CAMISOLA DE MANGA COMPRIDA CASTELLI FLY PRETA","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA DE CICLISMO DE MANGA COMPRIDA CASTELLI FLY\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Fly LS\u003c\/strong\u003e é uma camisola térmica de manga comprida ultraleve, \n    ideal para os dias ligeiramente frios em que procuras \u003cstrong\u003evelocidade e liberdade de movimento\u003c\/strong\u003e. \n    O tecido \u003cstrong\u003eFly T-SL\u003c\/strong\u003e escovado e macio oferece o equilíbrio certo entre calor, elasticidade e leveza, \n    garantindo um ajuste justo ao corpo.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Inspirada nas camisolas aerodinâmicas de verão, apresenta \u003cstrong\u003egola baixa\u003c\/strong\u003e para regulação térmica \n    e um \u003cstrong\u003ecorte próximo do corpo\u003c\/strong\u003e que favorece o desempenho e a eficiência. \n    Perfeita para as transições de estação, do verão ao outono e inverno leve.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Inclui \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e para armazenamento e um \u003cstrong\u003ebolso adicional com fecho\u003c\/strong\u003e \n    para objetos de valor. O \u003cstrong\u003eelástico com silicone\u003c\/strong\u003e na cintura mantém a camisola estável durante a pedalada, \n    e os \u003cstrong\u003edetalhes refletores\u003c\/strong\u003e 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\u003eConstrução ultraleve\u003c\/strong\u003e com calor equilibrado para dias frescos.\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 com tecido \u003cstrong\u003eFly T-SL\u003c\/strong\u003e.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento 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 segurança adicional.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com silicone\u003c\/strong\u003e na cintura para manter a camisola no lugar.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAba refletora\u003c\/strong\u003e nos bolsos traseiros para visibilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 344 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 12–18 °C \/ 54–64 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Adaptado\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456273625470,"sku":"4523511085-S","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456273658238,"sku":"4523511085-M","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456273691006,"sku":"4523511085-L","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456273723774,"sku":"4523511085-XL","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456273756542,"sku":"4523511085-2XL","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456273789310,"sku":"4523511085-3XL","price":99.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167879952514-0.jpg?v=1761318250"},{"product_id":"castelli-puro-4-cycling-thermal-jersey-breathable-lightweight-reflective-1","title":"CAMISOLA MANGA COMPRIDA CASTELLI PURO 4 PRETO","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCAMISOLA DE CICLISMO CASTELLI PURO 4\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCamisola Castelli Puro 4\u003c\/strong\u003e foi desenhada para proporcionar o \u003cstrong\u003eequilíbrio perfeito entre aquecimento, conforto e respirabilidade\u003c\/strong\u003e \n    em dias frescos de outono ou primavera.  \n    Oferece um \u003cstrong\u003eajuste justo ao corpo\u003c\/strong\u003e com elevada elasticidade e \u003cstrong\u003evisibilidade a 360°\u003c\/strong\u003e, \n    ideal para ciclistas que procuram desempenho e segurança.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    O tecido italiano em \u003cstrong\u003emalha 3D (93% poliéster \/ 7% elastano)\u003c\/strong\u003e cria \u003cstrong\u003ebolsas de ar internas\u003c\/strong\u003e \n    que aumentam o isolamento térmico sem comprometer a leveza.  \n    O toque suave e a elasticidade garantem conforto durante todo o percurso, mesmo nas longas horas de treino.  \n    Graças à sua gestão de humidade superior, mantém o corpo seco e regulado termicamente.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Os \u003cstrong\u003epainéis refletores nos ombros\u003c\/strong\u003e e os \u003cstrong\u003edetalhes térmicos refletores nos bolsos\u003c\/strong\u003e \n    aumentam a visibilidade em todas as direções.  \n    O \u003cstrong\u003efecho YKK® Vislon®\u003c\/strong\u003e desliza facilmente, permitindo ajustar a ventilação em andamento, \n    enquanto o \u003cstrong\u003egrip elástico na cintura\u003c\/strong\u003e mantém a camisola firme e bem posicionada.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    Leve, versátil e elegante, a Puro 4 é a escolha certa para quem quer uma camisola com design limpo, \n    funcional em cada detalhe e eficaz na regulação térmica.\n  \u003c\/p\u003e\n\n  \u003ch3\u003eCaracterísticas\u003c\/h3\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eAquecimento intermédio\u003c\/strong\u003e ideal para temperaturas amenas.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTecido 3D knit\u003c\/strong\u003e (93% poliéster \/ 7% elastano) com isolamento superior e excelente gestão de humidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElasticidade elevada\u003c\/strong\u003e para um ajuste justo sem compressão.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePainéis refletores\u003c\/strong\u003e nos ombros e \u003cstrong\u003edetalhes refletores\u003c\/strong\u003e nos bolsos para visibilidade a 360°.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eElástico com grip\u003c\/strong\u003e na cintura para estabilidade.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003e3 bolsos traseiros\u003c\/strong\u003e funcionais.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®\u003c\/strong\u003e de deslizamento fácil.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 285 g\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e 12–18 °C \/ 54–64 °F\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e\n\u003cdiv class=\"cc-size-highlight-full\"\u003e\n  \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e\n  \u003cp\u003e\n    Para garantir o melhor ajuste e conforto, mede o perímetro do teu \n    \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara \n    com o guia de tamanhos Castelli abaixo.\n  \u003c\/p\u003e\n\n  \u003cul\u003e\n    \u003cli\u003eMede o \u003cstrong\u003epeito (A)\u003c\/strong\u003e na parte mais larga do tórax, mantendo a fita horizontal e sem apertar.\u003c\/li\u003e\n    \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e\n    \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e\n    \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher \n        \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e\n    Calcule o seu tamanho\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003c!-- ===== MODAL ===== --\u003e\n\u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e\n  \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e\n  \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"cc-size-box\" hidden\u003e\n    \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003c!-- ===== STYLE ===== --\u003e\n\u003cstyle\u003e\n  .product-description {\n    font-family: Arial, Helvetica, sans-serif;\n    color: #222;\n    line-height: 1.6;\n    font-size: 15px;\n  }\n  .product-description h2 {\n    font-size: 22px;\n    text-transform: uppercase;\n    letter-spacing: .5px;\n    color: #111;\n    margin-bottom: 10px;\n  }\n\n  \/* Caixa do guia *\/\n  .cc-size-highlight-full{\n    background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;\n    padding:20px 24px;margin-top:20px;\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\n    box-shadow:0 2px 8px rgba(0,0,0,0.04);\n  }\n  .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}\n  .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}\n  .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}\n  .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}\n\n  \/* Botão *\/\n  .cc-size-btn{\n    display:inline-flex;align-items:center;gap:.5rem;\n    background:#000;color:#fff;border:none;border-radius:6px;\n    padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;\n    transition:transform .2s ease-in-out, background .2s ease-in-out;\n  }\n  .cc-size-btn:hover{background:#222;transform:translateY(-1px);}\n\n  \/* ===== MODAL: reset do tema + centrado real ===== *\/\n  .cc-size-modal{\n    position: fixed !important;\n    inset: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    max-width: none !important;\n    width: 100vw !important;\n    height: 100vh !important;\n    display: none;\n    align-items: center !important;\n    justify-content: center !important;\n    z-index: 99999 !important;\n  }\n  .cc-size-modal[open]{ display:flex; }\n  .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }\n\n  .cc-size-box{\n    position: relative;\n    box-sizing: border-box;\n    background: #fff;\n    border: 1px solid #e9e9e9;\n    border-radius: 10px;\n    box-shadow: 0 10px 25px rgba(0,0,0,.25);\n    padding: 8px;\n    overflow: hidden;\n    width: min(85vw, 1200px) !important;\n    max-height: 88vh !important;\n    display: flex;align-items:center;justify-content:center;\n  }\n  .cc-size-img{\n    display:block;\n    max-width:100% !important;\n    max-height:84vh !important;\n    width:auto !important;height:auto !important;\n    object-fit:contain !important;border-radius:6px;\n  }\n\n  .cc-close{\n    position:absolute;top:10px;right:10px;\n    background:#fff;border:1px solid #ddd;border-radius:6px;\n    padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;\n    box-shadow:0 2px 6px rgba(0,0,0,.08);\n  }\n  .cc-close:hover{background:#f3f3f3;}\n\n  @media (max-width: 768px){\n    .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }\n    .cc-size-img{ max-height:92vh !important; width:100% !important; }\n    .cc-close{ top:6px; right:6px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- ===== SCRIPT ===== --\u003e\n\u003cscript\u003e\n(function(){\n  const btn   = document.querySelector('.cc-size-btn');\n  const modal = document.getElementById('cc-size-modal');\n  if(!btn || !modal) return;\n\n  const close  = modal.querySelector('.cc-close');\n  const box    = modal.querySelector('.cc-size-box');\n  const img    = document.getElementById('cc-size-img');\n  const loader = modal.querySelector('.cc-loader');\n\n  function lockScroll(lock){\n    const el = document.documentElement;\n    if(lock){\n      el.style.overflow = 'hidden';\n      el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';\n    }else{\n      el.style.overflow = '';\n      el.style.paddingRight = '';\n    }\n  }\n\n  function openModal(e){\n    e \u0026\u0026 e.preventDefault();\n    if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }\n    lockScroll(true);\n    if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    }\n  }\n\n  function closeModal(){\n    if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }\n    lockScroll(false);\n  }\n\n  btn.addEventListener('click', openModal, { passive:true });\n  close.addEventListener('click', closeModal);\n  modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });\n\n  modal.addEventListener('click', e =\u003e {\n    if(!box.contains(e.target)) closeModal();\n  });\n\n  document.addEventListener('keydown', e =\u003e {\n    if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();\n  });\n\n  if(img){\n    img.addEventListener('load', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n    });\n    img.addEventListener('error', () =\u003e {\n      loader \u0026\u0026 (loader.style.display='none');\n      box \u0026\u0026 (box.hidden=false);\n      box.innerHTML = '\u003cdiv style=\"padding:24px;text-align:center;color:#444\"\u003eNão foi possível carregar a imagem do guia de tamanhos.\u003c\/div\u003e';\n    });\n  }\n})();\n\u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56477899391358,"sku":"4525510030 S","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56477899424126,"sku":"4525510030 M","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56477899456894,"sku":"4525510030 L","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56477899489662,"sku":"4525510030 XL","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56477899522430,"sku":"4525510030 2XL","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56477899555198,"sku":"4525510030 3XL","price":99.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167818987220-0.jpg?v=1761652716"},{"product_id":"castelli-pro-thermal-mid-long-sleeve-jersey-lightweight-cool-conditions","title":"CAMISOLA MANGA COMPRIDA CASTELLI PRO SOUDAL QUICK-STEP 2025","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI PRO THERMAL\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eA peça favorita dos profissionais: uma camisola térmica mais leve e elástica para treinos de alta intensidade em condições frescas.\u003c\/strong\u003e\u003cbr\u003eA Pro Thermal Mid LS foi desenhada para aqueles dias de transição onde uma camisola de manga curta é insuficiente, mas uma térmica pesada provocaria o sobreaquecimento. O segredo reside no tecido Warmer X-Stretch, que proporciona o equilíbrio ideal entre isolamento e respirabilidade, mantendo um perfil aerodinâmico que se move contigo.\u003c\/p\u003e\n\u003ch3\u003eAjuste Aerodinâmico e Funcionalidade Pro\u003c\/h3\u003e\n\u003cp\u003eCom um corte mais ajustado ao corpo, esta camisola oferece uma performance de elite sem nunca comprometer o conforto. A construção de bolsos rebaixados (drop-pocket) mantém o equipamento estável e bem posicionado, mesmo quando pedalas fora do selim. Equipada com o fiável fecho YKK® Vislon®, é a escolha técnica para quem procura cobrir os braços e manter o core protegido sem o volume de um casaco.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTecido Warmer X-Stretch:\u003c\/strong\u003e Interior cardado para calor leve e máxima flexibilidade\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte Race:\u003c\/strong\u003e Ajuste próximo ao corpo para ganho aerodinâmico\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDrop-Pocket Construction:\u003c\/strong\u003e Melhor posicionamento dos bolsos e ajuste de cintura\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e Manipulação suave e rápida com uma mão\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGestão de Calor:\u003c\/strong\u003e Perfeita para evitar o sobreaquecimento em ritmos elevados\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatilidade Térmica:\u003c\/strong\u003e Excelente performance entre 10°C e 20°C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste técnico profissional)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eDesenvolvida para as exigências do pelotão profissional, onde a regulação térmica e o ajuste são cruciais.\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":56501475344766,"sku":"4235111150-XS","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56501475377534,"sku":"4235111150-S","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56501475410302,"sku":"4235111150-M","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56501475443070,"sku":"4235111150-L","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56501475475838,"sku":"4235111150-XL","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56501475508606,"sku":"4235111150-XXL","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56501475541374,"sku":"4235111150-3XL","price":79.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167898130274-0.jpg?v=1762015442"},{"product_id":"ale-prime-pro-team-bahrain-long-sleeve-jersey-thermal-3-rear-pockets","title":"CAMISOLA MANGA COMPRIDA ALÉ PRIME TEAM BAHRAIN","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003cp\u003e\u003cstrong\u003eCamisola ergonómica e versátil para climas médios, com isolamento equilibrado e boa ventilação.\u003c\/strong\u003e\u003cbr\u003eA \u003cstrong\u003eAlé Prime Long Sleeve Jersey – Pro Team Bahrain\u003c\/strong\u003e é uma camisola de manga comprida concebida para oferecer conforto e performance em condições de temperatura moderada. É produzida no tecido \u003cstrong\u003eTHERMO PIQUET 200\u003c\/strong\u003e, compacto e suave, com estrutura piquet que melhora a ventilação enquanto ajuda a isolar o corpo.\u003c\/p\u003e\n\u003cp\u003eO ajuste ergonómico e os detalhes funcionais tornam esta peça uma excelente opção para treino e utilização regular, garantindo estabilidade durante a pedalada e capacidade de transporte para os essenciais.\u003c\/p\u003e\n\u003ch3\u003eDestaques\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido THERMO PIQUET 200\u003c\/strong\u003e com estrutura piquet para ventilação + isolamento\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBainha com silicone\u003c\/strong\u003e para manter a camisola no lugar\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos duplos anatómicos\u003c\/strong\u003e para ajuste confortável\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrês bolsos traseiros\u003c\/strong\u003e para nutrição e acessórios\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eElemento refletor traseiro\u003c\/strong\u003e para maior segurança em baixa luminosidade\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEspecificações\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 255 g\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido:\u003c\/strong\u003e Thermo Piquet 200\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eComposição:\u003c\/strong\u003e 100% poliéster\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eClassificação\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eRespirabilidade\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eLeveza\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção UV\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eIdeal para pedalar em climas médios, quando procuras uma camisola confortável, com boa gestão térmica e detalhes práticos para o dia a dia.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Alé","offers":[{"title":"S","offer_id":56699360739710,"sku":"H24213105 S","price":94.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56699360772478,"sku":"H24213105 M","price":94.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56699360805246,"sku":"H24213105 L","price":94.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56699360838014,"sku":"H24213105 XL","price":94.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56699360870782,"sku":"H24213105 2XL","price":94.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167931439328-0.jpg?v=1765538492"},{"product_id":"ale-pragma-fondo-3-0-long-sleeve-cycling-jersey-winter-thermal-silicone-waist","title":"CAMISOLA MANGA COMPRIDA ALÉ PRAGMA FONDO 3.0 PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003cp\u003e\u003cstrong\u003eCamisola de treino para meia-estação fria e início da primavera, com tecidos funcionais, conforto térmico e ajuste Performance.\u003c\/strong\u003e\u003cbr\u003eA \u003cstrong\u003eAlé Pragma Fondo 3.0 Long Sleeve Jersey\u003c\/strong\u003e é a escolha ideal para quem procura uma camisola de treino para o período de \u003cstrong\u003eoutono\/inverno moderado\u003c\/strong\u003e ou \u003cstrong\u003einício da primavera\u003c\/strong\u003e, quando os tecidos técnicos e funcionais fazem toda a diferença.\u003c\/p\u003e\n\u003cp\u003eO \u003cstrong\u003efit Performance\u003c\/strong\u003e garante liberdade total de movimentos, enquanto os materiais \u003cstrong\u003emacios e quentes\u003c\/strong\u003e proporcionam conforto ao longo de toda a volta. As cores atuais e o design mantêm o estilo característico da Alé, sem comprometer a performance.\u003c\/p\u003e\n\u003ch3\u003eDestaques\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eIdeal para meia-estação fria\u003c\/strong\u003e e início da primavera\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido Soft Cloth 250\u003c\/strong\u003e macio e quente\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBainha com silicone\u003c\/strong\u003e para ajuste estável\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos duplos anatómicos\u003c\/strong\u003e para maior conforto\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrês bolsos traseiros\u003c\/strong\u003e para essenciais de treino\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDetalhes refletores\u003c\/strong\u003e para maior segurança\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEspecificações\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 280 g\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido:\u003c\/strong\u003e Soft Cloth 250\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eComposição (tecido principal):\u003c\/strong\u003e 85% poliamida, 15% elastano\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eClassificação\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eRespirabilidade\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTermicidade\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003ePerfeita para treinos quando queres uma camisola quente e confortável, com bom ajuste e tecidos técnicos para pedalar com confiança.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Alé","offers":[{"title":"XS","offer_id":56699362607486,"sku":"L26007401 XS","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":56699362640254,"sku":"L26007401 S","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56699362673022,"sku":"L26007401 M","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56699362705790,"sku":"L26007401 L","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56699362738558,"sku":"L26007401 XL","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56699362771326,"sku":"L26007401 2XL","price":99.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56699362804094,"sku":"L26007401 3XL","price":99.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167894715300-0.jpg?v=1765538513"},{"product_id":"ale-prime-long-sleeve-jersey-french-federation-edition-thermal-pro-team","title":"CAMISOLA MANGA COMPRIDA ALÉ PRIME FEDERAÇÃO FRANCESA","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003cp\u003e\u003cstrong\u003eCamisola ergonómica e versátil para climas médios, com isolamento equilibrado e boa ventilação.\u003c\/strong\u003e\u003cbr\u003eA \u003cstrong\u003eAlé Prime Long Sleeve Jersey – French Federation Edition\u003c\/strong\u003e é uma camisola de manga comprida concebida para oferecer conforto e performance em condições de temperatura moderada. É produzida no tecido \u003cstrong\u003eTHERMO PIQUET 200\u003c\/strong\u003e, compacto e suave, com estrutura piquet que melhora a ventilação enquanto ajuda a isolar o corpo.\u003c\/p\u003e\n\u003cp\u003eO ajuste ergonómico e os detalhes funcionais tornam esta peça uma excelente opção para treino e utilização regular, garantindo estabilidade durante a pedalada e capacidade de transporte para os essenciais.\u003c\/p\u003e\n\u003ch3\u003eDestaques\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido THERMO PIQUET 200\u003c\/strong\u003e com estrutura piquet para ventilação + isolamento\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBainha com silicone\u003c\/strong\u003e para manter a camisola no lugar\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos duplos anatómicos\u003c\/strong\u003e para ajuste confortável\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrês bolsos traseiros\u003c\/strong\u003e para nutrição e acessórios\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eElemento refletor traseiro\u003c\/strong\u003e para maior segurança em baixa luminosidade\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEspecificações\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 255 g\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido:\u003c\/strong\u003e Thermo Piquet 200\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eComposição:\u003c\/strong\u003e 100% poliéster\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eClassificação\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eRespirabilidade\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eLeveza\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção UV\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eIdeal para pedalar em climas médios, quando procuras uma camisola confortável, com boa gestão térmica e detalhes práticos para o dia a dia.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Alé","offers":[{"title":"S","offer_id":56699364409726,"sku":"F24154098 S","price":94.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56699364442494,"sku":"F24154098 M","price":94.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56699364475262,"sku":"F24154098 L","price":94.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56699364508030,"sku":"F24154098 XL","price":94.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56699364540798,"sku":"F24154098 2Xl","price":94.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167931470297-0.jpg?v=1765538545"},{"product_id":"ale-prime-long-sleeve-jersey-british-federation-edition-thermal-pro-team","title":"CAMISOLA MANGA COMPRIDA ALÉ PRIME FEDERAÇÃO REINO UNIDO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003cp\u003e\u003cstrong\u003eCamisola ergonómica e versátil para climas médios, com isolamento equilibrado e boa ventilação.\u003c\/strong\u003e\u003cbr\u003eA \u003cstrong\u003eAlé Prime Long Sleeve Jersey – British Federation Edition\u003c\/strong\u003e é uma camisola de manga comprida concebida para oferecer conforto e performance em condições de temperatura moderada. É produzida no tecido \u003cstrong\u003eTHERMO PIQUET 200\u003c\/strong\u003e, compacto e suave, com estrutura piquet que melhora a ventilação enquanto ajuda a isolar o corpo.\u003c\/p\u003e\n\u003cp\u003eO ajuste ergonómico e os detalhes funcionais tornam esta peça uma excelente opção para treino e utilização regular, garantindo estabilidade durante a pedalada e capacidade de transporte para os essenciais.\u003c\/p\u003e\n\u003ch3\u003eDestaques\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eTecido THERMO PIQUET 200\u003c\/strong\u003e com estrutura piquet para ventilação + isolamento\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBainha com silicone\u003c\/strong\u003e para manter a camisola no lugar\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003ePunhos duplos anatómicos\u003c\/strong\u003e para ajuste confortável\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTrês bolsos traseiros\u003c\/strong\u003e para nutrição e acessórios\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eElemento refletor traseiro\u003c\/strong\u003e para maior segurança em baixa luminosidade\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEspecificações\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003ePeso:\u003c\/strong\u003e 255 g\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTecido:\u003c\/strong\u003e Thermo Piquet 200\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eComposição:\u003c\/strong\u003e 100% poliéster\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eClassificação\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eRespirabilidade\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eLeveza\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção UV\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eIdeal para pedalar em climas médios, quando procuras uma camisola confortável, com boa gestão térmica e detalhes práticos para o dia a dia.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Alé","offers":[{"title":"S","offer_id":56699366146430,"sku":"R25140129 S","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56699366179198,"sku":"R25140129 M","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56699366211966,"sku":"R25140129 L","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56699366244734,"sku":"R25140129 XL","price":99.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56699366277502,"sku":"R25140129 2XL","price":99.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167930679556-0.jpg?v=1765538572"},{"product_id":"ale-prime-pro-team-green-project-bardiani-csf-long-sleeve-jersey","title":"CAMISOLA MANGA COMPRIDA ALÉ PRIME PRO TEAM GREEN PROJECT BARDIANI-CSF","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003cp\u003e\u003cstrong\u003eCamisola de alto desempenho inspirada no equipamento oficial da equipa profissional Green Project Bardiani-CSF.\u003c\/strong\u003e\u003cbr\u003eA \u003cstrong\u003eAlé Cycling Prime Pro Team Bardiani-CSF\u003c\/strong\u003e foi desenvolvida para ciclistas exigentes que procuram uma combinação perfeita entre aerodinâmica, conforto e funcionalidade técnica. Ideal tanto para treinos intensivos como para competição, reflete a identidade e a performance de uma equipa profissional.\u003c\/p\u003e\n\u003cp\u003eA \u003cstrong\u003ebanda de silicone alargada na cintura\u003c\/strong\u003e mantém a camisola perfeitamente posicionada durante esforços de alta intensidade, enquanto o \u003cstrong\u003efecho frontal completo\u003c\/strong\u003e permite um controlo eficaz da ventilação em subidas ou em condições mais quentes.\u003c\/p\u003e\n\u003cp\u003eOs \u003cstrong\u003etrês bolsos traseiros\u003c\/strong\u003e oferecem amplo espaço para transportar alimentação, ferramentas ou objetos pessoais. Para maior segurança, os \u003cstrong\u003edetalhes refletores traseiros\u003c\/strong\u003e aumentam a visibilidade em condições de pouca luz.\u003c\/p\u003e\n\u003cp\u003eDe acordo com a Alé Cycling, esta camisola garante \u003cstrong\u003eelevada respirabilidade, leveza e proteção UV\u003c\/strong\u003e, tornando-se uma escolha versátil e fiável para ciclistas dedicados.\u003c\/p\u003e\n\u003ch3\u003eDestaques\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eEdição oficial Green Project Bardiani-CSF\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDesign aerodinâmico\u003c\/strong\u003e para treino e competição\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBanda de silicone alargada\u003c\/strong\u003e para ajuste estável\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eFecho frontal completo\u003c\/strong\u003e para controlo da ventilação\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eDetalhes refletores\u003c\/strong\u003e para maior segurança\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eCaracterísticas Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\u003cstrong\u003eRespirabilidade:\u003c\/strong\u003e Alta\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eLeveza:\u003c\/strong\u003e Elevada\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eProteção UV:\u003c\/strong\u003e Sim\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBolsos:\u003c\/strong\u003e 3 bolsos traseiros\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eUma camisola de inspiração profissional, ideal para ciclistas que procuram desempenho, conforto e um visual de equipa WorldTour.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Alé","offers":[{"title":"S","offer_id":56699366506878,"sku":"R23188079 S","price":69.9,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":56699366539646,"sku":"R23188079 M","price":69.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56699366572414,"sku":"R23188079 L","price":69.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56699366605182,"sku":"R23188079 XL","price":69.9,"currency_code":"EUR","in_stock":true},{"title":"2XL","offer_id":56699366637950,"sku":"R23188079 2XL","price":69.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167931405557-0.jpg?v=1765538576"},{"product_id":"castelli-ottanta-ls-jersey-women-s-cycling-long-sleeve-jersey-thermal-breathable-1","title":"CAMISOLA MANGA COMPRIDA MULHER CASTELLI OTTANTA PRETO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI OTTANTA W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eUma camisola térmica de performance que combina um grafismo impactante com o calor essencial para a meia-estação.\u003c\/strong\u003e\u003cbr\u003eA Ottanta LS W foi desenhada para quem procura estilo sem sacrificar a funcionalidade técnica. Utilizando a versão térmica do tecido Warmer da Castelli, com o seu interior em fleece macio, esta camisola é a barreira ideal contra o frio outonal, funcionando perfeitamente sozinha ou combinada com um colete Perfetto ou Aria em dias mais exigentes.\u003c\/p\u003e\n\u003ch3\u003eAtenção ao Detalhe e Conforto Térmico\u003c\/h3\u003e\n\u003cp\u003eEmbora o grafismo seja o que primeiro chama a atenção, é a engenharia da Castelli que se destaca na estrada. A construção dos bolsos \"dropped-pocket\" mantém a carga estável e acessível, enquanto o fecho YKK® Vislon® de fácil manuseamento permite regular a ventilação com uma só mão. O interior escovado proporciona um conforto imediato sobre a pele, garantindo que o calor se mantém onde é necessário.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTecido Warmer:\u003c\/strong\u003e Poliéster térmico com interior em fleece escovado\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDesign Dropped-Pocket:\u003c\/strong\u003e 3 bolsos traseiros em posição ergonómica\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho:\u003c\/strong\u003e YKK® Vislon® integral com proteção de pescoço\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEstabilidade:\u003c\/strong\u003e Banda de silicone na cintura para evitar que a camisola suba\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSegurança:\u003c\/strong\u003e Detalhes refletores para maior visibilidade rodoviária\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVersatilidade:\u003c\/strong\u003e Ideal para o intervalo entre 12°C e 18°C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Regular Fit (Equilíbrio ideal entre conforto e performance)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003eA escolha ideal para ciclistas que valorizam a estética clássica da Castelli com tecnologias que garantem uma pedalada quente e seca.\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":56885242167678,"sku":"4523546010 XS","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56885242200446,"sku":"4523546010 S","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56885242233214,"sku":"4523546010 M","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56885242265982,"sku":"4523546010 L","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56885242298750,"sku":"4523546010 XL","price":79.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167791106582-0.jpg?v=1770132917"},{"product_id":"castelli-espresso-w-long-sleeve-women-s-cycling-jersey-1","title":"CAMISOLA DE MANGA COMPRIDA PARA MULHER CASTELLI ESPRESSO W VERMELHO","description":"\u003cdiv class=\"cc-simple\"\u003e\n\u003ch2\u003eCASTELLI ESPRESSO W\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eA tua nova camisola de manga comprida favorita: desenhada para ser a primeira escolha mal acabe de secar.\u003c\/strong\u003e\u003cbr\u003eA Espresso W LS foi criada com um objetivo simples: ser a camisola que escolhes sempre, independentemente de preferires um ajuste aerodinâmico de competição ou um corte mais regular. Graças ao inovador tecido Air-O Stretch, esta peça adapta-se ao teu corpo de forma natural, oferecendo uma sensação de liberdade total sem nunca comprometer a performance técnica.\u003c\/p\u003e\n\u003ch3\u003ePerformance Respirável e Proteção UPF 30\u003c\/h3\u003e\n\u003cp\u003eDesenvolvida pela Castelli para uma gestão de humidade exemplar, esta camisola provou ser tão eficiente no túnel de vento como é confortável na estrada. As mangas de manga comprida com punhos de corte a laser oferecem uma transição suave sobre a pele e proteção solar adicional. Com um bolso extra de segurança com fecho e a fiabilidade do sistema YKK® Vislon®, a Espresso prova que a simplicidade e a alta tecnologia podem caminhar juntas.\u003c\/p\u003e\n\u003ch3\u003eEspecificações Técnicas\u003c\/h3\u003e\n\u003cul class=\"cc-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTecido Air-O Stretch:\u003c\/strong\u003e Respirabilidade de elite e ajuste anatómico perfeito\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eProteção UV:\u003c\/strong\u003e Classificação UPF 30 para proteção solar\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePunhos Raw-Cut:\u003c\/strong\u003e Acabamento a laser para conforto sem costuras\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArrumação Segura:\u003c\/strong\u003e 3 bolsos traseiros + 1 bolso com fecho para objetos de valor\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFecho YKK® Vislon®:\u003c\/strong\u003e O sistema de deslize mais suave do mercado\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEstabilidade:\u003c\/strong\u003e Cintura com silicone para fixação total\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVisibilidade:\u003c\/strong\u003e Detalhe refletor traseiro para maior segurança\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCorte:\u003c\/strong\u003e Tailored Fit (Ajuste técnico feminino)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size: 13px; color: #555; margin-top: 10px;\"\u003ePorque um Espresso é sempre uma boa ideia, esta camisola de manga comprida será a tua companheira mais fiável para todos os dias no selim.\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":56885242429822,"sku":"4525049081 XS","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"S","offer_id":56885242462590,"sku":"4525049081 S","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56885242495358,"sku":"4525049081 M","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56885242528126,"sku":"4525049081 L","price":79.9,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":56885242560894,"sku":"4525049081 XL","price":79.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167719242093-0.jpg?v=1770132920"}],"url":"https:\/\/www.cyclistcloset.pt\/collections\/camisolas-manga-comprida.oembed","provider":"Cyclist's Closet","version":"1.0","type":"link"}