{"title":"女-冬季","description":"","products":[{"product_id":"winter-gloves-black","title":"Winter Gloves 冬季手套 \/ 黑色","description":"\u003cp\u003e適合寒冷與潮濕環境的騎乘需求，ttbici 冬季保暖手套採用刷毛內裡，提供輕量保暖且不影響操作靈活度。具備觸控相容指尖與反光細節，讓冬季騎乘更舒適也更安心。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48525476004064,"sku":"B1TC-G02-BK0XSN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48525476036832,"sku":"B1TC-G02-BK00SN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48525476069600,"sku":"B1TC-G02-BK00MN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48525476102368,"sku":"B1TC-G02-BK00LN","price":1480.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/winter_glove_black_02_1_1_1_1.jpg?v=1767944613"},{"product_id":"winter-gloves-grey","title":"Winter Gloves 冬季手套 \/ 灰色","description":"\u003cp\u003e適合寒冷與潮濕環境的騎乘需求，ttbici 冬季保暖手套採用刷毛內裡，提供輕量保暖且不影響操作靈活度。具備觸控相容指尖與反光細節，讓冬季騎乘更舒適也更安心。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48525477871840,"sku":"B1TC-G02-GY0XSN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48525477904608,"sku":"B1TC-G02-GY00SN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48525477937376,"sku":"B1TC-G02-GY00MN","price":1480.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48525477970144,"sku":"B1TC-G02-GY00LN","price":1480.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/winter_glove_grey_02_4.jpg?v=1767944622"},{"product_id":"winter-arm-warmer-black","title":"Winter Arm Warmer 冬季保暖袖套 \/ 黑色","description":"\u003cp\u003e專為寒冷與天氣多變的騎乘環境打造，ttbici 冬季保暖袖套採用 DWR 防潑水處理布料，可抵禦細雨同時保持良好透氣性。搭配止滑矽膠條設計，提供穩定貼合、不易滑動的穿戴體驗。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"xs","offer_id":48526012252384,"sku":"B1TC-M02-BK0XSN","price":1180.0,"currency_code":"TWD","in_stock":true},{"title":"s","offer_id":48526012285152,"sku":"B1TC-M02-BK00SN","price":1180.0,"currency_code":"TWD","in_stock":true},{"title":"m","offer_id":48526012317920,"sku":"B1TC-M02-BK00MN","price":1180.0,"currency_code":"TWD","in_stock":true},{"title":"l","offer_id":48526012350688,"sku":"B1TC-M02-BK00LN","price":1180.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/winter_arm_warmer_black_01_3.jpg?v=1767951319"},{"product_id":"winter-leg-warmer-black","title":"Winter Leg Warmer 冬季保暖腿套 \/ 黑色","description":"\u003cp\u003e專為寒冷與天氣多變的騎乘環境打造，ttbici 冬季保暖袖套採用 DWR 防潑水處理布料，可抵禦細雨同時保持良好透氣性。搭配止滑矽膠條設計，提供穩定貼合、不易滑動的穿戴體驗。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"xs","offer_id":48526012678368,"sku":"B1TC-M03-BK0XSN","price":1680.0,"currency_code":"TWD","in_stock":true},{"title":"s","offer_id":48526012711136,"sku":"B1TC-M03-BK00SN","price":1680.0,"currency_code":"TWD","in_stock":true},{"title":"m","offer_id":48526012743904,"sku":"B1TC-M03-BK00MN","price":1680.0,"currency_code":"TWD","in_stock":true},{"title":"l","offer_id":48526012776672,"sku":"B1TC-M03-BK00LN","price":1680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/winter_leg_warmer_black_01_1_1_1_1.jpg?v=1767951364"},{"product_id":"u-line-tech-merino-knit-ls-t-shirt-charcoal","title":"u Line Tech Merino Knit Ls T-Shirt 美麗諾羊毛編織機能長袖T恤 \/ 炭灰","description":"\u003cbody\u003e專為寒冷天氣下的城市騎乘而生，採用複合式美麗諾羊毛面料，兼具自然保暖、抗菌抗臭與舒適親膚的穿著體驗。細節設計同樣不妥協，特殊反光縫線可在低光源環境中提升可視性，為夜間騎乘增添一份安全保障。美麗諾羊毛以其吸濕排汗與溫控特性聞名，搭配寬鬆剪裁，讓這件長袖 T 恤成為冬季城市通勤與日常穿搭的理想選擇。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', width: '46', length: '63', sleeve: '37' },\n    { size: 'S', width: '49', length: '66', sleeve: '38' },\n    { size: 'M', width: '52', length: '69', sleeve: '39' },\n    { size: 'L', width: '55', length: '71', sleeve: '40' },\n    { size: 'XL', width: '58', length: '74', sleeve: '41' },\n    { size: '2XL', width: '60', length: '77', sleeve: '42' }\n   ],\n   inches: [\n    { size: 'XS', width: '18', length: '25', sleeve: '14.5' },\n    { size: 'S', width: '19', length: '26', sleeve: '14.5' },\n    { size: 'M', width: '21', length: '27', sleeve: '15' },\n    { size: 'L', width: '22', length: '28', sleeve: '15.5' },\n    { size: 'XL', width: '23', length: '29', sleeve: '16' },\n    { size: '2XL', width: '24', length: '30', sleeve: '16.5' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n   \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n      `;\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n       \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n        \u003cdiv class=\"toggle-wrapper\"\u003e\n          \u003cspan\u003eCM\u003c\/span\u003e\n          \u003clabel class=\"toggle\"\u003e\n            \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n            \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n          \u003c\/label\u003e\n          \u003cspan\u003eINCHES\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth\u003eSIZE\u003c\/th\u003e\n              \u003cth id=\"widthHeader\"\u003e衣寬\u003c\/th\u003e\n              \u003cth id=\"lengthHeader\"\u003e衣長\u003c\/th\u003e\n              \u003cth id=\"sleeveHeader\"\u003e袖長\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n        \u003ctr\u003e\n          \u003ctd\u003e${row.size}\u003c\/td\u003e\n          \u003ctd\u003e${row.width}\u003c\/td\u003e\n          \u003ctd\u003e${row.length}\u003c\/td\u003e\n          \u003ctd\u003e${row.sleeve}\u003c\/td\u003e\n        \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"S","offer_id":48531762151648,"sku":"B6TC-U02-CH00SN","price":2680.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531762184416,"sku":"B6TC-U02-CH00MN","price":2680.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531762217184,"sku":"B6TC-U02-CH00LN","price":2680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/tech_merino_knit_ls_t-shirt_charcoal_01.jpg?v=1773036553"},{"product_id":"u-line-tech-merino-knit-ls-t-shirt-ultra-violet","title":"u Line Tech Merino Knit Ls T-Shirt 美麗諾羊毛編織機能長袖T恤 \/ 光波紫","description":"\u003cbody\u003e專為寒冷天氣下的城市騎乘而生，採用複合式美麗諾羊毛面料，兼具自然保暖、抗菌抗臭與舒適親膚的穿著體驗。細節設計同樣不妥協，特殊反光縫線可在低光源環境中提升可視性，為夜間騎乘增添一份安全保障。美麗諾羊毛以其吸濕排汗與溫控特性聞名，搭配寬鬆剪裁，讓這件長袖 T 恤成為冬季城市通勤與日常穿搭的理想選擇。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', width: '46', length: '63', sleeve: '37' },\n    { size: 'S', width: '49', length: '66', sleeve: '38' },\n    { size: 'M', width: '52', length: '69', sleeve: '39' },\n    { size: 'L', width: '55', length: '71', sleeve: '40' },\n    { size: 'XL', width: '58', length: '74', sleeve: '41' },\n    { size: '2XL', width: '60', length: '77', sleeve: '42' }\n   ],\n   inches: [\n    { size: 'XS', width: '18', length: '25', sleeve: '14.5' },\n    { size: 'S', width: '19', length: '26', sleeve: '14.5' },\n    { size: 'M', width: '21', length: '27', sleeve: '15' },\n    { size: 'L', width: '22', length: '28', sleeve: '15.5' },\n    { size: 'XL', width: '23', length: '29', sleeve: '16' },\n    { size: '2XL', width: '24', length: '30', sleeve: '16.5' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n   \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n      `;\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n       \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n        \u003cdiv class=\"toggle-wrapper\"\u003e\n          \u003cspan\u003eCM\u003c\/span\u003e\n          \u003clabel class=\"toggle\"\u003e\n            \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n            \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n          \u003c\/label\u003e\n          \u003cspan\u003eINCHES\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth\u003eSIZE\u003c\/th\u003e\n              \u003cth id=\"widthHeader\"\u003e衣寬\u003c\/th\u003e\n              \u003cth id=\"lengthHeader\"\u003e衣長\u003c\/th\u003e\n              \u003cth id=\"sleeveHeader\"\u003e袖長\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n        \u003ctr\u003e\n          \u003ctd\u003e${row.size}\u003c\/td\u003e\n          \u003ctd\u003e${row.width}\u003c\/td\u003e\n          \u003ctd\u003e${row.length}\u003c\/td\u003e\n          \u003ctd\u003e${row.sleeve}\u003c\/td\u003e\n        \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"S","offer_id":48531762249952,"sku":"B6TC-U02-PG00SN","price":2680.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531762282720,"sku":"B6TC-U02-PG00MN","price":2680.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531762315488,"sku":"B6TC-U02-PG00LN","price":2680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/tech_merino_knit_ls_t-shirt_ultra_violet_02_d5552619-2f0d-480b-8cd7-2b2f7c81d72a.jpg?v=1773036469"},{"product_id":"u-line-tech-merino-knit-ls-t-shirt-electric-yellow","title":"u Line Tech Merino Knit Ls T-Shirt 美麗諾羊毛編織機能長袖T恤 \/ 電氣黃","description":"\u003cbody\u003e專為寒冷天氣下的城市騎乘而生，採用複合式美麗諾羊毛面料，兼具自然保暖、抗菌抗臭與舒適親膚的穿著體驗。細節設計同樣不妥協，特殊反光縫線可在低光源環境中提升可視性，為夜間騎乘增添一份安全保障。美麗諾羊毛以其吸濕排汗與溫控特性聞名，搭配寬鬆剪裁，讓這件長袖 T 恤成為冬季城市通勤與日常穿搭的理想選擇。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', width: '46', length: '63', sleeve: '37' },\n    { size: 'S', width: '49', length: '66', sleeve: '38' },\n    { size: 'M', width: '52', length: '69', sleeve: '39' },\n    { size: 'L', width: '55', length: '71', sleeve: '40' },\n    { size: 'XL', width: '58', length: '74', sleeve: '41' },\n    { size: '2XL', width: '60', length: '77', sleeve: '42' }\n   ],\n   inches: [\n    { size: 'XS', width: '18', length: '25', sleeve: '14.5' },\n    { size: 'S', width: '19', length: '26', sleeve: '14.5' },\n    { size: 'M', width: '21', length: '27', sleeve: '15' },\n    { size: 'L', width: '22', length: '28', sleeve: '15.5' },\n    { size: 'XL', width: '23', length: '29', sleeve: '16' },\n    { size: '2XL', width: '24', length: '30', sleeve: '16.5' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n   \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n      `;\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n       \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n        \u003cdiv class=\"toggle-wrapper\"\u003e\n          \u003cspan\u003eCM\u003c\/span\u003e\n          \u003clabel class=\"toggle\"\u003e\n            \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n            \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n          \u003c\/label\u003e\n          \u003cspan\u003eINCHES\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth\u003eSIZE\u003c\/th\u003e\n              \u003cth id=\"widthHeader\"\u003e衣寬\u003c\/th\u003e\n              \u003cth id=\"lengthHeader\"\u003e衣長\u003c\/th\u003e\n              \u003cth id=\"sleeveHeader\"\u003e袖長\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n        \u003ctr\u003e\n          \u003ctd\u003e${row.size}\u003c\/td\u003e\n          \u003ctd\u003e${row.width}\u003c\/td\u003e\n          \u003ctd\u003e${row.length}\u003c\/td\u003e\n          \u003ctd\u003e${row.sleeve}\u003c\/td\u003e\n        \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"S","offer_id":48531762348256,"sku":"B6TC-U02-YW00SN","price":2680.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531762381024,"sku":"B6TC-U02-YW00MN","price":2680.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531762413792,"sku":"B6TC-U02-YW00LN","price":2680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/tech_merino_knit_ls_t-shirt_electronic_yellow_01.jpg?v=1773036398"},{"product_id":"tech-merino-neck-warmer-black","title":"Tech Merino Neck Warmer 美麗諾羊毛保暖脖圍 \/ 黑色","description":"\u003cp\u003e專為冬季騎乘打造，ttbici 美麗諾羊毛針織圍脖採用高品質美麗諾混紡紗線編織而成，具備天然保暖、透氣與快乾特性，有效調節體溫並排出濕氣，讓你在寒冷與多變環境中依然保持舒適。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"Default Title","offer_id":48531843612896,"sku":"B1TC-M01-BK000N","price":880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/merino_neck_warmer_black_01.jpg?v=1768185327"},{"product_id":"tech-merino-neck-warmer-charcoal","title":"Tech Merino Neck Warmer 美麗諾羊毛保暖脖圍 \/ 炭灰","description":"\u003cp\u003e專為冬季騎乘打造，ttbici 美麗諾羊毛針織圍脖採用高品質美麗諾混紡紗線編織而成，具備天然保暖、透氣與快乾特性，有效調節體溫並排出濕氣，讓你在寒冷與多變環境中依然保持舒適。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"Default Title","offer_id":48531843645664,"sku":"B1TC-M01-CH000N","price":880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/merino_neck_warmer_charcoal_01.jpg?v=1768185334"},{"product_id":"tech-merino-socks-charcoal","title":"Tech Merino Socks 美麗諾羊毛車襪 \/ 炭灰","description":"\u003cp\u003ettbici 美麗諾羊毛車襪採用高品質羊毛混紡材質，具備天然溫控、吸濕排汗與抗菌特性，讓雙腳在騎乘過程中保持溫暖、乾爽且不易產生異味。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"S-M","offer_id":48534961783008,"sku":"B1TC-F04-CH0SMN","price":680.0,"currency_code":"TWD","in_stock":true},{"title":"L-XL","offer_id":48534961815776,"sku":"B1TC-F04-CHLXLN","price":680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/merino_socks_charcoal_01.jpg?v=1768186323"},{"product_id":"tech-merino-socks-off-white","title":"Tech Merino Socks 美麗諾羊毛車襪 \/ 米白","description":"\u003cp\u003ettbici 美麗諾羊毛車襪採用高品質羊毛混紡材質，具備天然溫控、吸濕排汗與抗菌特性，讓雙腳在騎乘過程中保持溫暖、乾爽且不易產生異味。\u003c\/p\u003e","brand":"ttbici","offers":[{"title":"S-M","offer_id":48534968303840,"sku":"B1TC-F04-BE0SMN","price":680.0,"currency_code":"TWD","in_stock":true},{"title":"L-XL","offer_id":48534968336608,"sku":"B1TC-F04-BELXLN","price":680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/merino_socks_off_white_01.jpg?v=1768186328"},{"product_id":"e-line-women-s-classic-thermal-ls-jersey-black","title":"e Line Women's Classic Thermal Ls Jersey 女款經典保暖長袖車衣 \/ 黑色","description":"\u003cbody\u003ettbici e Line 經典保暖長袖車衣，為寒冷天氣與冬季騎乘打造。內裡刷毛布料提供溫暖與彈性，表層具 DWR 防潑水處理，有效抵禦風雨。延續 e Line 極簡設計與電繡細節，展現低調質感與穩定風格。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026lt;15°C 騎乘穿著\n\n\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48531908788448,"sku":"B6TC-E03-BK0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48531908821216,"sku":"B6TC-E03-BK00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531908853984,"sku":"B6TC-E03-BK00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531908886752,"sku":"B6TC-E03-BK00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_classic_thermal_ls_jersey_black_01_4.jpg?v=1768188492"},{"product_id":"e-line-women-s-classic-thermal-ls-jersey-maroon","title":"e Line Women's Classic Thermal Ls Jersey 女款經典保暖長袖車衣 \/ 栗紅色","description":"\u003cbody\u003ettbici e Line 經典保暖長袖車衣，為寒冷天氣與冬季騎乘打造。內裡刷毛布料提供溫暖與彈性，表層具 DWR 防潑水處理，有效抵禦風雨。延續 e Line 極簡設計與電繡細節，展現低調質感與穩定風格。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026lt;15°C 騎乘穿著\n\n\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48531909509344,"sku":"B6TC-E03-MT0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48531909542112,"sku":"B6TC-E03-MT00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531909574880,"sku":"B6TC-E03-MT00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531909607648,"sku":"B6TC-E03-MT00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_classic_thermal_ls_jersey_maroon_01.jpg?v=1768188500"},{"product_id":"e-line-women-s-classic-thermal-ls-jersey-cream","title":"e Line Women's Classic Thermal Ls Jersey 女款經典保暖長袖車衣 \/ 奶油白","description":"\u003cbody\u003ettbici e Line 經典保暖長袖車衣，為寒冷天氣與冬季騎乘打造。內裡刷毛布料提供溫暖與彈性，表層具 DWR 防潑水處理，有效抵禦風雨。延續 e Line 極簡設計與電繡細節，展現低調質感與穩定風格。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026lt;15°C 騎乘穿著\n\n\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48531909673184,"sku":"B6TC-E03-CR0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48531909705952,"sku":"B6TC-E03-CR00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531909738720,"sku":"B6TC-E03-CR00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531909771488,"sku":"B6TC-E03-CR00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_classic_thermal_ls_jersey_cream_01.jpg?v=1768188508"},{"product_id":"e-line-women-s-classic-thermal-ls-jersey-milky-blue","title":"e Line Women's Classic Thermal Ls Jersey 女款經典保暖長袖車衣 \/ 馬卡龍藍","description":"\u003cbody\u003ettbici e Line 經典保暖長袖車衣，為寒冷天氣與冬季騎乘打造。內裡刷毛布料提供溫暖與彈性，表層具 DWR 防潑水處理，有效抵禦風雨。延續 e Line 極簡設計與電繡細節，展現低調質感與穩定風格。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026lt;15°C 騎乘穿著\n\n\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48531909804256,"sku":"B6TC-E03-BL0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48531909837024,"sku":"B6TC-E03-BL00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531909869792,"sku":"B6TC-E03-BL00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531909902560,"sku":"B6TC-E03-BL00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_classic_thermal_ls_jersey_milky_blue_01_4.jpg?v=1768188515"},{"product_id":"e-line-women-s-classic-thermal-tights-black","title":"e Line Women's Classic Thermal Tight 女款經典保暖長車褲 \/ 黑色","description":"\u003cbody\u003ettbici e Line 經典保暖長車褲，為寒冷天氣與冬季騎乘打造。腿部採用內裡刷毛彈性面料，保暖的同時維持絕佳延展性與肌肉支撐，幫助雙腿在低溫中持續保持溫度。表層具 DWR 防潑水處理，有效抵禦風雨。延續 e Line 極簡設計與電繡細節，展現低調質感與穩定風格。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026lt;15°C 騎乘穿著\n\n\n\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48531948863712,"sku":"B6TC-E04-BK0XSW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48531948896480,"sku":"B6TC-E04-BK00SW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531948929248,"sku":"B6TC-E04-BK00MW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531948962016,"sku":"B6TC-E04-BK00LW","price":4980.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_classic_thermal_tights_black_01.jpg?v=1768190532"},{"product_id":"e-line-women-s-classic-thermal-tights-limestone","title":"e Line Women's Classic Thermal Tight 女款經典保暖長車褲 \/ 岩灰","description":"\u003cbody\u003ettbici e Line 經典保暖長車褲，為寒冷天氣與冬季騎乘打造。腿部採用內裡刷毛彈性面料，保暖的同時維持絕佳延展性與肌肉支撐，幫助雙腿在低溫中持續保持溫度。表層具 DWR 防潑水處理，有效抵禦風雨。延續 e Line 極簡設計與電繡細節，展現低調質感與穩定風格。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026lt;15°C 騎乘穿著\n\n\n\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48531948994784,"sku":"B6TC-E04-GY0XSW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48531949027552,"sku":"B6TC-E04-GY00SW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48531949060320,"sku":"B6TC-E04-GY00MW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48531949093088,"sku":"B6TC-E04-GY00LW","price":4980.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_classic_thermal_tights_limestone_01.jpg?v=1768190541"},{"product_id":"a-line-womens-tech-merino-base-layer-black","title":"a Line Women's Tech Merino Base Layer 女款美麗諾羊毛底衫 \/ 黑色","description":"\u003cbody\u003ettbici 美麗諾羊毛底衫：真正的冷天舒適，來自穩定且貼身的內層。\u003cbr\u003e\nttbici 美麗諾羊毛底衫以均衡保暖與體溫調節為核心設計，適應騎乘過程中節奏與強度的變化，維持恆定舒適的穿著感受。\n\u003cbr\u003e\u003cbr\u003e\n採用高品質美麗諾羊毛製成，具備天然溫控特性，能隨騎乘狀態與環境變化調節保暖程度，為涼冷天氣提供穩定舒適的核心保護。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48532099858656,"sku":"B6TC-A13-BK0XSW","price":1980.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48532099891424,"sku":"B6TC-A13-BK00SW","price":1980.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48532099924192,"sku":"B6TC-A13-BK00MW","price":1980.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48532099956960,"sku":"B6TC-A13-BK00LW","price":1980.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_tech_merino_base_layer_black_01_1_1_1_1.jpg?v=1768196514"},{"product_id":"a-line-womens-tech-merino-base-layer-charcoal","title":"a Line Women's Tech Merino Base Layer 女款美麗諾羊毛底衫 \/ 炭灰","description":"\u003cbody\u003ettbici 美麗諾羊毛底衫：真正的冷天舒適，來自穩定且貼身的內層。\u003cbr\u003e\nttbici 美麗諾羊毛底衫以均衡保暖與體溫調節為核心設計，適應騎乘過程中節奏與強度的變化，維持恆定舒適的穿著感受。\n\u003cbr\u003e\u003cbr\u003e\n採用高品質美麗諾羊毛製成，具備天然溫控特性，能隨騎乘狀態與環境變化調節保暖程度，為涼冷天氣提供穩定舒適的核心保護。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n \u003cmeta charset=\"UTF-8\"\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n \u003cstyle\u003e\n  body.product-modal-open {\n   overflow: hidden;\n  }\n\n  .product-modal-overlay {\n   display: none;\n   position: fixed;\n   top: 0;\n   left: 0;\n   width: 100vw;\n   height: 100vh;\n   background-color: rgba(0, 0, 0, 0.5);\n   backdrop-filter: blur(2px);\n   z-index: 1000;\n   justify-content: center;\n   align-items: center;\n  }\n\n  .product-modal {\n   background: white;\n   padding: 20px;\n   \/* border-radius: 10px; *\/\n   max-width: 600px;\n   width: 90%;\n   max-height: 90vh;\n   overflow-y: auto;\n   position: relative;\n  }\n\n  .product-modal .modal-close {\n   position: absolute;\n   top: 10px;\n   right: 12px;\n   font-size: 20px;\n   cursor: pointer;\n  }\n\n  \/* ✅ 統一按鈕樣式 *\/\n  .button-group {\n   display: flex;\n   gap: 12px;\n   padding-top: 20px;\n  }\n\n  .button-group button {\n   padding: 0px;\n   border: none;\n   background-color: transparent;\n   color: #333;\n   cursor: pointer;\n   \/* border-radius: 5px; *\/\n   font-size: 15px;\n   font-family: 'Microsoft JhengHei';\n   text-decoration: underline;\n  }\n\n  .button-group button.active {\n   \/* background-color: #444; *\/\n  }\n\n  button:active {\n   box-shadow: none !important;\n   color: #333 !important;\n  }\n\n  .product-modal table {\n   width: 100%;\n   border-collapse: collapse;\n   margin-top: 10px;\n  }\n\n  .product-modal th,\n  .product-modal td {\n   border-bottom: 1px solid #ddd;\n   text-align: center;\n   padding: 8px;\n  }\n\n  \/* ✅ 新增的欄寬限制 *\/\n  .product-modal table th:first-child,\n  .product-modal table td:first-child {\n   width: 15%;\n   max-width: 15%;\n  }\n\n  .product-modal .toggle-wrapper {\n   display: flex;\n   align-items: center;\n   gap: 10px;\n   margin: 10px 0 20px;\n  }\n\n  .product-modal .toggle {\n   position: relative;\n   display: inline-block;\n   width: 50px;\n   height: 24px;\n  }\n\n  .product-modal .toggle input {\n   opacity: 0;\n   width: 0;\n   height: 0;\n  }\n\n  .product-modal .slider {\n   position: absolute;\n   cursor: pointer;\n   background-color: #ccc;\n   border-radius: 24px;\n   top: 0;\n   left: 0;\n   right: 0;\n   bottom: 0;\n   transition: 0.4s;\n  }\n\n  .product-modal .slider:before {\n   content: \"\";\n   position: absolute;\n   height: 18px;\n   width: 18px;\n   left: 3px;\n   bottom: 3px;\n   background-color: white;\n   transition: 0.4s;\n   border-radius: 50%;\n  }\n\n  .product-modal input:checked+.slider {\n   background-color: #333;\n  }\n\n  .product-modal input:checked+.slider:before {\n   transform: translateX(26px);\n  }\n\n  .product-modal .modalInnerContent h3 {\n   padding: 20px 0;\n\n  }\n \u003c\/style\u003e\n\n\n\n\n \u003c!-- 外部觸發按鈕 --\u003e\n \u003cdiv class=\"button-group\"\u003e\n  \u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n  \u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n  \u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n \u003c\/div\u003e\n\n \u003c!-- Modal --\u003e\n \u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n  \u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n   \u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n   \u003c!-- 內部選單 --\u003e\n   \u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n    \u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n    \u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n    \u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n   \u003c\/div\u003e\n\n   \u003c!-- 內容區 --\u003e\n   \u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\n \u003cscript\u003e\n  const modalOverlay = document.getElementById(\"modalOverlay\");\n  const modalInner = document.getElementById(\"modalInnerContent\");\n\n  const sizeData = {\n   cm: [\n    { size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n    { size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n    { size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n    { size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n   ],\n   inches: [\n    { size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n    { size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n    { size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n    { size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n   ]\n  };\n\n  function openModal(defaultTab) {\n   document.body.classList.add(\"product-modal-open\");\n   modalOverlay.style.display = \"flex\";\n   switchTab(defaultTab);\n  }\n\n  function closeModal() {\n   modalOverlay.style.display = \"none\";\n   modalInner.innerHTML = \"\";\n   document.body.classList.remove(\"product-modal-open\");\n  }\n\n  function switchTab(tab) {\n   ['shipping', 'care', 'size'].forEach(id =\u003e {\n    const btn = document.getElementById(`tab-${id}`);\n    if (btn) btn.classList.remove(\"active\");\n   });\n\n   const activeBtn = document.getElementById(`tab-${tab}`);\n   if (activeBtn) activeBtn.classList.add(\"active\");\n\n   if (tab === 'shipping') {\n    modalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n   } else if (tab === 'care') {\n    modalInner.innerHTML = `\n  \u003ch3\u003e洗滌保養\u003c\/h3\u003e\n  \u003col\u003e\n   \u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n   \u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n   \u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n   \u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n   \u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n   \u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n   可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n `;\n\n   } else if (tab === 'size') {\n    modalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n    renderSizeTable('cm');\n    document.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n     renderSizeTable(e.target.checked ? 'inches' : 'cm');\n    });\n   }\n  }\n\n  function renderSizeTable(unit) {\n   const body = document.getElementById(\"tableBody\");\n   body.innerHTML = \"\";\n   sizeData[unit].forEach(row =\u003e {\n    body.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n   });\n  }\n \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48532100022496,"sku":"B6TC-A13-CH0XSW","price":1980.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48532100055264,"sku":"B6TC-A13-CH00SW","price":1980.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48532100088032,"sku":"B6TC-A13-CH00MW","price":1980.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48532100120800,"sku":"B6TC-A13-CH00LW","price":1980.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_tech_merino_base_layer_charcoal_01_1_1_1_1.jpg?v=1768196522"},{"product_id":"a-line-women-s-altitude-ls-jersey-dark-brown","title":"a Line Women's Altitude LS Jersey 女款長袖車衣 \/ 深棕色","description":"\u003cbody\u003ettbici a Line Altitude 長袖車衣為介於涼爽與寒冷之間的騎乘條件而生，在保暖與速度之間取得精準平衡。俐落貼身的剪裁延續 a Line 一貫的競技風格，貼合身形、減少風阻，專為追求效率的騎士打造。\n\u003cbr\u003e\u003cbr\u003e\n中等厚度面料提供穩定保暖，同時維持良好透氣與排汗表現，能在高強度輸出時迅速帶走多餘濕氣，保持身體乾爽。搭配輕量化結構與流暢線條，這是一件為節奏變化而生、為速度而設的冬季長袖車衣。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n\t\u003cmeta charset=\"UTF-8\"\u003e\n\t\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\t\u003cstyle\u003e\n\t\tbody.product-modal-open {\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.product-modal-overlay {\n\t\t\tdisplay: none;\n\t\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100vw;\n\t\t\theight: 100vh;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tbackdrop-filter: blur(2px);\n\t\t\tz-index: 1000;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.product-modal {\n\t\t\tbackground: white;\n\t\t\tpadding: 20px;\n\t\t\t\/* border-radius: 10px; *\/\n\t\t\tmax-width: 600px;\n\t\t\twidth: 90%;\n\t\t\tmax-height: 90vh;\n\t\t\toverflow-y: auto;\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.product-modal .modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 12px;\n\t\t\tfont-size: 20px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t\/* ✅ 統一按鈕樣式 *\/\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\tpadding-top: 20px;\n\t\t}\n\n\t\t.button-group button {\n\t\t\tpadding: 0px;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tcolor: #333;\n\t\t\tcursor: pointer;\n\t\t\t\/* border-radius: 5px; *\/\n\t\t\tfont-size: 15px;\n\t\t\tfont-family: 'Microsoft JhengHei';\n\t\t\ttext-decoration: underline;\n\t\t}\n\n\t\t.button-group button.active {\n\t\t\t\/* background-color: #444; *\/\n\t\t}\n\n\t\tbutton:active {\n\t\t\tbox-shadow: none !important;\n\t\t\tcolor: #333 !important;\n\t\t}\n\n\t\t.product-modal table {\n\t\t\twidth: 100%;\n\t\t\tborder-collapse: collapse;\n\t\t\tmargin-top: 10px;\n\t\t}\n\n\t\t.product-modal th,\n\t\t.product-modal td {\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\ttext-align: center;\n\t\t\tpadding: 8px;\n\t\t}\n\n\t\t\/* ✅ 新增的欄寬限制 *\/\n\t\t.product-modal table th:first-child,\n\t\t.product-modal table td:first-child {\n\t\t\twidth: 15%;\n\t\t\tmax-width: 15%;\n\t\t}\n\n\t\t.product-modal .toggle-wrapper {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 10px;\n\t\t\tmargin: 10px 0 20px;\n\t\t}\n\n\t\t.product-modal .toggle {\n\t\t\tposition: relative;\n\t\t\tdisplay: inline-block;\n\t\t\twidth: 50px;\n\t\t\theight: 24px;\n\t\t}\n\n\t\t.product-modal .toggle input {\n\t\t\topacity: 0;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t}\n\n\t\t.product-modal .slider {\n\t\t\tposition: absolute;\n\t\t\tcursor: pointer;\n\t\t\tbackground-color: #ccc;\n\t\t\tborder-radius: 24px;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\ttransition: 0.4s;\n\t\t}\n\n\t\t.product-modal .slider:before {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\theight: 18px;\n\t\t\twidth: 18px;\n\t\t\tleft: 3px;\n\t\t\tbottom: 3px;\n\t\t\tbackground-color: white;\n\t\t\ttransition: 0.4s;\n\t\t\tborder-radius: 50%;\n\t\t}\n\n\t\t.product-modal input:checked+.slider {\n\t\t\tbackground-color: #333;\n\t\t}\n\n\t\t.product-modal input:checked+.slider:before {\n\t\t\ttransform: translateX(26px);\n\t\t}\n\n\t\t.product-modal .modalInnerContent h3 {\n\t\t\tpadding: 20px 0;\n\n\t\t}\n\t\u003c\/style\u003e\n\n\n\n\n\t\u003c!-- 外部觸發按鈕 --\u003e\n\t\u003cdiv class=\"button-group\"\u003e\n\t\t\u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n\t\t\u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n\t\t\u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n\t\u003c\/div\u003e\n\n\t\u003c!-- Modal --\u003e\n\t\u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n\t\t\u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n\t\t\t\u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n\t\t\t\u003c!-- 內部選單 --\u003e\n\t\t\t\u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n\t\t\t\t\u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n\t\t\t\t\u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n\t\t\t\t\u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n\t\t\t\u003c\/div\u003e\n\n\t\t\t\u003c!-- 內容區 --\u003e\n\t\t\t\u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n\t\t\u003c\/div\u003e\n\t\u003c\/div\u003e\n\n\t\u003cscript\u003e\n\t\tconst modalOverlay = document.getElementById(\"modalOverlay\");\n\t\tconst modalInner = document.getElementById(\"modalInnerContent\");\n\n\t\tconst sizeData = {\n\t\t\tcm: [\n\t\t\t\t{ size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n\t\t\t\t{ size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n\t\t\t\t{ size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n\t\t\t\t{ size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n\t\t\t],\n\t\t\tinches: [\n\t\t\t\t{ size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n\t\t\t\t{ size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n\t\t\t\t{ size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n\t\t\t\t{ size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n\t\t\t]\n\t\t};\n\n\t\tfunction openModal(defaultTab) {\n\t\t\tdocument.body.classList.add(\"product-modal-open\");\n\t\t\tmodalOverlay.style.display = \"flex\";\n\t\t\tswitchTab(defaultTab);\n\t\t}\n\n\t\tfunction closeModal() {\n\t\t\tmodalOverlay.style.display = \"none\";\n\t\t\tmodalInner.innerHTML = \"\";\n\t\t\tdocument.body.classList.remove(\"product-modal-open\");\n\t\t}\n\n\t\tfunction switchTab(tab) {\n\t\t\t['shipping', 'care', 'size'].forEach(id =\u003e {\n\t\t\t\tconst btn = document.getElementById(`tab-${id}`);\n\t\t\t\tif (btn) btn.classList.remove(\"active\");\n\t\t\t});\n\n\t\t\tconst activeBtn = document.getElementById(`tab-${tab}`);\n\t\t\tif (activeBtn) activeBtn.classList.add(\"active\");\n\n\t\t\tif (tab === 'shipping') {\n\t\t\t\tmodalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n\t\t\t} else if (tab === 'care') {\n\t\t\t\tmodalInner.innerHTML = `\n\t\t\u003ch3\u003e洗滌保養\u003c\/h3\u003e\n\t\t\u003col\u003e\n\t\t\t\u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n\t\t\t\u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n\t\t\t\u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n\t\t\t\u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n\t\t\t\u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n\t\t\t\u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n\t\t\t可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n\t\t\u003c\/ol\u003e\n\t\t\u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n\t`;\n\n\t\t\t} else if (tab === 'size') {\n\t\t\t\tmodalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n\t\t\t\trenderSizeTable('cm');\n\t\t\t\tdocument.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n\t\t\t\t\trenderSizeTable(e.target.checked ? 'inches' : 'cm');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction renderSizeTable(unit) {\n\t\t\tconst body = document.getElementById(\"tableBody\");\n\t\t\tbody.innerHTML = \"\";\n\t\t\tsizeData[unit].forEach(row =\u003e {\n\t\t\t\tbody.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n\t\t\t});\n\t\t}\n\t\u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48917420343520,"sku":"B6TC-A10-BR0XSW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48917420376288,"sku":"B6TC-A10-BR00SW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48917420409056,"sku":"B6TC-A10-BR00MW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48917420441824,"sku":"B6TC-A10-BR00LW","price":4680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women-s-altitude-ls-jersey-dark-brown01_1_1_1_1.jpg?v=1773026210"},{"product_id":"a-line-women-s-altitude-ls-jersey-celestial-yellow","title":"a Line Women's Altitude LS Jersey 女款長袖車衣 \/ 蒼穹黃","description":"\u003cbody\u003ettbici a Line Altitude 長袖車衣為介於涼爽與寒冷之間的騎乘條件而生，在保暖與速度之間取得精準平衡。俐落貼身的剪裁延續 a Line 一貫的競技風格，貼合身形、減少風阻，專為追求效率的騎士打造。\n\u003cbr\u003e\u003cbr\u003e\n中等厚度面料提供穩定保暖，同時維持良好透氣與排汗表現，能在高強度輸出時迅速帶走多餘濕氣，保持身體乾爽。搭配輕量化結構與流暢線條，這是一件為節奏變化而生、為速度而設的冬季長袖車衣。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n\t\u003cmeta charset=\"UTF-8\"\u003e\n\t\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\t\u003cstyle\u003e\n\t\tbody.product-modal-open {\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.product-modal-overlay {\n\t\t\tdisplay: none;\n\t\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100vw;\n\t\t\theight: 100vh;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tbackdrop-filter: blur(2px);\n\t\t\tz-index: 1000;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.product-modal {\n\t\t\tbackground: white;\n\t\t\tpadding: 20px;\n\t\t\t\/* border-radius: 10px; *\/\n\t\t\tmax-width: 600px;\n\t\t\twidth: 90%;\n\t\t\tmax-height: 90vh;\n\t\t\toverflow-y: auto;\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.product-modal .modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 12px;\n\t\t\tfont-size: 20px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t\/* ✅ 統一按鈕樣式 *\/\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\tpadding-top: 20px;\n\t\t}\n\n\t\t.button-group button {\n\t\t\tpadding: 0px;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tcolor: #333;\n\t\t\tcursor: pointer;\n\t\t\t\/* border-radius: 5px; *\/\n\t\t\tfont-size: 15px;\n\t\t\tfont-family: 'Microsoft JhengHei';\n\t\t\ttext-decoration: underline;\n\t\t}\n\n\t\t.button-group button.active {\n\t\t\t\/* background-color: #444; *\/\n\t\t}\n\n\t\tbutton:active {\n\t\t\tbox-shadow: none !important;\n\t\t\tcolor: #333 !important;\n\t\t}\n\n\t\t.product-modal table {\n\t\t\twidth: 100%;\n\t\t\tborder-collapse: collapse;\n\t\t\tmargin-top: 10px;\n\t\t}\n\n\t\t.product-modal th,\n\t\t.product-modal td {\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\ttext-align: center;\n\t\t\tpadding: 8px;\n\t\t}\n\n\t\t\/* ✅ 新增的欄寬限制 *\/\n\t\t.product-modal table th:first-child,\n\t\t.product-modal table td:first-child {\n\t\t\twidth: 15%;\n\t\t\tmax-width: 15%;\n\t\t}\n\n\t\t.product-modal .toggle-wrapper {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 10px;\n\t\t\tmargin: 10px 0 20px;\n\t\t}\n\n\t\t.product-modal .toggle {\n\t\t\tposition: relative;\n\t\t\tdisplay: inline-block;\n\t\t\twidth: 50px;\n\t\t\theight: 24px;\n\t\t}\n\n\t\t.product-modal .toggle input {\n\t\t\topacity: 0;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t}\n\n\t\t.product-modal .slider {\n\t\t\tposition: absolute;\n\t\t\tcursor: pointer;\n\t\t\tbackground-color: #ccc;\n\t\t\tborder-radius: 24px;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\ttransition: 0.4s;\n\t\t}\n\n\t\t.product-modal .slider:before {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\theight: 18px;\n\t\t\twidth: 18px;\n\t\t\tleft: 3px;\n\t\t\tbottom: 3px;\n\t\t\tbackground-color: white;\n\t\t\ttransition: 0.4s;\n\t\t\tborder-radius: 50%;\n\t\t}\n\n\t\t.product-modal input:checked+.slider {\n\t\t\tbackground-color: #333;\n\t\t}\n\n\t\t.product-modal input:checked+.slider:before {\n\t\t\ttransform: translateX(26px);\n\t\t}\n\n\t\t.product-modal .modalInnerContent h3 {\n\t\t\tpadding: 20px 0;\n\n\t\t}\n\t\u003c\/style\u003e\n\n\n\n\n\t\u003c!-- 外部觸發按鈕 --\u003e\n\t\u003cdiv class=\"button-group\"\u003e\n\t\t\u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n\t\t\u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n\t\t\u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n\t\u003c\/div\u003e\n\n\t\u003c!-- Modal --\u003e\n\t\u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n\t\t\u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n\t\t\t\u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n\t\t\t\u003c!-- 內部選單 --\u003e\n\t\t\t\u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n\t\t\t\t\u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n\t\t\t\t\u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n\t\t\t\t\u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n\t\t\t\u003c\/div\u003e\n\n\t\t\t\u003c!-- 內容區 --\u003e\n\t\t\t\u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n\t\t\u003c\/div\u003e\n\t\u003c\/div\u003e\n\n\t\u003cscript\u003e\n\t\tconst modalOverlay = document.getElementById(\"modalOverlay\");\n\t\tconst modalInner = document.getElementById(\"modalInnerContent\");\n\n\t\tconst sizeData = {\n\t\t\tcm: [\n\t\t\t\t{ size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n\t\t\t\t{ size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n\t\t\t\t{ size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n\t\t\t\t{ size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n\t\t\t],\n\t\t\tinches: [\n\t\t\t\t{ size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n\t\t\t\t{ size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n\t\t\t\t{ size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n\t\t\t\t{ size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n\t\t\t]\n\t\t};\n\n\t\tfunction openModal(defaultTab) {\n\t\t\tdocument.body.classList.add(\"product-modal-open\");\n\t\t\tmodalOverlay.style.display = \"flex\";\n\t\t\tswitchTab(defaultTab);\n\t\t}\n\n\t\tfunction closeModal() {\n\t\t\tmodalOverlay.style.display = \"none\";\n\t\t\tmodalInner.innerHTML = \"\";\n\t\t\tdocument.body.classList.remove(\"product-modal-open\");\n\t\t}\n\n\t\tfunction switchTab(tab) {\n\t\t\t['shipping', 'care', 'size'].forEach(id =\u003e {\n\t\t\t\tconst btn = document.getElementById(`tab-${id}`);\n\t\t\t\tif (btn) btn.classList.remove(\"active\");\n\t\t\t});\n\n\t\t\tconst activeBtn = document.getElementById(`tab-${tab}`);\n\t\t\tif (activeBtn) activeBtn.classList.add(\"active\");\n\n\t\t\tif (tab === 'shipping') {\n\t\t\t\tmodalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n\t\t\t} else if (tab === 'care') {\n\t\t\t\tmodalInner.innerHTML = `\n\t\t\u003ch3\u003e洗滌保養\u003c\/h3\u003e\n\t\t\u003col\u003e\n\t\t\t\u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n\t\t\t\u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n\t\t\t\u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n\t\t\t\u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n\t\t\t\u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n\t\t\t\u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n\t\t\t可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n\t\t\u003c\/ol\u003e\n\t\t\u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n\t`;\n\n\t\t\t} else if (tab === 'size') {\n\t\t\t\tmodalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n\t\t\t\trenderSizeTable('cm');\n\t\t\t\tdocument.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n\t\t\t\t\trenderSizeTable(e.target.checked ? 'inches' : 'cm');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction renderSizeTable(unit) {\n\t\t\tconst body = document.getElementById(\"tableBody\");\n\t\t\tbody.innerHTML = \"\";\n\t\t\tsizeData[unit].forEach(row =\u003e {\n\t\t\t\tbody.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n\t\t\t});\n\t\t}\n\t\u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48917420835040,"sku":"B6TC-A10-YW0XSW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48917420867808,"sku":"B6TC-A10-YW00SW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48917420900576,"sku":"B6TC-A10-YW00MW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48917420933344,"sku":"B6TC-A10-YW00LW","price":4680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women-s-altitude-ls-jersey-celestial-yellow01_1_1_1_1.jpg?v=1773026222"},{"product_id":"a-line-women-s-altitude-ls-jersey-lavender-purple","title":"a Line Women's Altitude LS Jersey 女款長袖車衣 \/ 薰衣草紫","description":"\u003cbody\u003ettbici a Line Altitude 長袖車衣為介於涼爽與寒冷之間的騎乘條件而生，在保暖與速度之間取得精準平衡。俐落貼身的剪裁延續 a Line 一貫的競技風格，貼合身形、減少風阻，專為追求效率的騎士打造。\n\u003cbr\u003e\u003cbr\u003e\n中等厚度面料提供穩定保暖，同時維持良好透氣與排汗表現，能在高強度輸出時迅速帶走多餘濕氣，保持身體乾爽。搭配輕量化結構與流暢線條，這是一件為節奏變化而生、為速度而設的冬季長袖車衣。\u003cbr\u003e\u003cbr\u003e\n\n\n\n\n\n\t\u003cmeta charset=\"UTF-8\"\u003e\n\t\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\t\u003cstyle\u003e\n\t\tbody.product-modal-open {\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.product-modal-overlay {\n\t\t\tdisplay: none;\n\t\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100vw;\n\t\t\theight: 100vh;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tbackdrop-filter: blur(2px);\n\t\t\tz-index: 1000;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.product-modal {\n\t\t\tbackground: white;\n\t\t\tpadding: 20px;\n\t\t\t\/* border-radius: 10px; *\/\n\t\t\tmax-width: 600px;\n\t\t\twidth: 90%;\n\t\t\tmax-height: 90vh;\n\t\t\toverflow-y: auto;\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.product-modal .modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 12px;\n\t\t\tfont-size: 20px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t\/* ✅ 統一按鈕樣式 *\/\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\tpadding-top: 20px;\n\t\t}\n\n\t\t.button-group button {\n\t\t\tpadding: 0px;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tcolor: #333;\n\t\t\tcursor: pointer;\n\t\t\t\/* border-radius: 5px; *\/\n\t\t\tfont-size: 15px;\n\t\t\tfont-family: 'Microsoft JhengHei';\n\t\t\ttext-decoration: underline;\n\t\t}\n\n\t\t.button-group button.active {\n\t\t\t\/* background-color: #444; *\/\n\t\t}\n\n\t\tbutton:active {\n\t\t\tbox-shadow: none !important;\n\t\t\tcolor: #333 !important;\n\t\t}\n\n\t\t.product-modal table {\n\t\t\twidth: 100%;\n\t\t\tborder-collapse: collapse;\n\t\t\tmargin-top: 10px;\n\t\t}\n\n\t\t.product-modal th,\n\t\t.product-modal td {\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\ttext-align: center;\n\t\t\tpadding: 8px;\n\t\t}\n\n\t\t\/* ✅ 新增的欄寬限制 *\/\n\t\t.product-modal table th:first-child,\n\t\t.product-modal table td:first-child {\n\t\t\twidth: 15%;\n\t\t\tmax-width: 15%;\n\t\t}\n\n\t\t.product-modal .toggle-wrapper {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 10px;\n\t\t\tmargin: 10px 0 20px;\n\t\t}\n\n\t\t.product-modal .toggle {\n\t\t\tposition: relative;\n\t\t\tdisplay: inline-block;\n\t\t\twidth: 50px;\n\t\t\theight: 24px;\n\t\t}\n\n\t\t.product-modal .toggle input {\n\t\t\topacity: 0;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t}\n\n\t\t.product-modal .slider {\n\t\t\tposition: absolute;\n\t\t\tcursor: pointer;\n\t\t\tbackground-color: #ccc;\n\t\t\tborder-radius: 24px;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\ttransition: 0.4s;\n\t\t}\n\n\t\t.product-modal .slider:before {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\theight: 18px;\n\t\t\twidth: 18px;\n\t\t\tleft: 3px;\n\t\t\tbottom: 3px;\n\t\t\tbackground-color: white;\n\t\t\ttransition: 0.4s;\n\t\t\tborder-radius: 50%;\n\t\t}\n\n\t\t.product-modal input:checked+.slider {\n\t\t\tbackground-color: #333;\n\t\t}\n\n\t\t.product-modal input:checked+.slider:before {\n\t\t\ttransform: translateX(26px);\n\t\t}\n\n\t\t.product-modal .modalInnerContent h3 {\n\t\t\tpadding: 20px 0;\n\n\t\t}\n\t\u003c\/style\u003e\n\n\n\n\n\t\u003c!-- 外部觸發按鈕 --\u003e\n\t\u003cdiv class=\"button-group\"\u003e\n\t\t\u003c!-- \u003cbutton onclick=\"openModal('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n\t\t\u003cbutton onclick=\"openModal('size')\"\u003e尺寸指南\u003c\/button\u003e\n\t\t\u003cbutton onclick=\"openModal('care')\"\u003e洗滌保養\u003c\/button\u003e\n\t\u003c\/div\u003e\n\n\t\u003c!-- Modal --\u003e\n\t\u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n\t\t\u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n\t\t\t\u003cdiv class=\"modal-close\" onclick=\"closeModal()\"\u003e×\u003c\/div\u003e\n\n\t\t\t\u003c!-- 內部選單 --\u003e\n\t\t\t\u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n\t\t\t\t\u003c!-- \u003cbutton id=\"tab-shipping\" onclick=\"switchTab('shipping')\"\u003e運送詳情\u003c\/button\u003e --\u003e\n\t\t\t\t\u003cbutton id=\"tab-size\" onclick=\"switchTab('size')\"\u003e尺寸指南\u003c\/button\u003e\n\t\t\t\t\u003cbutton id=\"tab-care\" onclick=\"switchTab('care')\"\u003e洗滌保養\u003c\/button\u003e\n\t\t\t\u003c\/div\u003e\n\n\t\t\t\u003c!-- 內容區 --\u003e\n\t\t\t\u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n\t\t\u003c\/div\u003e\n\t\u003c\/div\u003e\n\n\t\u003cscript\u003e\n\t\tconst modalOverlay = document.getElementById(\"modalOverlay\");\n\t\tconst modalInner = document.getElementById(\"modalInnerContent\");\n\n\t\tconst sizeData = {\n\t\t\tcm: [\n\t\t\t\t{ size: 'XS', chest: '70–78', waist: '55–63', hip: '74–82' },\n\t\t\t\t{ size: 'S', chest: '74–82', waist: '59–67', hip: '78–86' },\n\t\t\t\t{ size: 'M', chest: '78–86', waist: '63–71', hip: '82–90' },\n\t\t\t\t{ size: 'L', chest: '82–90', waist: '67–75', hip: '86–94' }\n\t\t\t],\n\t\t\tinches: [\n\t\t\t\t{ size: 'XS', chest: '27–31', waist: '21–25', hip: '29–32' },\n\t\t\t\t{ size: 'S', chest: '29–32', waist: '23–26', hip: '31–34' },\n\t\t\t\t{ size: 'M', chest: '31–34', waist: '25–28', hip: '32–36' },\n\t\t\t\t{ size: 'L', chest: '32–36', waist: '27–30', hip: '34–37' }\n\t\t\t]\n\t\t};\n\n\t\tfunction openModal(defaultTab) {\n\t\t\tdocument.body.classList.add(\"product-modal-open\");\n\t\t\tmodalOverlay.style.display = \"flex\";\n\t\t\tswitchTab(defaultTab);\n\t\t}\n\n\t\tfunction closeModal() {\n\t\t\tmodalOverlay.style.display = \"none\";\n\t\t\tmodalInner.innerHTML = \"\";\n\t\t\tdocument.body.classList.remove(\"product-modal-open\");\n\t\t}\n\n\t\tfunction switchTab(tab) {\n\t\t\t['shipping', 'care', 'size'].forEach(id =\u003e {\n\t\t\t\tconst btn = document.getElementById(`tab-${id}`);\n\t\t\t\tif (btn) btn.classList.remove(\"active\");\n\t\t\t});\n\n\t\t\tconst activeBtn = document.getElementById(`tab-${tab}`);\n\t\t\tif (activeBtn) activeBtn.classList.add(\"active\");\n\n\t\t\tif (tab === 'shipping') {\n\t\t\t\tmodalInner.innerHTML = `\u003ch3\u003e運送詳情\u003c\/h3\u003e\u003cp\u003e這裡可以放運送方式、時間、費用等資訊。\u003c\/p\u003e`;\n\t\t\t} else if (tab === 'care') {\n\t\t\t\tmodalInner.innerHTML = `\n\t\t\u003ch3\u003e洗滌保養\u003c\/h3\u003e\n\t\t\u003col\u003e\n\t\t\t\u003cli\u003e車衣在使用時，建議依照顏色深淺搭配著用或是清洗，以降低衣服互相染色的風險。\u003c\/li\u003e\n\t\t\t\u003cli\u003e在使用後，建議第一時間進行清洗，以免滋生細菌產生異味，並容易在車衣上形成汗斑，甚至變黃。\u003c\/li\u003e\n\t\t\t\u003cli\u003e清洗時，記得拉上所有拉鍊，以免布料在清洗過程中受損。使用「冷水＋中性洗劑」浸泡5–10分鐘，再反覆搓揉，換水洗淨即可。\u003cbr\u003e\n\t\t\t\u003cstrong\u003e勿使用冷洗精、柔軟精、漂白水，這類洗劑皆會破壞纖維材質。\u003c\/strong\u003e\u003c\/li\u003e\n\t\t\t\u003cli\u003e盡量手洗，若要丟入洗衣機，務必將所有拉鍊拉上，裝進洗衣袋中反面清洗，建議洗滌模式調整為「柔洗模式」。\u003c\/li\u003e\n\t\t\t\u003cli\u003e洗完切忌勿「擰乾」車衣，並避免使用烘衣機烘乾衣物，以免造成衣物受損。\u003cbr\u003e\n\t\t\t可將衣物包入毛巾中將大部分水份壓出，並晾於通風陰涼處自然風乾。\u003c\/li\u003e\n\t\t\u003c\/ol\u003e\n\t\t\u003cp\u003e\u003cstrong\u003e※ 因所有車衣的製程及染印方法不同，在著用或是下水洗滌都會有多少褪色的問題，不應由此斷定車衣品質的好壞。尤其是越亮色系衣服越容易有褪色問題，強烈建議在使用時，盡量以「相同色系搭配穿著或清洗」。\u003c\/strong\u003e\u003c\/p\u003e\n\t`;\n\n\t\t\t} else if (tab === 'size') {\n\t\t\t\tmodalInner.innerHTML = `\n          \u003ch3\u003e尺寸指南\u003c\/h3\u003e\n          \u003cdiv class=\"toggle-wrapper\"\u003e\n            \u003cspan\u003eCM\u003c\/span\u003e\n            \u003clabel class=\"toggle\"\u003e\n              \u003cinput type=\"checkbox\" id=\"unitToggle\"\u003e\n              \u003cspan class=\"slider\"\u003e\u003c\/span\u003e\n            \u003c\/label\u003e\n            \u003cspan\u003eINCHES\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n                \u003cth\u003eSIZE\u003c\/th\u003e\n                \u003cth id=\"chestHeader\"\u003e胸圍\u003c\/th\u003e\n                \u003cth id=\"waistHeader\"\u003e腰圍\u003c\/th\u003e\n                \u003cth id=\"hipHeader\"\u003e臀圍\u003c\/th\u003e\n              \u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody id=\"tableBody\"\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        `;\n\t\t\t\trenderSizeTable('cm');\n\t\t\t\tdocument.getElementById(\"unitToggle\").addEventListener(\"change\", (e) =\u003e {\n\t\t\t\t\trenderSizeTable(e.target.checked ? 'inches' : 'cm');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction renderSizeTable(unit) {\n\t\t\tconst body = document.getElementById(\"tableBody\");\n\t\t\tbody.innerHTML = \"\";\n\t\t\tsizeData[unit].forEach(row =\u003e {\n\t\t\t\tbody.innerHTML += `\n      \u003ctr\u003e\n        \u003ctd\u003e${row.size}\u003c\/td\u003e\n        \u003ctd\u003e${row.chest}\u003c\/td\u003e\n        \u003ctd\u003e${row.waist}\u003c\/td\u003e\n        \u003ctd\u003e${row.hip}\u003c\/td\u003e\n      \u003c\/tr\u003e`;\n\t\t\t});\n\t\t}\n\t\u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":48917421195488,"sku":"B6TC-A10-PG0XSW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48917421228256,"sku":"B6TC-A10-PG00SW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48917421261024,"sku":"B6TC-A10-PG00MW","price":4680.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48917421293792,"sku":"B6TC-A10-PG00LW","price":4680.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women-s-altitude-ls-jersey-lavender-purple01_1_1_1_1.jpg?v=1773026230"},{"product_id":"a-line-altitude-insulated-gilet-off-white","title":"a Line Altitude Insulated Gilet 保暖背心 \/ 米白","description":"\u003cp\u003ettbici a Line Altitude 保暖背心是專為多變天氣打造，適合四季騎乘。其結構設計兼顧保暖性和透氣性，DWR防水處理則能有效抵禦路面濺水和輕微雨水。保暖層提供身體核心溫度的維持。輕量化結構結合競技導向設計，為面對惡劣天候仍持續前進的騎士而生。\u003cbr\u003e\u003cbr\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n\t\tbody.product-modal-open {\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.product-modal-overlay {\n\t\t\tdisplay: none;\n\t\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100vw;\n\t\t\theight: 100vh;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tbackdrop-filter: blur(2px);\n\t\t\tz-index: 1000;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.product-modal {\n\t\t\tbackground: white;\n\t\t\tpadding: 20px;\n\t\t\t\/* border-radius: 10px; *\/\n\t\t\tmax-width: 600px;\n\t\t\twidth: 90%;\n\t\t\tmax-height: 90vh;\n\t\t\toverflow-y: auto;\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.product-modal .modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 12px;\n\t\t\tfont-size: 20px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t\/* ✅ 統一按鈕樣式 *\/\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\tpadding-top: 20px;\n\t\t}\n\n\t\t.button-group button {\n\t\t\tpadding: 0px;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tcolor: #333;\n\t\t\tcursor: pointer;\n\t\t\t\/* border-radius: 5px; *\/\n\t\t\tfont-size: 15px;\n\t\t\tfont-family: 'Microsoft JhengHei';\n\t\t\ttext-decoration: underline;\n\t\t}\n\n\t\t.button-group button.active {\n\t\t\t\/* background-color: #444; *\/\n\t\t}\n\n\t\tbutton:active {\n\t\t\tbox-shadow: none !important;\n\t\t\tcolor: #333 !important;\n\t\t}\n\n\t\t.product-modal table {\n\t\t\twidth: 100%;\n\t\t\tborder-collapse: collapse;\n\t\t\tmargin-top: 10px;\n\t\t}\n\n\t\t.product-modal th,\n\t\t.product-modal td {\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\ttext-align: center;\n\t\t\tpadding: 8px;\n\t\t}\n\n\t\t\/* ✅ 新增的欄寬限制 *\/\n\t\t.product-modal table th:first-child,\n\t\t.product-modal table td:first-child {\n\t\t\twidth: 15%;\n\t\t\tmax-width: 15%;\n\t\t}\n\n\t\t.product-modal .toggle-wrapper {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 10px;\n\t\t\tmargin: 10px 0 20px;\n\t\t}\n\n\t\t.product-modal .toggle {\n\t\t\tposition: relative;\n\t\t\tdisplay: inline-block;\n\t\t\twidth: 50px;\n\t\t\theight: 24px;\n\t\t}\n\n\t\t.product-modal .toggle input {\n\t\t\topacity: 0;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t}\n\n\t\t.product-modal .slider {\n\t\t\tposition: absolute;\n\t\t\tcursor: pointer;\n\t\t\tbackground-color: #ccc;\n\t\t\tborder-radius: 24px;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\ttransition: 0.4s;\n\t\t}\n\n\t\t.product-modal .slider:before {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\theight: 18px;\n\t\t\twidth: 18px;\n\t\t\tleft: 3px;\n\t\t\tbottom: 3px;\n\t\t\tbackground-color: white;\n\t\t\ttransition: 0.4s;\n\t\t\tborder-radius: 50%;\n\t\t}\n\n\t\t.product-modal input:checked+.slider {\n\t\t\tbackground-color: #333;\n\t\t}\n\n\t\t.product-modal input:checked+.slider:before {\n\t\t\ttransform: translateX(26px);\n\t\t}\n\n\t\t.product-modal .modalInnerContent h3 {\n\t\t\tpadding: 20px 0;\n\n\t\t}\n\t\u003c\/style\u003e\n\u003c!-- 外部觸發按鈕 --\u003e\n\u003cdiv class=\"button-group\"\u003e\n\u003cbutton\u003e尺寸指南\u003c\/button\u003e \u003cbutton\u003e洗滌保養\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Modal --\u003e\n\u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n\u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n\u003cdiv class=\"modal-close\"\u003e×\u003c\/div\u003e\n\u003c!-- 內部選單 --\u003e\n\u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n\u003cbutton id=\"tab-size\"\u003e尺寸指南\u003c\/button\u003e \u003cbutton id=\"tab-care\"\u003e洗滌保養\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- 內容區 --\u003e\n\u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":52659047530720,"sku":"B6TC-A15-BE0XSN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"S","offer_id":52659047563488,"sku":"B6TC-A15-BE00SN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"M","offer_id":52659047596256,"sku":"B6TC-A15-BE00MN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"L","offer_id":52659047629024,"sku":"B6TC-A15-BE00LN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"XL","offer_id":52659047661792,"sku":"B6TC-A15-BE0XLN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"2XL","offer_id":52659047694560,"sku":"B6TC-A15-BE2XLN","price":4180.0,"currency_code":"TWD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/a_line_altitude_insulated_gilet_off_white_1_1_1_1_1_1_1.jpg?v=1779088342"},{"product_id":"a-line-altitude-insulated-gilet-charcoal","title":"a Line Altitude Insulated Gilet 保暖背心 \/ 炭灰","description":"\u003cp\u003ettbici a Line Altitude 保暖背心是專為多變天氣打造，適合四季騎乘。其結構設計兼顧保暖性和透氣性，DWR防水處理則能有效抵禦路面濺水和輕微雨水。保暖層提供身體核心溫度的維持。輕量化結構結合競技導向設計，為面對惡劣天候仍持續前進的騎士而生。\u003cbr\u003e\u003cbr\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n\t\tbody.product-modal-open {\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.product-modal-overlay {\n\t\t\tdisplay: none;\n\t\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100vw;\n\t\t\theight: 100vh;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tbackdrop-filter: blur(2px);\n\t\t\tz-index: 1000;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.product-modal {\n\t\t\tbackground: white;\n\t\t\tpadding: 20px;\n\t\t\t\/* border-radius: 10px; *\/\n\t\t\tmax-width: 600px;\n\t\t\twidth: 90%;\n\t\t\tmax-height: 90vh;\n\t\t\toverflow-y: auto;\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.product-modal .modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 12px;\n\t\t\tfont-size: 20px;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t\/* ✅ 統一按鈕樣式 *\/\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\tpadding-top: 20px;\n\t\t}\n\n\t\t.button-group button {\n\t\t\tpadding: 0px;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tcolor: #333;\n\t\t\tcursor: pointer;\n\t\t\t\/* border-radius: 5px; *\/\n\t\t\tfont-size: 15px;\n\t\t\tfont-family: 'Microsoft JhengHei';\n\t\t\ttext-decoration: underline;\n\t\t}\n\n\t\t.button-group button.active {\n\t\t\t\/* background-color: #444; *\/\n\t\t}\n\n\t\tbutton:active {\n\t\t\tbox-shadow: none !important;\n\t\t\tcolor: #333 !important;\n\t\t}\n\n\t\t.product-modal table {\n\t\t\twidth: 100%;\n\t\t\tborder-collapse: collapse;\n\t\t\tmargin-top: 10px;\n\t\t}\n\n\t\t.product-modal th,\n\t\t.product-modal td {\n\t\t\tborder-bottom: 1px solid #ddd;\n\t\t\ttext-align: center;\n\t\t\tpadding: 8px;\n\t\t}\n\n\t\t\/* ✅ 新增的欄寬限制 *\/\n\t\t.product-modal table th:first-child,\n\t\t.product-modal table td:first-child {\n\t\t\twidth: 15%;\n\t\t\tmax-width: 15%;\n\t\t}\n\n\t\t.product-modal .toggle-wrapper {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 10px;\n\t\t\tmargin: 10px 0 20px;\n\t\t}\n\n\t\t.product-modal .toggle {\n\t\t\tposition: relative;\n\t\t\tdisplay: inline-block;\n\t\t\twidth: 50px;\n\t\t\theight: 24px;\n\t\t}\n\n\t\t.product-modal .toggle input {\n\t\t\topacity: 0;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t}\n\n\t\t.product-modal .slider {\n\t\t\tposition: absolute;\n\t\t\tcursor: pointer;\n\t\t\tbackground-color: #ccc;\n\t\t\tborder-radius: 24px;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\ttransition: 0.4s;\n\t\t}\n\n\t\t.product-modal .slider:before {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\theight: 18px;\n\t\t\twidth: 18px;\n\t\t\tleft: 3px;\n\t\t\tbottom: 3px;\n\t\t\tbackground-color: white;\n\t\t\ttransition: 0.4s;\n\t\t\tborder-radius: 50%;\n\t\t}\n\n\t\t.product-modal input:checked+.slider {\n\t\t\tbackground-color: #333;\n\t\t}\n\n\t\t.product-modal input:checked+.slider:before {\n\t\t\ttransform: translateX(26px);\n\t\t}\n\n\t\t.product-modal .modalInnerContent h3 {\n\t\t\tpadding: 20px 0;\n\n\t\t}\n\t\u003c\/style\u003e\n\u003c!-- 外部觸發按鈕 --\u003e\n\u003cdiv class=\"button-group\"\u003e\n\u003cbutton\u003e尺寸指南\u003c\/button\u003e \u003cbutton\u003e洗滌保養\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Modal --\u003e\n\u003cdiv class=\"product-modal-overlay\" id=\"modalOverlay\"\u003e\n\u003cdiv class=\"product-modal\" id=\"modalContent\"\u003e\n\u003cdiv class=\"modal-close\"\u003e×\u003c\/div\u003e\n\u003c!-- 內部選單 --\u003e\n\u003cdiv class=\"button-group\" id=\"infoTabs\"\u003e\n\u003cbutton id=\"tab-size\"\u003e尺寸指南\u003c\/button\u003e \u003cbutton id=\"tab-care\"\u003e洗滌保養\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- 內容區 --\u003e\n\u003cdiv id=\"modalInnerContent\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"ttbici","offers":[{"title":"XS","offer_id":52659047956704,"sku":"B6TC-A15-CH0XSN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"S","offer_id":52659047989472,"sku":"B6TC-A15-CH00SN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"M","offer_id":52659048022240,"sku":"B6TC-A15-CH00MN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"L","offer_id":52659048055008,"sku":"B6TC-A15-CH00LN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"XL","offer_id":52659048087776,"sku":"B6TC-A15-CH0XLN","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"2XL","offer_id":52659048120544,"sku":"B6TC-A15-CH2XLN","price":4180.0,"currency_code":"TWD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/a_line_altitude_insulated_gilet_charcoal_1_1_1_1_1_1_1.jpg?v=1779088353"}],"url":"https:\/\/www.ttbici.com\/collections\/women-winter.oembed","provider":"TTBICI","version":"1.0","type":"link"}