{"product_id":"castelli-flanders-warm-ls-cycling-base-layer-thermal-comfortable-breathable","title":"CAMISOLA INTERIOR CASTELLI FLANDERS CINZENTA","description":"\u003cdiv class=\"product-description\"\u003e   \u003ch2\u003eCAMADA BASE CASTELLI FLANDERS WARM LS CYCLING\u003c\/h2\u003e   \u003cp\u003e     A \u003cstrong\u003eCamada Base Flanders Warm LS\u003c\/strong\u003e é a camada base ideal para pedalar em \u003cstrong\u003etemperaturas frias\u003c\/strong\u003e.      Mantém-te \u003cstrong\u003equente, seco e confortável\u003c\/strong\u003e mesmo nos dias mais duros do inverno,      oferecendo isolamento térmico e excelente gestão da humidade.   \u003c\/p\u003e   \u003cp\u003e     Produzida em tecido \u003cstrong\u003eSottoZero Fleece\u003c\/strong\u003e 100% poliéster de \u003cstrong\u003efios multi-denier\u003c\/strong\u003e,      garante calor e respirabilidade superiores. As \u003cstrong\u003ecosturas planas (flat-lock)\u003c\/strong\u003e      eliminam atritos e asseguram conforto próximo da pele, enquanto os      \u003cstrong\u003epainéis em malha sob as axilas\u003c\/strong\u003e melhoram a ventilação e a regulação térmica.   \u003c\/p\u003e   \u003cp\u003e     A \u003cstrong\u003ebainha inferior plana\u003c\/strong\u003e encaixa facilmente dentro dos bibtights ou calças,      proporcionando um ajuste limpo e estável. Leve, quente e técnica, esta é a base layer de eleição      para enfrentar os meses frios com total conforto.   \u003c\/p\u003e   \u003ch3\u003eCaracterísticas\u003c\/h3\u003e   \u003cul\u003e     \u003cli\u003e\n\u003cstrong\u003eTecido SottoZero Fleece\u003c\/strong\u003e 100% poliéster de fios multi-denier para isolamento e respirabilidade.\u003c\/li\u003e     \u003cli\u003e\n\u003cstrong\u003eCosturas planas (flat-lock)\u003c\/strong\u003e para conforto próximo da pele.\u003c\/li\u003e     \u003cli\u003e\n\u003cstrong\u003ePainéis em malha\u003c\/strong\u003e sob as axilas para ventilação e gestão da temperatura.\u003c\/li\u003e     \u003cli\u003e\n\u003cstrong\u003eBainha inferior plana\u003c\/strong\u003e que se encaixa facilmente nos bibtights.\u003c\/li\u003e     \u003cli\u003e\n\u003cstrong\u003ePeso:\u003c\/strong\u003e 240 g\u003c\/li\u003e     \u003cli\u003e\n\u003cstrong\u003eTemperatura ideal:\u003c\/strong\u003e -2–10 °C \/ 28–50 °F\u003c\/li\u003e     \u003cli\u003e\n\u003cstrong\u003eFIT:\u003c\/strong\u003e Tailored\u003c\/li\u003e   \u003c\/ul\u003e \u003c\/div\u003e \u003c!-- ===== GUIA DE TAMANHOS CASTELLI ===== --\u003e \u003cdiv class=\"cc-size-highlight-full\"\u003e   \u003ch3\u003e📏 Encontra o Teu Tamanho Ideal\u003c\/h3\u003e   \u003cp\u003e     Para garantir o melhor ajuste e conforto, mede o perímetro do teu      \u003cstrong\u003epeito (A)\u003c\/strong\u003e e da tua \u003cstrong\u003ecintura (B)\u003c\/strong\u003e em centímetros e compara      com o guia de tamanhos Castelli abaixo.   \u003c\/p\u003e   \u003cul\u003e     \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     \u003cli\u003eMede a \u003cstrong\u003ecintura (B)\u003c\/strong\u003e na zona mais estreita do tronco.\u003c\/li\u003e     \u003cli\u003eUsa uma fita métrica flexível, mantendo uma posição natural e relaxada.\u003c\/li\u003e     \u003cli\u003eCompara as medidas com a tabela e, se estiveres entre dois tamanhos, considera escolher          \u003cstrong\u003eum tamanho acima\u003c\/strong\u003e, conforme a recomendação da Castelli para maior conforto.\u003c\/li\u003e   \u003c\/ul\u003e   \u003cbutton class=\"cc-size-btn\" type=\"button\" aria-haspopup=\"dialog\" aria-controls=\"cc-size-modal\"\u003e     Calcule o seu tamanho   \u003c\/button\u003e \u003c\/div\u003e \u003c!-- ===== MODAL ===== --\u003e \u003cdialog id=\"cc-size-modal\" class=\"cc-size-modal\" aria-label=\"Guia de tamanhos\"\u003e   \u003cbutton class=\"cc-close\" aria-label=\"Fechar\"\u003e✕\u003c\/button\u003e   \u003cdiv class=\"cc-loader\" aria-hidden=\"true\"\u003e\u003c\/div\u003e   \u003cdiv class=\"cc-size-box\" hidden\u003e     \u003cimg id=\"cc-size-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/Size_Chart_Castelli_Men_2.0.png?v=1761056363\" alt=\"Guia de tamanhos Castelli\" loading=\"eager\" decoding=\"sync\"\u003e   \u003c\/div\u003e \u003c\/dialog\u003e \u003c!-- ===== STYLE ===== --\u003e \u003cstyle\u003e   .product-description {     font-family: Arial, Helvetica, sans-serif;     color: #222;     line-height: 1.6;     font-size: 15px;   }   .product-description h2 {     font-size: 22px;     text-transform: uppercase;     letter-spacing: .5px;     color: #111;     margin-bottom: 10px;   }   \/* Caixa do guia *\/   .cc-size-highlight-full{     background:#f9f9f9;border:1px solid #e2e2e2;border-radius:10px;     padding:20px 24px;margin-top:20px;     font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;     box-shadow:0 2px 8px rgba(0,0,0,0.04);   }   .cc-size-highlight-full h3{font-size:18px;margin:0 0 10px;color:#111;}   .cc-size-highlight-full p{font-size:15px;margin:0 0 10px;color:#333;}   .cc-size-highlight-full ul{margin:0 0 15px 20px;padding:0;}   .cc-size-highlight-full li{margin-bottom:5px;font-size:15px;color:#333;}   \/* Botão *\/   .cc-size-btn{     display:inline-flex;align-items:center;gap:.5rem;     background:#000;color:#fff;border:none;border-radius:6px;     padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;     transition:transform .2s ease-in-out, background .2s ease-in-out;   }   .cc-size-btn:hover{background:#222;transform:translateY(-1px);}   \/* ===== MODAL: reset do tema + centrado real ===== *\/   .cc-size-modal{     position: fixed !important;     inset: 0 !important;     background: transparent !important;     border: 0 !important;     margin: 0 !important;     padding: 0 !important;     max-width: none !important;     width: 100vw !important;     height: 100vh !important;     display: none;     align-items: center !important;     justify-content: center !important;     z-index: 99999 !important;   }   .cc-size-modal[open]{ display:flex; }   .cc-size-modal::backdrop{ background: rgba(0,0,0,.6) !important; }   .cc-size-box{     position: relative;     box-sizing: border-box;     background: #fff;     border: 1px solid #e9e9e9;     border-radius: 10px;     box-shadow: 0 10px 25px rgba(0,0,0,.25);     padding: 8px;     overflow: hidden;     width: min(85vw, 1200px) !important;     max-height: 88vh !important;     display: flex;align-items:center;justify-content:center;   }   .cc-size-img{     display:block;     max-width:100% !important;     max-height:84vh !important;     width:auto !important;height:auto !important;     object-fit:contain !important;border-radius:6px;   }   .cc-close{     position:absolute;top:10px;right:10px;     background:#fff;border:1px solid #ddd;border-radius:6px;     padding:6px 9px;cursor:pointer;font-size:16px;line-height:1;     box-shadow:0 2px 6px rgba(0,0,0,.08);   }   .cc-close:hover{background:#f3f3f3;}   @media (max-width: 768px){     .cc-size-box{ width:95vw !important; max-height:95vh !important; padding:4px !important; }     .cc-size-img{ max-height:92vh !important; width:100% !important; }     .cc-close{ top:6px; right:6px; }   } \u003c\/style\u003e \u003c!-- ===== SCRIPT ===== --\u003e \u003cscript\u003e (function(){   const btn   = document.querySelector('.cc-size-btn');   const modal = document.getElementById('cc-size-modal');   if(!btn || !modal) return;   const close  = modal.querySelector('.cc-close');   const box    = modal.querySelector('.cc-size-box');   const img    = document.getElementById('cc-size-img');   const loader = modal.querySelector('.cc-loader');   function lockScroll(lock){     const el = document.documentElement;     if(lock){       el.style.overflow = 'hidden';       el.style.paddingRight = (window.innerWidth - document.documentElement.clientWidth) + 'px';     }else{       el.style.overflow = '';       el.style.paddingRight = '';     }   }   function openModal(e){     e \u0026\u0026 e.preventDefault();     if(modal.showModal){ modal.showModal(); } else { modal.setAttribute('open',''); }     lockScroll(true);     if(img \u0026\u0026 img.complete \u0026\u0026 img.naturalWidth\u003e0){       loader \u0026\u0026 (loader.style.display='none');       box \u0026\u0026 (box.hidden=false);     }   }   function closeModal(){     if(modal.close){ modal.close(); } else { modal.removeAttribute('open'); }     lockScroll(false);   }   btn.addEventListener('click', openModal, { passive:true });   close.addEventListener('click', closeModal);   modal.addEventListener('cancel', e =\u003e { e.preventDefault(); closeModal(); });   modal.addEventListener('click', e =\u003e {     if(!box.contains(e.target)) closeModal();   });   document.addEventListener('keydown', e =\u003e {     if(e.key === 'Escape' \u0026\u0026 modal.hasAttribute('open')) closeModal();   });   if(img){     img.addEventListener('load', () =\u003e {       loader \u0026\u0026 (loader.style.display='none');       box \u0026\u0026 (box.hidden=false);     });     img.addEventListener('error', () =\u003e {       loader \u0026\u0026 (loader.style.display='none');       box \u0026\u0026 (box.hidden=false);       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';     });   } })(); \u003c\/script\u003e","brand":"Castelli","offers":[{"title":"S","offer_id":56456266252670,"sku":"4514531008 S-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"M","offer_id":56456266285438,"sku":"4514531008 M-1","price":79.9,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":56456266318206,"sku":"4514531008 L-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":56456266350974,"sku":"4514531008 XL-1","price":79.9,"currency_code":"EUR","in_stock":false},{"title":"2XL","offer_id":56456266383742,"sku":"4514531008 2XL-1","price":79.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0946\/1832\/1278\/files\/167819910722-0.jpg?v=1761318180","url":"https:\/\/www.cyclistcloset.pt\/products\/castelli-flanders-warm-ls-cycling-base-layer-thermal-comfortable-breathable","provider":"Cyclist's Closet","version":"1.0","type":"link"}