{"title":"END OF FINANCIAL YEAR","description":"\u003cp\u003eOur EOFY Event is here. Enjoy exclusive pricing across the Townsman collection from 15–30 June.\u003cbr\u003e\u003c\/p\u003e","products":[{"product_id":"navy-reserve-blazer","title":"Navy Reserve Blazer","description":"\u003cp\u003eStretch-cotton blend woven by Tessuti Di Sondrio, Italy\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote: \u003c\/strong\u003eFor this style only, we recommend selecting one size up from your usual fit. For example, if you typically wear a size 36, please select a size 38. Refer to the size chart for further information.\u003c\/p\u003e\n\n\u003cdiv class=\"product-tabs\"\u003e\n  \u003c!-- Tab 1 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eFabric \u0026amp; Care\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMaterial:\u003c\/strong\u003e Midweight cotton seersucker\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eComposition:\u003c\/strong\u003e 99% Cotton, 1% Elastane\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eWoven by:\u003c\/strong\u003e Tessuti di Sondrio, Italy\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eLining:\u003c\/strong\u003e 55% Polyester, 45% Viscose\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCare instructions:\u003c\/strong\u003e Dry clean only\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 2 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eStyle \u0026amp; Features\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eTailored fit\u003c\/li\u003e\n        \u003cli\u003eNatural shoulder\u003c\/li\u003e\n        \u003cli\u003eSingle-breasted closure\u003c\/li\u003e\n        \u003cli\u003eWide notch lapel\u003c\/li\u003e\n        \u003cli\u003ePick stitching\u003c\/li\u003e\n        \u003cli\u003eFully-lined\u003c\/li\u003e\n        \u003cli\u003eCasual patch pockets\u003c\/li\u003e\n        \u003cli\u003eDouble back vents\u003c\/li\u003e\n        \u003cli\u003eFour functioning buttons at sleeve cuff\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 3: Size Chart --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eSize Chart\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003ch4\u003eJacket Measurements\u003c\/h4\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-cm\"\u003eCM\u003c\/button\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-in\"\u003eIN\u003c\/button\u003e\n      \u003ctable id=\"size-chart\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth\u003e\u003c\/th\u003e\n            \u003cth\u003e36\u003c\/th\u003e\n            \u003cth\u003e38\u003c\/th\u003e\n            \u003cth\u003e40\u003c\/th\u003e\n            \u003cth\u003e42\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eChest Width\u003c\/td\u003e\n            \u003ctd data-cm=\"50\"\u003e50\u003c\/td\u003e\n            \u003ctd data-cm=\"52\"\u003e52\u003c\/td\u003e\n            \u003ctd data-cm=\"54\"\u003e54\u003c\/td\u003e\n            \u003ctd data-cm=\"56\"\u003e56\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eWaist Width\u003c\/td\u003e\n            \u003ctd data-cm=\"45\"\u003e45\u003c\/td\u003e\n            \u003ctd data-cm=\"47\"\u003e47\u003c\/td\u003e\n            \u003ctd data-cm=\"49\"\u003e49\u003c\/td\u003e\n            \u003ctd data-cm=\"51\"\u003e51\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eShoulder Width\u003c\/td\u003e\n            \u003ctd data-cm=\"45\"\u003e45\u003c\/td\u003e\n            \u003ctd data-cm=\"46.2\"\u003e46.2\u003c\/td\u003e\n            \u003ctd data-cm=\"47.4\"\u003e47.4\u003c\/td\u003e\n            \u003ctd data-cm=\"48.6\"\u003e48.6\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eSleeve Length\u003c\/td\u003e\n            \u003ctd data-cm=\"60.7\"\u003e60.7\u003c\/td\u003e\n            \u003ctd data-cm=\"61.7\"\u003e61.7\u003c\/td\u003e\n            \u003ctd data-cm=\"62.7\"\u003e62.7\u003c\/td\u003e\n            \u003ctd data-cm=\"63.7\"\u003e63.7\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eJacket Length\u003c\/td\u003e\n            \u003ctd data-cm=\"73.2\"\u003e73.2\u003c\/td\u003e\n            \u003ctd data-cm=\"74.2\"\u003e74.2\u003c\/td\u003e\n            \u003ctd data-cm=\"75.2\"\u003e75.2\u003c\/td\u003e\n            \u003ctd data-cm=\"76.2\"\u003e76.2\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .toggle-button {\n    display: inline-block;\n    padding: 8px 12px;\n    border: 1px solid #000;\n    background-color: #fff;\n    cursor: pointer;\n    font-size: 14px;\n    margin-right: 5px;\n    margin-bottom: 10px;\n  }\n\n  .toggle-button.active {\n    background-color: #000;\n    color: #fff;\n  }\n\n  #size-chart td {\n    white-space: nowrap;\n    text-align: center;\n    min-width: 50px;\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  const cmBtn = document.getElementById(\"toggle-cm\");\n  const inBtn = document.getElementById(\"toggle-in\");\n\n  function convertToInches(cm) {\n    return (cm \/ 2.54).toFixed(1);\n  }\n\n  function setToCM() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      cell.textContent = cell.getAttribute(\"data-cm\");\n    });\n    cmBtn.classList.add(\"active\");\n    inBtn.classList.remove(\"active\");\n  }\n\n  function setToIN() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      const cm = parseFloat(cell.getAttribute(\"data-cm\"));\n      cell.textContent = convertToInches(cm);\n    });\n    inBtn.classList.add(\"active\");\n    cmBtn.classList.remove(\"active\");\n  }\n\n  cmBtn.addEventListener(\"click\", setToCM);\n  inBtn.addEventListener(\"click\", setToIN);\n\n  \/\/ Default to CM\n  setToCM();\n\u003c\/script\u003e","brand":"Townsman","offers":[{"title":"36","offer_id":50568577417447,"sku":"","price":545.0,"currency_code":"AUD","in_stock":true},{"title":"38","offer_id":50568577450215,"sku":"","price":545.0,"currency_code":"AUD","in_stock":true},{"title":"40","offer_id":50568577482983,"sku":"","price":545.0,"currency_code":"AUD","in_stock":true},{"title":"42","offer_id":50568577515751,"sku":"","price":545.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0689\/1369\/2903\/files\/Townsman-0569.jpg?v=1753423944"},{"product_id":"navy-reserve-trouser","title":"Navy Reserve Trouser","description":"\u003cp\u003eStretch-cotton blend woven by Tessuti Di Sondrio, Italy\u003c\/p\u003e\n\n\u003cdiv class=\"product-tabs\"\u003e\n\n  \u003c!-- Tab 1 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eFabric \u0026amp; Care\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMaterial:\u003c\/strong\u003e Midweight cotton seersucker\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eComposition:\u003c\/strong\u003e 99% Cotton, 1% Elastane\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eWoven by:\u003c\/strong\u003e Tessuti di Sondrio, Italy\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eLining:\u003c\/strong\u003e 55% Polyester, 45% Viscose\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCare instructions:\u003c\/strong\u003e Dry clean only\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 2 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eStyle \u0026amp; Features\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eUnique d-link designed waistband\u003c\/li\u003e\n        \u003cli\u003eReverse pleats\u003c\/li\u003e\n        \u003cli\u003eMid-rise trousers\u003c\/li\u003e\n        \u003cli\u003eTapered leg with cuffed hem. They may require adjustment to achieve your desired length, depending on your height.\u003c\/li\u003e\n        \u003cli\u003eFully-lined\u003c\/li\u003e\n        \u003cli\u003eSlanted side pockets\u003c\/li\u003e\n        \u003cli\u003eJetted-button back pockets\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 3: Size Chart --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eSize Chart\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003ch4\u003eTrouser Measurements\u003c\/h4\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-cm\"\u003eCM\u003c\/button\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-in\"\u003eIN\u003c\/button\u003e\n\n      \u003ctable id=\"size-chart\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth\u003e\u003c\/th\u003e\n            \u003cth\u003e30\u003c\/th\u003e\n            \u003cth\u003e32\u003c\/th\u003e\n            \u003cth\u003e34\u003c\/th\u003e\n            \u003cth\u003e36\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eYour Waist (up to)\u003c\/td\u003e\n            \u003ctd data-cm=\"78.5\"\u003e78.5\u003c\/td\u003e\n            \u003ctd data-cm=\"82.5\"\u003e82.5\u003c\/td\u003e\n            \u003ctd data-cm=\"86.5\"\u003e86.5\u003c\/td\u003e\n            \u003ctd data-cm=\"90.5\"\u003e90.5\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eGarment Waist\u003c\/td\u003e\n            \u003ctd data-cm=\"80\"\u003e80\u003c\/td\u003e\n            \u003ctd data-cm=\"84\"\u003e84\u003c\/td\u003e\n            \u003ctd data-cm=\"88\"\u003e88\u003c\/td\u003e\n            \u003ctd data-cm=\"92\"\u003e92\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eInside Leg Length\u003c\/td\u003e\n            \u003ctd data-cm=\"73\"\u003e73\u003c\/td\u003e\n            \u003ctd data-cm=\"75\"\u003e75\u003c\/td\u003e\n            \u003ctd data-cm=\"77\"\u003e77\u003c\/td\u003e\n            \u003ctd data-cm=\"79\"\u003e79\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eUpper Leg Width\u003c\/td\u003e\n            \u003ctd data-cm=\"32.2\"\u003e32.2\u003c\/td\u003e\n            \u003ctd data-cm=\"33.2\"\u003e33.2\u003c\/td\u003e\n            \u003ctd data-cm=\"34.2\"\u003e34.2\u003c\/td\u003e\n            \u003ctd data-cm=\"35.2\"\u003e35.2\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eFoot Opening Width\u003c\/td\u003e\n            \u003ctd data-cm=\"18.2\"\u003e18.2\u003c\/td\u003e\n            \u003ctd data-cm=\"18.7\"\u003e18.7\u003c\/td\u003e\n            \u003ctd data-cm=\"19.2\"\u003e19.2\u003c\/td\u003e\n            \u003ctd data-cm=\"19.7\"\u003e19.7\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- STYLING --\u003e\n\u003cstyle\u003e\n  .toggle-button {\n    display: inline-block;\n    padding: 6px 10px;\n    border: 1px solid #000;\n    background-color: #fff;\n    cursor: pointer;\n    font-size: 14px;\n    margin-right: 5px;\n    margin-bottom: 10px;\n  }\n\n  .toggle-button.active {\n    background-color: #000;\n    color: #fff;\n  }\n\n  #size-chart td {\n    white-space: nowrap;\n    text-align: center;\n    min-width: 50px;\n  }\n\n  #size-chart td:first-child,\n  #size-chart th:first-child {\n    text-align: left;\n    width: 130px;\n  }\n\u003c\/style\u003e\n\n\u003c!-- SCRIPT --\u003e\n\u003cscript\u003e\n  const cmBtn = document.getElementById(\"toggle-cm\");\n  const inBtn = document.getElementById(\"toggle-in\");\n\n  function convertToInches(cm) {\n    return (cm \/ 2.54).toFixed(1); \/\/ one decimal place\n  }\n\n  function setToCM() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      cell.textContent = cell.getAttribute(\"data-cm\");\n    });\n    cmBtn.classList.add(\"active\");\n    inBtn.classList.remove(\"active\");\n  }\n\n  function setToIN() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      const cm = parseFloat(cell.getAttribute(\"data-cm\"));\n      cell.textContent = convertToInches(cm);\n    });\n    inBtn.classList.add(\"active\");\n    cmBtn.classList.remove(\"active\");\n  }\n\n  if (cmBtn \u0026\u0026 inBtn) {\n    cmBtn.addEventListener(\"click\", setToCM);\n    inBtn.addEventListener(\"click\", setToIN);\n    setToCM(); \/\/ Default to CM view\n  }\n\u003c\/script\u003e\n","brand":"Townsman","offers":[{"title":"30","offer_id":50585402966247,"sku":null,"price":299.0,"currency_code":"AUD","in_stock":true},{"title":"32","offer_id":50585402999015,"sku":null,"price":299.0,"currency_code":"AUD","in_stock":true},{"title":"34","offer_id":50585403031783,"sku":null,"price":299.0,"currency_code":"AUD","in_stock":true},{"title":"36","offer_id":50570605330663,"sku":"","price":299.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0689\/1369\/2903\/files\/Townsman-0654.jpg?v=1753424545"},{"product_id":"vino-camp-collar-shirt","title":"Vino Camp Collar Shirt","description":"\u003cp\u003eCotton seersucker striped short-sleeve shirt\u003c\/p\u003e\n\u003cdiv class=\"product-tabs\"\u003e\n  \u003c!-- Tab 1: Fabric \u0026 Care --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eFabric \u0026amp; Care\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMaterial:\u003c\/strong\u003e lightweight cotton seersucker\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eComposition:\u003c\/strong\u003e 100% Cotton\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCare instructions:\u003c\/strong\u003e Machine cold wash\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 2: Style \u0026 Features --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eStyle \u0026amp; Features\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eCuban (camp) collar with open neckline\u003c\/li\u003e  \n        \u003cli\u003eStraight side seams for a relaxed, boxy fit\u003c\/li\u003e\n        \u003cli\u003eSplit yoke\u003c\/li\u003e\n        \u003cli\u003eDouble-pleated back\u003c\/li\u003e\n        \u003cli\u003eStraight hem\u003c\/li\u003e\n        \u003cli\u003e3 fully functional patch pockets\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 3: Size Chart --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eSize Chart\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003ch4\u003eShirt Measurements\u003c\/h4\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-cm-shirt\"\u003eCM\u003c\/button\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-in-shirt\"\u003eIN\u003c\/button\u003e\n\n      \u003ctable id=\"size-chart-shirt\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth\u003e\u003c\/th\u003e\n            \u003cth\u003eS\u003c\/th\u003e\n            \u003cth\u003eM\u003c\/th\u003e\n            \u003cth\u003eL\u003c\/th\u003e\n            \u003cth\u003eXL\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eCollar\u003c\/td\u003e\n            \u003ctd data-cm=\"40\"\u003e40\u003c\/td\u003e\n            \u003ctd data-cm=\"40.8\"\u003e40.8\u003c\/td\u003e\n            \u003ctd data-cm=\"41.6\"\u003e41.6\u003c\/td\u003e\n            \u003ctd data-cm=\"42.4\"\u003e42.4\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eShoulder Width\u003c\/td\u003e\n            \u003ctd data-cm=\"46\"\u003e46\u003c\/td\u003e\n            \u003ctd data-cm=\"47\"\u003e47\u003c\/td\u003e\n            \u003ctd data-cm=\"48\"\u003e48\u003c\/td\u003e\n            \u003ctd data-cm=\"49\"\u003e49\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eChest Width\u003c\/td\u003e\n            \u003ctd data-cm=\"52\"\u003e52\u003c\/td\u003e\n            \u003ctd data-cm=\"54\"\u003e54\u003c\/td\u003e\n            \u003ctd data-cm=\"56\"\u003e56\u003c\/td\u003e\n            \u003ctd data-cm=\"58\"\u003e58\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eBack Length\u003c\/td\u003e\n            \u003ctd data-cm=\"69\"\u003e69\u003c\/td\u003e\n            \u003ctd data-cm=\"70.5\"\u003e70.5\u003c\/td\u003e\n            \u003ctd data-cm=\"72\"\u003e72\u003c\/td\u003e\n            \u003ctd data-cm=\"73.5\"\u003e73.5\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eSleeve Length\u003c\/td\u003e\n            \u003ctd data-cm=\"24\"\u003e24\u003c\/td\u003e\n            \u003ctd data-cm=\"25\"\u003e25\u003c\/td\u003e\n            \u003ctd data-cm=\"26\"\u003e26\u003c\/td\u003e\n            \u003ctd data-cm=\"27\"\u003e27\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Styling --\u003e\n\u003cstyle\u003e\n  .toggle-button {\n    display: inline-block;\n    padding: 8px 12px;\n    border: 1px solid #000;\n    background-color: #fff;\n    cursor: pointer;\n    font-size: 14px;\n    margin-right: 5px;\n    margin-bottom: 10px;\n  }\n\n  .toggle-button.active {\n    background-color: #000;\n    color: #fff;\n  }\n\n  #size-chart td {\n    white-space: nowrap;\n    text-align: center;\n    min-width: 50px;\n  }\n\u003c\/style\u003e \n\n\u003c!-- Script --\u003e\n\u003cscript\u003e\n  const cmBtnShirt = document.getElementById(\"toggle-cm-shirt\");\n  const inBtnShirt = document.getElementById(\"toggle-in-shirt\");\n\n  function convertToInches(cm) {\n    return (cm \/ 2.54).toFixed(1);\n  }\n\n  function setToCMShirt() {\n    document.querySelectorAll(\"#size-chart-shirt td[data-cm]\").forEach(cell =\u003e {\n      cell.textContent = cell.getAttribute(\"data-cm\");\n    });\n    cmBtnShirt.classList.add(\"active\");\n    inBtnShirt.classList.remove(\"active\");\n  }\n\n  function setToINShirt() {\n    document.querySelectorAll(\"#size-chart-shirt td[data-cm]\").forEach(cell =\u003e {\n      const cm = parseFloat(cell.getAttribute(\"data-cm\"));\n      cell.textContent = convertToInches(cm);\n    });\n    inBtnShirt.classList.add(\"active\");\n    cmBtnShirt.classList.remove(\"active\");\n  }\n\n  if (cmBtnShirt \u0026\u0026 inBtnShirt) {\n    cmBtnShirt.addEventListener(\"click\", setToCMShirt);\n    inBtnShirt.addEventListener(\"click\", setToINShirt);\n    setToCMShirt(); \/\/ Default to CM view\n  }\n\u003c\/script\u003e\n","brand":"Townsman","offers":[{"title":"S","offer_id":50572549521639,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true},{"title":"M","offer_id":50572549554407,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true},{"title":"L","offer_id":50572549587175,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true},{"title":"XL","offer_id":50572549619943,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0689\/1369\/2903\/files\/Townsman-0862.jpg?v=1753426819"},{"product_id":"milano-pullover","title":"Milano Pullover","description":"\u003cp\u003eDenim long-sleeve pullover shirt\u003c\/p\u003e\n\u003cdiv class=\"product-tabs\"\u003e\n  \u003c!-- Tab 1 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eFabric \u0026amp; Care\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMaterial:\u003c\/strong\u003e Midweight cotton blend\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eComposition:\u003c\/strong\u003e 88% Cotton, 12% Modal\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCare instructions:\u003c\/strong\u003e Machine wash cold\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 2 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eStyle \u0026amp; Features\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e3\/4 placket design\u003c\/li\u003e\n        \u003cli\u003eTailored fit\u003c\/li\u003e\n        \u003cli\u003eClassic collar\u003c\/li\u003e\n        \u003cli\u003eSplit yoke\u003c\/li\u003e\n        \u003cli\u003eStraight hem with side split\u003c\/li\u003e\n        \u003cli\u003eDouble-pleated back\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 3: Size Chart --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eSize Chart\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003ch4\u003eShirt Measurements\u003c\/h4\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-cm-denim\"\u003eCM\u003c\/button\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-in-denim\"\u003eIN\u003c\/button\u003e\n\n      \u003ctable id=\"size-chart-denim\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth\u003e\u003c\/th\u003e\n            \u003cth\u003eS\u003c\/th\u003e\n            \u003cth\u003eM\u003c\/th\u003e\n            \u003cth\u003eL\u003c\/th\u003e\n            \u003cth\u003eXL\u003c\/th\u003e\n            \u003cth\u003eXXL\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eCollar\u003c\/td\u003e\n            \u003ctd data-cm=\"38.5\"\u003e38.5\u003c\/td\u003e\n            \u003ctd data-cm=\"39.7\"\u003e39.7\u003c\/td\u003e\n            \u003ctd data-cm=\"40.9\"\u003e40.9\u003c\/td\u003e\n            \u003ctd data-cm=\"42.1\"\u003e42.1\u003c\/td\u003e\n            \u003ctd data-cm=\"43.3\"\u003e43.3\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eShoulder Width\u003c\/td\u003e\n            \u003ctd data-cm=\"45\"\u003e45\u003c\/td\u003e\n            \u003ctd data-cm=\"46.5\"\u003e46.5\u003c\/td\u003e\n            \u003ctd data-cm=\"48\"\u003e48\u003c\/td\u003e\n            \u003ctd data-cm=\"49.5\"\u003e49.5\u003c\/td\u003e\n            \u003ctd data-cm=\"51\"\u003e51\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eChest Width\u003c\/td\u003e\n            \u003ctd data-cm=\"50\"\u003e50\u003c\/td\u003e\n            \u003ctd data-cm=\"52\"\u003e52\u003c\/td\u003e\n            \u003ctd data-cm=\"54\"\u003e54\u003c\/td\u003e\n            \u003ctd data-cm=\"56\"\u003e56\u003c\/td\u003e\n            \u003ctd data-cm=\"58\"\u003e58\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eBack Length\u003c\/td\u003e\n            \u003ctd data-cm=\"68\"\u003e68\u003c\/td\u003e\n            \u003ctd data-cm=\"69.5\"\u003e69.5\u003c\/td\u003e\n            \u003ctd data-cm=\"71\"\u003e71\u003c\/td\u003e\n            \u003ctd data-cm=\"72.5\"\u003e72.5\u003c\/td\u003e\n            \u003ctd data-cm=\"74\"\u003e74\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eSleeve Length\u003c\/td\u003e\n            \u003ctd data-cm=\"56.5\"\u003e56.5\u003c\/td\u003e\n            \u003ctd data-cm=\"57.8\"\u003e57.8\u003c\/td\u003e\n            \u003ctd data-cm=\"59.1\"\u003e59.1\u003c\/td\u003e\n            \u003ctd data-cm=\"60.4\"\u003e60.4\u003c\/td\u003e\n            \u003ctd data-cm=\"61.7\"\u003e61.7\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Styling --\u003e\n\u003cstyle\u003e\n  .toggle-button {\n    display: inline-block;\n    padding: 8px 12px;\n    border: 1px solid #000;\n    background-color: #fff;\n    cursor: pointer;\n    font-size: 14px;\n    margin-right: 5px;\n    margin-bottom: 10px;\n  }\n\n  .toggle-button.active {\n    background-color: #000;\n    color: #fff;\n  }\n\n  #size-chart td {\n    white-space: nowrap;\n    text-align: center;\n    min-width: 50px;\n  }\n\u003c\/style\u003e\n\n\u003c!-- Script --\u003e\n\u003cscript\u003e\n  const cmBtnDenim = document.getElementById(\"toggle-cm-denim\");\n  const inBtnDenim = document.getElementById(\"toggle-in-denim\");\n\n  function convertToInches(cm) {\n    return (cm \/ 2.54).toFixed(1);\n  }\n\n  function setToCM() {\n    document.querySelectorAll(\"#size-chart-denim td[data-cm]\").forEach(cell =\u003e {\n      cell.textContent = cell.getAttribute(\"data-cm\");\n    });\n    cmBtnDenim.classList.add(\"active\");\n    inBtnDenim.classList.remove(\"active\");\n  }\n\n  function setToIN() {\n    document.querySelectorAll(\"#size-chart-denim td[data-cm]\").forEach(cell =\u003e {\n      const cm = parseFloat(cell.getAttribute(\"data-cm\"));\n      cell.textContent = convertToInches(cm);\n    });\n    inBtnDenim.classList.add(\"active\");\n    cmBtnDenim.classList.remove(\"active\");\n  }\n\n  if (cmBtnDenim \u0026\u0026 inBtnDenim) {\n    cmBtnDenim.addEventListener(\"click\", setToCM);\n    inBtnDenim.addEventListener(\"click\", setToIN);\n    setToCM(); \/\/ Default to CM view\n  }\n\u003c\/script\u003e\n","brand":"Townsman","offers":[{"title":"S","offer_id":50583337173223,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true},{"title":"M","offer_id":50583337205991,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true},{"title":"L","offer_id":50583337238759,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true},{"title":"XL","offer_id":50583337271527,"sku":"","price":159.0,"currency_code":"AUD","in_stock":true},{"title":"XXL","offer_id":51306529816807,"sku":null,"price":159.0,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0689\/1369\/2903\/files\/cmf.jpg?v=1767701961"},{"product_id":"khaki-forza-trouser","title":"Khaki Forza Trouser","description":"\u003cp\u003eCotton canvas woven by Tessuti Di Sondrio, Italy\u003c\/p\u003e\n\u003cdiv class=\"product-tabs\"\u003e\n  \u003c!-- Tab 1 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eFabric \u0026amp; Care\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMaterial:\u003c\/strong\u003e Heavyweight cotton canvas\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eComposition:\u003c\/strong\u003e 100% Cotton\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eWoven by:\u003c\/strong\u003e Tessuti di Sondrio, Italy\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eLining: \u003c\/strong\u003e55% Polyester, 45% Viscose\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCare instructions:\u003c\/strong\u003e Dry clean only\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 2 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eStyle \u0026amp; Features\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eGurkha trouser design with a distinctive double-strap waistband\u003c\/li\u003e\n        \u003cli\u003eDouble forward pleats\u003c\/li\u003e\n        \u003cli\u003eHigh-rise trousers\u003c\/li\u003e\n        \u003cli\u003eTapered leg with cuffed hem. They may require adjustment to achieve your desired length, depending on your height.\u003c\/li\u003e\n        \u003cli\u003eHalf-lined to the knee\u003c\/li\u003e\n        \u003cli\u003eSlanted side pockets\u003c\/li\u003e\n        \u003cli\u003eJetted-button back pockets\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n \u003c!-- Tab 3: Size Chart --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eSize Chart\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003ch4\u003eTrouser Measurements\u003c\/h4\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-cm\"\u003eCM\u003c\/button\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-in\"\u003eIN\u003c\/button\u003e\n\n      \u003ctable id=\"size-chart\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth\u003e\u003c\/th\u003e\n            \u003cth\u003e30\u003c\/th\u003e\n            \u003cth\u003e32\u003c\/th\u003e\n            \u003cth\u003e34\u003c\/th\u003e\n            \u003cth\u003e36\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eYour Waist (up to)\u003c\/td\u003e\n            \u003ctd data-cm=\"82.5\"\u003e82.5\u003c\/td\u003e\n            \u003ctd data-cm=\"86.5\"\u003e86.5\u003c\/td\u003e\n            \u003ctd data-cm=\"90.5\"\u003e90.5\u003c\/td\u003e\n            \u003ctd data-cm=\"94.5\"\u003e94.5\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eGarment Waist\u003c\/td\u003e\n            \u003ctd data-cm=\"84\"\u003e84\u003c\/td\u003e\n            \u003ctd data-cm=\"88\"\u003e88\u003c\/td\u003e\n            \u003ctd data-cm=\"92\"\u003e92\u003c\/td\u003e\n            \u003ctd data-cm=\"96\"\u003e96\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eInside Leg Length\u003c\/td\u003e\n            \u003ctd data-cm=\"76\"\u003e76\u003c\/td\u003e\n            \u003ctd data-cm=\"78\"\u003e78\u003c\/td\u003e\n            \u003ctd data-cm=\"80\"\u003e80\u003c\/td\u003e\n            \u003ctd data-cm=\"82\"\u003e82\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eUpper Leg Width\u003c\/td\u003e\n            \u003ctd data-cm=\"33.2\"\u003e33.2\u003c\/td\u003e\n            \u003ctd data-cm=\"34.2\"\u003e34.2\u003c\/td\u003e\n            \u003ctd data-cm=\"35.2\"\u003e35.2\u003c\/td\u003e\n            \u003ctd data-cm=\"36.2\"\u003e36.2\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eFoot Opening Width\u003c\/td\u003e\n            \u003ctd data-cm=\"18.7\"\u003e18.7\u003c\/td\u003e\n            \u003ctd data-cm=\"19.2\"\u003e19.2\u003c\/td\u003e\n            \u003ctd data-cm=\"19.7\"\u003e19.7\u003c\/td\u003e\n            \u003ctd data-cm=\"20.2\"\u003e20.2\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .toggle-button {\n    display: inline-block;\n    padding: 6px 10px;\n    border: 1px solid #000;\n    background-color: #fff;\n    cursor: pointer;\n    font-size: 14px;\n    margin-right: 5px;\n    margin-bottom: 10px;\n  }\n\n  .toggle-button.active {\n    background-color: #000;\n    color: #fff;\n  }\n\n  #size-chart td {\n    white-space: nowrap;\n    text-align: center;\n    min-width: 50px;\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  const cmBtn = document.getElementById(\"toggle-cm\");\n  const inBtn = document.getElementById(\"toggle-in\");\n\n  function convertToInches(cm) {\n    return (cm \/ 2.54).toFixed(1);\n  }\n\n  function setToCM() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      cell.textContent = cell.getAttribute(\"data-cm\");\n    });\n    cmBtn.classList.add(\"active\");\n    inBtn.classList.remove(\"active\");\n  }\n\n  function setToIN() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      const cm = parseFloat(cell.getAttribute(\"data-cm\"));\n      cell.textContent = convertToInches(cm);\n    });\n    inBtn.classList.add(\"active\");\n    cmBtn.classList.remove(\"active\");\n  }\n\n  cmBtn.addEventListener(\"click\", setToCM);\n  inBtn.addEventListener(\"click\", setToIN);\n\n  \/\/ Default state\n  setToCM();\n\u003c\/script\u003e ","brand":"Townsman","offers":[{"title":"30","offer_id":50585396740327,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true},{"title":"32","offer_id":50585396773095,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true},{"title":"34","offer_id":50585396805863,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true},{"title":"36","offer_id":50585396838631,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0689\/1369\/2903\/files\/Townsman-1126_a0b37de3-baab-4701-b4cb-03c1a68d9ad0.jpg?v=1753426284"},{"product_id":"olive-forza-trouser","title":"Olive Forza Trouser","description":"\u003cp\u003eCotton canvas woven by Tessuti Di Sondrio, Italy\u003c\/p\u003e\n\u003cdiv class=\"product-tabs\"\u003e\n  \u003c!-- Tab 1 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eFabric \u0026amp; Care\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMaterial:\u003c\/strong\u003e Heavyweight cotton canvas\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eComposition:\u003c\/strong\u003e 100% Cotton\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eWoven by:\u003c\/strong\u003e Tessuti di Sondrio, Italy\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eLining: \u003c\/strong\u003e55% Polyester, 45% Viscose\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCare instructions:\u003c\/strong\u003e Dry clean only\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Tab 2 --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eStyle \u0026amp; Features\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eGurkha trouser design with a distinctive double-strap waistband\u003c\/li\u003e\n        \u003cli\u003eDouble forward pleats\u003c\/li\u003e\n        \u003cli\u003eHigh-rise trousers\u003c\/li\u003e\n        \u003cli\u003eTapered leg with cuffed hem. They may require adjustment to achieve your desired length, depending on your height.\u003c\/li\u003e\n        \u003cli\u003eHalf-lined to the knee\u003c\/li\u003e\n        \u003cli\u003eSlanted side pockets\u003c\/li\u003e\n        \u003cli\u003eJetted-button back pockets\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n \u003c!-- Tab 3: Size Chart --\u003e\n  \u003cdiv class=\"tab\"\u003e\n    \u003cbutton class=\"tab-toggle\"\u003eSize Chart\u003c\/button\u003e\n    \u003cdiv class=\"tab-content\"\u003e\n      \u003ch4\u003eTrouser Measurements\u003c\/h4\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-cm\"\u003eCM\u003c\/button\u003e\n      \u003cbutton class=\"toggle-button\" id=\"toggle-in\"\u003eIN\u003c\/button\u003e\n\n      \u003ctable id=\"size-chart\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth\u003e\u003c\/th\u003e\n            \u003cth\u003e30\u003c\/th\u003e\n            \u003cth\u003e32\u003c\/th\u003e\n            \u003cth\u003e34\u003c\/th\u003e\n            \u003cth\u003e36\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eYour Waist (up to)\u003c\/td\u003e\n            \u003ctd data-cm=\"82.5\"\u003e82.5\u003c\/td\u003e\n            \u003ctd data-cm=\"86.5\"\u003e86.5\u003c\/td\u003e\n            \u003ctd data-cm=\"90.5\"\u003e90.5\u003c\/td\u003e\n            \u003ctd data-cm=\"94.5\"\u003e94.5\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eGarment Waist\u003c\/td\u003e\n            \u003ctd data-cm=\"84\"\u003e84\u003c\/td\u003e\n            \u003ctd data-cm=\"88\"\u003e88\u003c\/td\u003e\n            \u003ctd data-cm=\"92\"\u003e92\u003c\/td\u003e\n            \u003ctd data-cm=\"96\"\u003e96\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eInside Leg Length\u003c\/td\u003e\n            \u003ctd data-cm=\"76\"\u003e76\u003c\/td\u003e\n            \u003ctd data-cm=\"78\"\u003e78\u003c\/td\u003e\n            \u003ctd data-cm=\"80\"\u003e80\u003c\/td\u003e\n            \u003ctd data-cm=\"82\"\u003e82\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eUpper Leg Width\u003c\/td\u003e\n            \u003ctd data-cm=\"33.2\"\u003e33.2\u003c\/td\u003e\n            \u003ctd data-cm=\"34.2\"\u003e34.2\u003c\/td\u003e\n            \u003ctd data-cm=\"35.2\"\u003e35.2\u003c\/td\u003e\n            \u003ctd data-cm=\"36.2\"\u003e36.2\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eFoot Opening Width\u003c\/td\u003e\n            \u003ctd data-cm=\"18.7\"\u003e18.7\u003c\/td\u003e\n            \u003ctd data-cm=\"19.2\"\u003e19.2\u003c\/td\u003e\n            \u003ctd data-cm=\"19.7\"\u003e19.7\u003c\/td\u003e\n            \u003ctd data-cm=\"20.2\"\u003e20.2\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .toggle-button {\n    display: inline-block;\n    padding: 6px 10px;\n    border: 1px solid #000;\n    background-color: #fff;\n    cursor: pointer;\n    font-size: 14px;\n    margin-right: 5px;\n    margin-bottom: 10px;\n  }\n\n  .toggle-button.active {\n    background-color: #000;\n    color: #fff;\n  }\n\n  #size-chart td {\n    white-space: nowrap;\n    text-align: center;\n    min-width: 50px;\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  const cmBtn = document.getElementById(\"toggle-cm\");\n  const inBtn = document.getElementById(\"toggle-in\");\n\n  function convertToInches(cm) {\n    return (cm \/ 2.54).toFixed(1);\n  }\n\n  function setToCM() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      cell.textContent = cell.getAttribute(\"data-cm\");\n    });\n    cmBtn.classList.add(\"active\");\n    inBtn.classList.remove(\"active\");\n  }\n\n  function setToIN() {\n    document.querySelectorAll(\"#size-chart td[data-cm]\").forEach(cell =\u003e {\n      const cm = parseFloat(cell.getAttribute(\"data-cm\"));\n      cell.textContent = convertToInches(cm);\n    });\n    inBtn.classList.add(\"active\");\n    cmBtn.classList.remove(\"active\");\n  }\n\n  cmBtn.addEventListener(\"click\", setToCM);\n  inBtn.addEventListener(\"click\", setToIN);\n\n  \/\/ Default state\n  setToCM();\n\u003c\/script\u003e ","brand":"Townsman","offers":[{"title":"30","offer_id":50585411059943,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true},{"title":"32","offer_id":50585411092711,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true},{"title":"34","offer_id":50585411125479,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true},{"title":"36","offer_id":50585411158247,"sku":"","price":329.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0689\/1369\/2903\/files\/Townsman-0732r.jpg?v=1765858650"}],"url":"https:\/\/townsman.com.au\/collections\/end-of-financial-year.oembed","provider":"Townsman","version":"1.0","type":"link"}