{"title":"women-jersey","description":"","products":[{"product_id":"ttbici-e-line-women-s-classic-jersey-black","title":"e Line Women's Classic Jersey 女款經典車衣 \/ 黑色","description":"\u003cbody\u003ettbici E Line 經典車衣，揉合傳統與現代要素，以獨特電繡工藝展顯低調奢華的品牌質感。注重舒適度及便利性的多元合身剪裁，使用高透氣面料製作，柔軟手感，適合溫暖氣候著用，提供優異與優雅的騎乘體驗。\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":48087478698208,"sku":"B6TC-E01-BK0XSW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087478730976,"sku":"B6TC-E01-BK00SW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087478763744,"sku":"B6TC-E01-BK00MW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087478796512,"sku":"B6TC-E01-BK00LW","price":2880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc09592_1_2.jpg?v=1762226950"},{"product_id":"ttbici-e-line-women-s-classic-jersey-navy","title":"e Line Women's Classic Jersey 女款經典車衣 \/ 海軍藍","description":"\u003cbody\u003ettbici E Line 經典車衣，揉合傳統與現代要素，以獨特電繡工藝展顯低調奢華的品牌質感。注重舒適度及便利性的多元合身剪裁，使用高透氣面料製作，柔軟手感，適合溫暖氣候著用，提供優異與優雅的騎乘體驗。\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":48087479714016,"sku":"B6TC-E01-NY0XSW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087479746784,"sku":"B6TC-E01-NY00SW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087479779552,"sku":"B6TC-E01-NY00MW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087479812320,"sku":"B6TC-E01-NY00LW","price":2880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc09602-3_color-deep_blue_2.jpg?v=1762226958"},{"product_id":"ttbici-e-line-women-s-classic-jersey-beige","title":"e Line Women's Classic Jersey 女款經典車衣 \/ 米白色","description":"\u003cbody\u003ettbici E Line 經典車衣，揉合傳統與現代要素，以獨特電繡工藝展顯低調奢華的品牌質感。注重舒適度及便利性的多元合身剪裁，使用高透氣面料製作，柔軟手感，適合溫暖氣候著用，提供優異與優雅的騎乘體驗。\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":48087480074464,"sku":"B6TC-E01-BE0XSW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087480107232,"sku":"B6TC-E01-BE00SW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087480140000,"sku":"B6TC-E01-BE00MW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087480172768,"sku":"B6TC-E01-BE00LW","price":2880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc09606_a.jpg?v=1762226966"},{"product_id":"ttbici-e-line-women-s-classic-jersey-brown","title":"e Line Women's Classic Jersey 女款經典車衣 \/ 棕色","description":"\u003cbody\u003ettbici E Line 經典車衣，揉合傳統與現代要素，以獨特電繡工藝展顯低調奢華的品牌質感。注重舒適度及便利性的多元合身剪裁，使用高透氣面料製作，柔軟手感，適合溫暖氣候著用，提供優異與優雅的騎乘體驗。\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":48087481221344,"sku":"B6TC-E01-BR0XSW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087481254112,"sku":"B6TC-E01-BR00SW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087481286880,"sku":"B6TC-E01-BR00MW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087481319648,"sku":"B6TC-E01-BR00LW","price":2880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc09602-3_color-light_brown_2.jpg?v=1762226974"},{"product_id":"ttbici-e-line-women-s-classic-jersey-pine-green","title":"e Line Women's Classic Jersey 女款經典車衣 \/ 松綠色","description":"\u003cbody\u003ettbici E Line 經典車衣，揉合傳統與現代要素，以獨特電繡工藝展顯低調奢華的品牌質感。注重舒適度及便利性的多元合身剪裁，使用高透氣面料製作，柔軟手感，適合溫暖氣候著用，提供優異與優雅的騎乘體驗。\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":48087481811168,"sku":"B6TC-E01-GR0XSW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087481843936,"sku":"B6TC-E01-GR00SW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087481876704,"sku":"B6TC-E01-GR00MW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087481909472,"sku":"B6TC-E01-GR00LW","price":2880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc09602-3_color-deep_green_a.jpg?v=1762226983"},{"product_id":"ttbici-a-line-women-s-lightweight-jersey-eclipse-purple","title":"a Line Women's Lightweight Jersey 女款輕量車衣 \/ 月蝕紫","description":"\u003cbody\u003ettbici a Line 輕量化車衣兼具設計與性能，其簡約空力剪裁，專為高強度騎乘打造，採用快乾透氣面料，達到性能與美學的完美平衡，提供騎乘時最佳的穩定性與舒適度。\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":48087482302688,"sku":"B6TC-A01-PG0XSW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087482335456,"sku":"B6TC-A01-PG00SW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087482368224,"sku":"B6TC-A01-PG00MW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087482400992,"sku":"B6TC-A01-PG00LW","price":3580.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc05614.jpg?v=1762226991"},{"product_id":"ttbici-a-line-women-s-lightweight-jersey-powder-blue","title":"a Line Women's Lightweight Jersey 女款輕量車衣 \/ 粉末藍","description":"\u003cbody\u003ettbici a Line 輕量化車衣兼具設計與性能，其簡約空力剪裁，專為高強度騎乘打造，採用快乾透氣面料，達到性能與美學的完美平衡，提供騎乘時最佳的穩定性與舒適度。\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":48087483285728,"sku":"B6TC-A01-BL0XSW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087483318496,"sku":"B6TC-A01-BL00SW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087483351264,"sku":"B6TC-A01-BL00MW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087483384032,"sku":"B6TC-A01-BL00LW","price":3580.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc05593-pink_blue.jpg?v=1762226998"},{"product_id":"ttbici-a-line-women-s-lightweight-jersey-peach-pink","title":"a Line Women's Lightweight Jersey 女款輕量車衣 \/ 蜜桃粉","description":"\u003cbody\u003ettbici a Line 輕量化車衣兼具設計與性能，其簡約空力剪裁，專為高強度騎乘打造，採用快乾透氣面料，達到性能與美學的完美平衡，提供騎乘時最佳的穩定性與舒適度。\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":48087485186272,"sku":"B6TC-A01-PI0XSW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087485219040,"sku":"B6TC-A01-PI00SW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087485251808,"sku":"B6TC-A01-PI00MW","price":3580.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087485284576,"sku":"B6TC-A01-PI00LW","price":3580.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc05593-pink.jpg?v=1762227006"},{"product_id":"ttbici-a-line-women-s-lightweight-ls-team-jersey-grey","title":"a Line Women's Lightweight LS Team Jersey 女款車隊版輕量長袖車衣 \/ 灰色","description":"\u003cbody\u003ettbici a Line 輕量長袖車衣可因應各種配飾性，並提供額外的紫外線防護，成為陽光下騎乘的最佳夥伴。採用高性能、輕量化的梭織彈力面料，結合空力剪裁設計，擺脫傳統長袖車衣的厚重感，實現輕盈與舒適的完美平衡。\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":48087487021280,"sku":"B6TC-A02-GY0XSW","price":4180.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087487054048,"sku":"B6TC-A02-GY00SW","price":4180.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087487086816,"sku":"B6TC-A02-GY00MW","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"L","offer_id":48087487119584,"sku":"B6TC-A02-GY00LW","price":4180.0,"currency_code":"TWD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc05752.jpg?v=1762227014"},{"product_id":"ttbici-a-line-women-s-lightweight-team-jersey-white","title":"a Line Women's Lightweight Team Jersey 女款車隊版輕量車衣 \/ 白色","description":"\u003cbody\u003ettbici a Line Team 輕量化車衣，圖像以圓周率 π 的無理數為概念設計，胸口 Logo 搭配與底衫呼應的專屬圖樣，從內到外展現層次美學，打造獨特的騎乘品味。\u003cbr\u003e\u003cbr\u003e\n\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":48087487512800,"sku":"B6TC-A01-WH0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087487545568,"sku":"B6TC-A01-WH00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087487578336,"sku":"B6TC-A01-WH00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087487611104,"sku":"B6TC-A01-WH00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/2.jpg?v=1762227022"},{"product_id":"ttbici-a-line-women-s-lightweight-team-jersey-lime","title":"a Line Women's Lightweight Team Jersey 女款車隊版輕量車衣 \/ 車隊萊姆綠","description":"\u003cbody\u003ettbici a Line Team 輕量化車衣，圖像以圓周率 π 的無理數為概念設計，胸口 Logo 搭配與底衫呼應的專屬圖樣，從內到外展現層次美學，打造獨特的騎乘品味。\u003cbr\u003e\u003cbr\u003e\n\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":48087488659680,"sku":"B6TC-A01-LG0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087488692448,"sku":"B6TC-A01-LG00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087488725216,"sku":"B6TC-A01-LG00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087488757984,"sku":"B6TC-A01-LG00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/lightweight_team_jersey_lime_01.jpg?v=1762227030"},{"product_id":"ttbici-a-line-women-s-lightweight-ls-jersey-black","title":"a Line Women's Lightweight LS Jersey 女款輕量長袖車衣 \/ 黑色","description":"\u003cbody\u003ettbici a Line 輕量長袖車衣可因應各種配飾性，並提供額外的紫外線防護，成為陽光下騎乘的最佳夥伴。採用高性能、輕量化的梭織彈力面料，結合空力剪裁設計，擺脫傳統長袖車衣的厚重感，實現輕盈與舒適的完美平衡。\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":48087489446112,"sku":"B6TC-A02-BK0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087489478880,"sku":"B6TC-A02-BK00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087489511648,"sku":"B6TC-A02-BK00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087489544416,"sku":"B6TC-A02-BK00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc05617.jpg?v=1762227038"},{"product_id":"ttbici-a-line-women-s-lightweight-ls-jersey-power-blue","title":"a Line Women's Lightweight LS Jersey 女款輕量長袖車衣 \/ 粉末藍","description":"\u003cbody\u003ettbici a Line 輕量長袖車衣可因應各種配飾性，並提供額外的紫外線防護，成為陽光下騎乘的最佳夥伴。採用高性能、輕量化的梭織彈力面料，結合空力剪裁設計，擺脫傳統長袖車衣的厚重感，實現輕盈與舒適的完美平衡。\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":48087490396384,"sku":"B6TC-A02-BL0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087490429152,"sku":"B6TC-A02-BL00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087490461920,"sku":"B6TC-A02-BL00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087490494688,"sku":"B6TC-A02-BL00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc05627.jpg?v=1762227046"},{"product_id":"ttbici-a-line-women-s-lightweight-ls-jersey-peach-pink","title":"a Line Women's Lightweight LS Jersey 女款輕量長袖車衣 \/ 蜜桃粉","description":"\u003cbody\u003ettbici a Line 輕量長袖車衣可因應各種配飾性，並提供額外的紫外線防護，成為陽光下騎乘的最佳夥伴。採用高性能、輕量化的梭織彈力面料，結合空力剪裁設計，擺脫傳統長袖車衣的厚重感，實現輕盈與舒適的完美平衡。\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":48087491051744,"sku":"B6TC-A02-PI0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087491084512,"sku":"B6TC-A02-PI00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48087491117280,"sku":"B6TC-A02-PI00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48087491150048,"sku":"B6TC-A02-PI00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc05627-pink.jpg?v=1762227054"},{"product_id":"ttbici-x-tdfsg-womens-jersey-black","title":"ttbici x TDFSG Woen's Jersey 女款TDFSG聯名車衣 \/ 黑色","description":"\u003cbody\u003e以 ttbici e Line 經典車衣 為基礎打造，融合 2025 TDFSG 環法新加坡「À l’attaque」 的設計概念。靈感取自環法賽四大經典領騎衫——黃衫、圓點衫、綠衫與白衫，象徵不同賽段中的榮耀與競技精神。此聯名款不僅延續 ttbici 的高機能與優雅剪裁，更賦予 TDFSG 專屬的紀念價值與收藏意義。\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":48087492690144,"sku":"B6TC-TD1-BK0XSW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48087492722912,"sku":"B6TC-TD1-BK00SW","price":2880.0,"currency_code":"TWD","in_stock":false},{"title":"M","offer_id":48087492755680,"sku":"B6TC-TD1-BK00MW","price":2880.0,"currency_code":"TWD","in_stock":false},{"title":"L","offer_id":48087492788448,"sku":"B6TC-TD1-BK00LW","price":2880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/dsc_6985.jpg?v=1762227061"},{"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":"a-line-women-s-stay-gold-aero-jersey-white","title":"a Line Women's Stay Gold Aero Jersey 女款空力車衣 \/ 白金","description":"\u003cbody\u003e以「純粹．極致．永恆」為設計理念，ttbici a Line 推出全新 Stay Gold 系列，以最純粹的白金 \/ 黑金色彩為基調，展現速度與優雅的平衡。\n\u003cbr\u003e\u003cbr\u003e\nttbici a Line Stay Gold 空力車衣兼具設計與性能，其簡約空力剪裁，專為高強度騎乘打造，採用快乾透氣面料，達到性能與美學的完美平衡，提供騎乘時最佳的穩定性與舒適度。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026gt;25°C 騎乘穿著\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":48880845783264,"sku":"B6TC-A08-WH0XSW","price":4180.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48880845816032,"sku":"B6TC-A08-WH00SW","price":4180.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48880845848800,"sku":"B6TC-A08-WH00MW","price":4180.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48880845881568,"sku":"B6TC-A08-WH00LW","price":4180.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_stay_gold_aero_jersey_01_white.jpg?v=1772592153"},{"product_id":"a-line-women-s-stay-gold-aero-jersey-black","title":"a Line Women's Stay Gold Aero Jersey 女款空力車衣 \/ 黑金","description":"\u003cbody\u003e以「純粹．極致．永恆」為設計理念，ttbici a Line 推出全新 Stay Gold 系列，以最純粹的白金 \/ 黑金色彩為基調，展現速度與優雅的平衡。\n\u003cbr\u003e\u003cbr\u003e\nttbici a Line Stay Gold 空力車衣兼具設計與性能，其簡約空力剪裁，專為高強度騎乘打造，採用快乾透氣面料，達到性能與美學的完美平衡，提供騎乘時最佳的穩定性與舒適度。\n\u003cbr\u003e\u003cbr\u003e\n適合氣溫：\u0026gt;25°C 騎乘穿著\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":48880846700768,"sku":"B6TC-A08-BK0XSW","price":4180.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48880846733536,"sku":"B6TC-A08-BK00SW","price":4180.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48880846766304,"sku":"B6TC-A08-BK00MW","price":4180.0,"currency_code":"TWD","in_stock":false},{"title":"L","offer_id":48880846799072,"sku":"B6TC-A08-BK00LW","price":4180.0,"currency_code":"TWD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women_stay_gold_aero_jersey_01_black.jpg?v=1772592165"},{"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-women-s-altitude-ls-team-jersey-mylar-silver","title":"a Line Women's Altitude LS Team Jersey 女款車隊版長袖車衣 \/ 麥拉銀","description":"\u003cbody\u003ettbici a Line Altitude 車隊版長袖車衣，以空氣流動為核心設計概念，圖像猶如氣流貼身掠過，順勢切割空氣，營造純粹而銳利的速度感。\n\u003cbr\u003e\u003cbr\u003e\n專為涼冷至寒冷環境打造，ttbici a Line Altitude 車隊版長袖車衣以競技導向的貼身剪裁，在保暖與速度之間取得平衡。中等厚度面料兼具透氣與排汗表現，即使在高強度騎乘下，也能穩定調節體溫，維持流暢而銳利的騎乘效率。\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":48917421555936,"sku":"B6TC-A10-GY0XSW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48917421588704,"sku":"B6TC-A10-GY00SW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48917421621472,"sku":"B6TC-A10-GY00MW","price":4980.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48917421654240,"sku":"B6TC-A10-GY00LW","price":4980.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women-s-altitude-ls-team-jersey-mylar-silver01_1_1_1_1.jpg?v=1773026238"},{"product_id":"a-line-women-s-lightweight-team-jersey-mylar-gold","title":"a Line Women's Lightweight Team Jersey 女款車隊版輕車衣 \/ 麥拉金","description":"\u003cbody\u003ettbici a Line Team 輕量化車衣，以空氣流動為核心設計概念，圖像猶如氣流貼身掠過，順勢切割空氣，營造純粹而銳利的速度感。輕量化結構與俐落線條相互呼應，為追求極致效率的騎乘而生。\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":48917421916384,"sku":"B6TC-A11-YW0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48917421949152,"sku":"B6TC-A11-YW00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48917421981920,"sku":"B6TC-A11-YW00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48917422014688,"sku":"B6TC-A11-YW00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women-s-lightweight-team-jersey-mylar-gold01_1_1_1_1.jpg?v=1773026246"},{"product_id":"a-line-women-s-lightweight-team-jersey-mylar-pink","title":"a Line Women's Lightweight Team Jersey 女款車隊版輕車衣 \/ 麥拉粉紅","description":"\u003cbody\u003ettbici a Line Team 輕量化車衣，以空氣流動為核心設計概念，圖像猶如氣流貼身掠過，順勢切割空氣，營造純粹而銳利的速度感。輕量化結構與俐落線條相互呼應，為追求極致效率的騎乘而生。\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":48917422211296,"sku":"B6TC-A11-PI0XSW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":48917422244064,"sku":"B6TC-A11-PI00SW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":48917422276832,"sku":"B6TC-A11-PI00MW","price":3880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":48917422309600,"sku":"B6TC-A11-PI00LW","price":3880.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/women-s-lightweight-team-jersey-mylar-pink01_1_1_1_1.jpg?v=1773026254"},{"product_id":"ciao-wilier-2000-women-s-jersey-blue","title":"ttbici Ciao! Wilier 2000 Women's Jersey 女款車衣 \/ 藍色","description":"\u003cp\u003e以 ttbici e Line 經典車衣為基礎，打造 CIAO! Wilier 2000 賽事紀念車衣。以獨特電繡工藝展顯低調奢華的品牌質感。注重舒適度及便利性的多元合身剪裁，使用高透氣面料製作，柔軟手感，適合溫暖氣候著用，提供優異與優雅的騎乘體驗。\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":52659050184928,"sku":"B6TC-CIA-MC0XSW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"S","offer_id":52659050217696,"sku":"B6TC-CIA-MC00SW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"M","offer_id":52659050250464,"sku":"B6TC-CIA-MC00MW","price":2880.0,"currency_code":"TWD","in_stock":true},{"title":"L","offer_id":52659050283232,"sku":"B6TC-CIA-MC00LW","price":2880.0,"currency_code":"TWD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0775\/9714\/7360\/files\/ciao-wilier-2000-women-jersey-blue_1_1_1_1_1.jpg?v=1779088371"}],"url":"https:\/\/www.ttbici.com\/collections\/women-jerseys.oembed","provider":"TTBICI","version":"1.0","type":"link"}