{"product_id":"winter-cycling-jersey-brand-castelli-unlimited-thermal-jersey","title":"CAMISOLA MANGA COMPRIDA CASTELLI UNLIMITED CINZA","description":"\u003cdiv class=\"product-description\"\u003e\n  \u003ch2\u003eCASTELLI UNLIMITED THERMAL JERSEY\u003c\/h2\u003e\n\n  \u003cp\u003e\n    A \u003cstrong\u003eCastelli Unlimited Thermal Jersey\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 jersey 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 jersey 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\n","brand":"Castelli","offers":[{"title":"S","offer_id":56456259469694,"sku":"4524522030 S-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456259502462,"sku":"4524522030 M-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"L","offer_id":56456259535230,"sku":"4524522030 L-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456259567998,"sku":"4524522030 XL-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456259600766,"sku":"4524522030 2XL-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"3XL","offer_id":56456259633534,"sku":"4524522030 3XL-1","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","url":"https:\/\/www.cyclistcloset.pt\/en\/products\/winter-cycling-jersey-brand-castelli-unlimited-thermal-jersey","provider":"Cyclist's Closet","version":"1.0","type":"link"}