PageSourceSearch

https://www.merchantoftennis.com/collections/footwear/products/on-mens-the-roger-clubhouse-pro-2-wash-brook

html merchantoftennis.com collected 2026-10-05 05:51:22 UTC 505,319 bytes, 10,714 lines download raw bytes

1<!doctype html>
2<script>
3window.stampedExcludeFontAwesome = true;
4</script>
4
5<head>
6
7    
8        <link rel="apple-touch-icon" sizes="180x180" href="//www.merchantoftennis.com/cdn/shop/t/653/assets/apple-touch-icon_26ctp.png?v=30005100098436917181787005529">
9        <link rel="icon" type="image/png" sizes="32x32" href="//www.merchantoftennis.com/cdn/shop/t/653/assets/favicon-32x32_26ctp.png?v=109543257697639984841787005528">
10        <link rel="icon" type="image/png" sizes="16x16" href="//www.merchantoftennis.com/cdn/shop/t/653/assets/favicon-16x16_26ctp.png?v=107922047346681836571787005530">
11        <link rel="manifest" href="//www.merchantoftennis.com/cdn/shop/t/653/assets/site_26ctp.webmanifest?v=118754850992823217701787005530">
12        <link rel="mask-icon" href="//www.merchantoftennis.com/cdn/shop/t/653/assets/safari-pinned-tab.svg?v=24648088669279259871787005529" color="#5bbad5">
13        <meta name="msapplication-TileColor" content="#da532c">
14        <meta name="theme-color" content="#ffffff">
15        
16    <meta charset="utf-8" />
17	  <meta name="msvalidate.01" content="0EEA9237DAE9BCF4A78F03DAD22FE1D0" />    
18    
19    
20
21
22
23
24<title>On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook &ndash; Merchant of Tennis</title>
25<meta property="og:title" content="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook &ndash; Merchant of Tennis">
26
27   	
28
29
30
31
32	
33	<meta name="description" content="Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports. Suits All Racquet Sports Tennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it&#39;s perfect f" />
34	
35
36
37
38    
39    
40    
41    
42      
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73  
74  
75  
76  
77
78
79
80
81
82
83    
84    
85      
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122  
123  
124  
125    
126    
127    
128      
129      
130      
131      
132      
133      
134      
135      
136      
137    
138  
139  
140
141
142
143
144    
145    
146
147    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
148    <link rel="canonical" href="https://www.merchantoftennis.com/products/on-mens-the-roger-clubhouse-pro-2-wash-brook" /> 
149
150    
151
152
153  <meta property="og:type" content="product" />
154  <meta property="og:title" content="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" />
155  
156  <meta property="og:image" content="http://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a_grande.jpg?v=1786475000" />
157  <meta property="og:image:secure_url" content="https://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a_grande.jpg?v=1786475000" />
158  
159  <meta property="og:image" content="http://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a_grande.jpg?v=1786474999" />
160  <meta property="og:image:secure_url" content="https://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a_grande.jpg?v=1786474999" />
161  
162  <meta property="og:image" content="http://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a_grande.jpg?v=1786474999" />
163  <meta property="og:image:secure_url" content="https://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a_grande.jpg?v=1786474999" />
164  
165  <meta property="og:image" content="http://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a_grande.jpg?v=1786474999" />
166  <meta property="og:image:secure_url" content="https://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a_grande.jpg?v=1786474999" />
167  
168  <meta property="og:price:amount" content="199.99" />
169  <meta property="og:price:currency" content="CAD" />
170
171
172
173<meta property="og:description" content="Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports. Suits All Racquet Sports Tennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it&#39;s perfect f" />
174
175<meta property="og:url" content="https://www.merchantoftennis.com/products/on-mens-the-roger-clubhouse-pro-2-wash-brook" />
176<meta property="og:site_name" content="Merchant of Tennis" />
177    
178 
179
180  <meta name="twitter:card" content="product" />
181  <meta name="twitter:title" content="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" />
182  <meta name="twitter:description" content="Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.S..." />
183  <meta name="twitter:image" content="http://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a_large.jpg?v=1786475000" />
184  <meta name="twitter:label1" content="PRICE" />
185  <meta name="twitter:data1" content="$199.99 CAD" />
186  <meta name="twitter:label2" content="VENDOR" />
187  <meta name="twitter:data2" content="On" />
188
189    
190    
191    <style>
192      :root {
193        --color-dark-purple: #5a2d84;
194        --color-light-green: #7dbd42;
195        --color-dark-green: #0e6b39;
196    
197        --nav16-grad-0: #694291;
198        --nav16-grad-50: #5a2d84;
199        --nav16-grad-51: #4d2672;
200        --nav16-grad-100: #411f60;
201        --color-mobile-menu: #411f60;
202    
203      }
204    
205    </style>
206    <link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/Poppins-SemiBold.woff2?v=166321314728140982591787005528" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
207    <link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/Roboto-Regular.woff2?v=133099046787279343651787005527" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
208    <link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/Roboto-Bold.woff2?v=168942140234054044001787005528" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
209    
210      <link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/fa-solid-900.woff2?v=111792040862233148671787005528" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
211      <link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/fa-brands-400.woff2?v=117007143377294995821787005530" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
212    
213    
214    
215    <link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/fontawesome.min.css?v=183494697354645301641787005528" rel="stylesheet" type="text/css" media="all" />
216    <link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/mot-theme.css?v=117823333420780815321790199275" rel="stylesheet" type="text/css" media="all" />
217    
218    
219    
220      
220<script src="https://searchanise-ef84.kxcdn.com/widgets/shopify/init.js?a=2t2F0F9C7Z" defer></script>
220
221    
222  
223    
223<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
223<meta name="google-site-verification" content="3f-QDIoI0HnDoFkbC5s1n9-uEeo8v6dFmJXy3QGOCWo">
224<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/6980337/digital_wallets/dialog">
225<meta id="in-context-paypal-metadata" data-shop-id="6980337" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="CAD">
226<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/53707206820203:1?ucp/version=2026-08-25&amp;context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://www.merchantoftennis.com/products/on-mens-the-roger-clubhouse-pro-2-wash-brook.oembed">
227<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=10190586219"></script>
227
228<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
229<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=10190586219&shop_id=6980337" crossorigin="anonymous"></script>
vendor: 1 bytes, line 229
229
230<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":6980337,"countryCode":"CA","currencyCode":"CAD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/6980337","merchantName":"Merchant of Tennis","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","interac","jcb"],"total":{"type":"pending","label":"Merchant of Tennis","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 230
230
231<script id="shopify-features" type="application/json">{"accessToken":"9307c49ab457f3caf8730ed874002f59","betas":["rich-media-storefront-analytics"],"domain":"www.merchantoftennis.com","predictiveSearch":true,"shopId":6980337,"locale":"en"}</script>
vendor: 1 bytes, line 231
231
232<script>var Shopify = Shopify || {};
233Shopify.shop = "merchantoftennis.myshopify.com";
234Shopify.locale = "en";
235Shopify.currency = {"active":"CAD","rate":"1.0"};
236Shopify.country = "US";
237Shopify.theme = {"name":"mot-shopify-theme\/live\/tennis","id":191130993003,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
238Shopify.theme.handle = "null";
239Shopify.theme.style = {"id":null,"handle":null};
240Shopify.cdnHost = "www.merchantoftennis.com/cdn";
241Shopify.routes = Shopify.routes || {};
242Shopify.routes.root = "/";
243Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
244Shopify.SignInWithShop = Shopify.SignInWithShop || {};
245Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
246Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 246
246
247<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 247
247
248<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 248
248
249<script>
250  window.ShopifyPay = window.ShopifyPay || {};
251  window.ShopifyPay.apiHost = "shop.app\/pay";
252  window.ShopifyPay.redirectState = null;
253</script>
vendor: 1 bytes, line 253
253
254<script>
255  window.Shopify = window.Shopify || {};
256  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
257  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
258  window.Shopify.SignInWithShop.eligible = true;
259</script>
vendor: 1 bytes, line 259
259
260<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 260
260
261<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 261
261
262<script type="module">
263  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
264
265  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
266
267</script>
vendor: 1 bytes, line 267
267
268<script>
269  window.Shopify = window.Shopify || {};
270  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
271  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
272</script>
vendor: 1 bytes, line 272
272
273<script>(function() {
274  var isLoaded = false;
275  function asyncLoad() {
276    if (isLoaded) return;
277    isLoaded = true;
278    var urls = ["https:\/\/formbuilder.hulkapps.com\/skeletopapp.js?shop=merchantoftennis.myshopify.com","https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/77e2c6058120d2cac308efd41\/a274d861908272c6d81b51b2e.js?shop=merchantoftennis.myshopify.com","https:\/\/cdn1.stamped.io\/files\/widget.min.js?shop=merchantoftennis.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-5ce964ac6b27d60c411bee79b86f31af.js?shop=merchantoftennis.myshopify.com","https:\/\/customer-first-focus.b-cdn.net\/cffPCLoader_min.js?shop=merchantoftennis.myshopify.com","https:\/\/searchanise-ef84.kxcdn.com\/widgets\/shopify\/init.js?a=2t2F0F9C7Z\u0026shop=merchantoftennis.myshopify.com"];
279    for (var i = 0; i < urls.length; i++) {
280      var s = document.createElement('script');
281      s.type = 'text/javascript';
282      s.async = true;
283      s.src = urls[i];
284      var x = document.getElementsByTagName('script')[0];
285      x.parentNode.insertBefore(s, x);
286    }
287  };
288  if(window.attachEvent) {
289    window.attachEvent('onload', asyncLoad);
290  } else {
291    window.addEventListener('load', asyncLoad, false);
292  }
293})();</script>
vendor: 1 bytes, line 293
293
294<script id="__st">var __st={"a":6980337,"offset":-14400,"reqid":"44dd189f-9166-49ac-9610-94c82a2bd47c-1791179480","pageurl":"www.merchantoftennis.com\/collections\/footwear\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","u":"50199f230687","p":"product","rtyp":"product","rid":15196697756011};</script>
vendor: 1 bytes, line 294
294
295<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 295
295
296<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 296
296
297<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 297
297
298<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
298<script crossorigin="anonymous" defer="defer" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 298
298
299<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 299
299
300<script>
301  window.Shopify = window.Shopify || {};
302  window.Shopify.MCP = window.Shopify.MCP || {};
303  window.Shopify.MCP.enabled = true;
304  window.Shopify.MCP.shop = "merchantoftennis.myshopify.com";
305  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.merchantoftennis.com\/api\/mcp";
306  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
307</script>
vendor: 1 bytes, line 307
307
308<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.merchantoftennis.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
309</script>
vendor: 1 bytes, line 309
309
310<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.merchantoftennis.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
311</script>
vendor: 1 bytes, line 311
311
312<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
313  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
314</script>
vendor: 1 bytes, line 314
314
315<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
316</script>
vendor: 1 bytes, line 316
316
317<script id='scb4127' type='text/javascript' async='' src='https://www.merchantoftennis.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
317<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.merchantoftennis.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
318<style id="shopify-accelerated-checkout-cart">
319        #shopify-buyer-consent {
320  margin-top: 1em;
321  display: inline-block;
322  width: 100%;
323}
324
325#shopify-buyer-consent.hidden {
326  display: none;
327}
328
329#shopify-subscription-policy-button {
330  background: none;
331  border: none;
332  padding: 0;
333  text-decoration: underline;
334  font-size: inherit;
335  cursor: pointer;
336}
337
338#shopify-subscription-policy-button::before {
339  box-shadow: none;
340}
341
342      </style>
343
344<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
344
345
346    
347    
348      
349        
350          
351          
352        
353      
354        
355          
356          
357    
358    
359    
360    
360<script>
361    (function () {
362      try {
363        if (!/[?&]variant=\d+/.test(window.location.search || '')) {
364          document.documentElement.classList.add('product-variant-stock-deferred');
365        }
366      } catch (e) {}
367    })();
368    </script>
368
369    
370
371    
371<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery-3.7.1.min.js?v=147293088974801289311787005530" type="text/javascript"></script>
371
372    
372<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery-migrate-3.4.0.min.js?v=50443843029587954431787005527" type="text/javascript"></script>
372
373    
373<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery.tmpl.min.js?v=148655235644230870751787005529" type="text/javascript"></script>
373
374    
374<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery.products.min.js?v=171679271478575830981787005528" type="text/javascript"></script>
374
375    
375<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/scripts.min.js?v=179527239609855848901789757925" type="text/javascript"></script>
375
376
377<div id="shopify-section-filter-menu-settings" class="shopify-section"><style type="text/css">
378/*  Filter Menu Color and Image Section CSS */</style>
379<style>
380/*  Filter Menu CSS */.filter-menu {
381  margin-bottom: 20px;
382  display: block;
383  background-color: rgba(0,0,0,0);
384  border-radius: 0px;
385  padding: 0px;
386  border: 1px solid rgba(0,0,0,0);
387}
388
389.filter-menu .has_group_selected {
390  display: inherit;
391}
392
393.filter-group {
394  position: relative;
395  text-align: left;
396}
397.filter-group .selected a {
398  font-weight: bold;
399}
400.filter-group .filter-clear {
401  position: absolute;
402  top: 10px;
403  right: 10px;
404  border-radius: 10px;
405  padding: 0 5px;
406  text-decoration: none;
407  font-size: 12px;
408  line-height: 18px;
409  background-color: #eaeaea;
410  color: #999999;
411}
412.filter-group .filter-clear:hover {
413  background-color: #ddd;
414  color: #4d4d4d;
415}
416.filter-group .collection-container {
417  position: relative;
418}
419.filter-group .collection-count {
420  position: absolute;
421  right: 0px;
422}
423.filter-group h4 {
424  text-align: left;
425  margin-bottom: 10px;
426  padding-bottom: 5px;
427  padding-right: 45px;
428  color: #4d4d4d;
429  border-bottom: 1px solid rgba(0,0,0,0);
430  font-size: 18px;
431  
432  font-weight: 300;
433  margin-top: 0;
434  padding-top: 0;
435  border-top: none;
436}
437.filter-group + .filter-group h4 {
438  margin-top: 10px;
439  padding-top: 10px;
440  border-top: 1px solid #d8d8d8;
441}
442.filter-group .filter-clear {
443  top: 0px;
444}
445.filter-group + .filter-group .filter-clear {
446  top: 10px;
447}
448.filter-group ul {
449  display: block;
450  margin: 0;
451  padding: 0;
452  font-size: 0;
453}
454.filter-group ul li {
455  display: block;
456  font-size: 12px;
457}
458.filter-group li a {
459  display: inline-block;
460  margin-left: 6px;
461  text-decoration: none;
462  padding: 0;
463  font-size: 13px;
464}
465.filter-group li.inactive {
466  opacity: 0.6;
467}
468.filter-group li a, .filter-group .collection-count {
469  color: #999999;
470  font-size: 16px;
471  
472  font-weight: 300;
473}
474.filter-group .collection-count {
475  color: #eaeaea;
476}
477.filter-group li div {
478  line-height: 26px;
479}
480.filter-group li.selected a {
481  color: #472f92;
482}
483.filter-group li:hover a {
484  color: #472f92;
485}
486
487.filter-menu-none-selected li a, .has_collection_counts a {
488  margin-right: 40.0px;
489}
490
491.sort-selector {
492  margin: 0 10px;
493}
494
495@font-face {
496  font-family: "pt-font";
497  src: url("//www.merchantoftennis.com/cdn/shop/t/653/assets/pt-font.eot?v=35406046816350484391787005527");
498  src: url("//www.merchantoftennis.com/cdn/shop/t/653/assets/pt-font.eot?v=35406046816350484391787005527#iefix") format("embedded-opentype"), url("//www.merchantoftennis.com/cdn/shop/t/653/assets/pt-font.ttf?v=64367270460432704271787005528") format("truetype"), url("//www.merchantoftennis.com/cdn/shop/t/653/assets/pt-font.woff?v=132796830189226443511787005528") format("woff"), url("//www.merchantoftennis.com/cdn/shop/t/653/assets/pt-font.svg?v=26104912306370647421787005528#icomoon") format("svg");
499  font-weight: normal;
500  font-style: normal;
501}
502i.check-icon,
503.pt-display-dropdown .filter-clear,
504.pt-display-dropdown .menu-trigger:after,
505.filter-group h4:after {
506  font-family: "pt-font" !important;
507  speak: none;
508  font-style: normal;
509  font-weight: normal;
510  font-variant: normal;
511  text-transform: none;
512  line-height: 1;
513  text-indent: 0;
514  -webkit-font-smoothing: antialiased;
515  -moz-osx-font-smoothing: grayscale;
516  color: #d8d8d8;
517}
518
519.selected i.check-icon {
520  color: #472f92;
521}
522
523i.check-icon:before,
524.pt-display-dropdown .filter-clear:before {
525  content: "\e824";
526  background-repeat: no-repeat;
527  display: inline-block;
528  margin-top: 0px;
529  vertical-align: middle;
530  height: 18px;
531  line-height: 18px;
532  width: 18px;
533  font-size: 16px;
534}
535
536a:hover i.check-icon:before {
537  content: "\e825";
538}
539
540.selected i.check-icon:before {
541  content: "\e826";
542}
543
544.selected a:hover i.check-icon:before {
545  content: "\e827";
546}
547
548.fm-search-box {
549  display: none;
550}
551
552.pt-display-search .fm-search-box {
553  display: inherit;
554  margin: 10px;
555  width: calc(100% - 20px);
556}
557
558
559
560
561
562
563.filter-group .collection-count {
564  display: none !important;
565}
566
567.filter-group li a {
568  margin-right: 0;
569}
570
571
572
573.filter-group.has_single_item {
574  display: none !important;
575}
576
577.filter-group.has_group_selected.has_single_item {
578  display: inherit !important;
579}
580
581
582.pt-filter-mode-single .has_selected .active {
583  display: none;
584}
585
586.pt-filter-mode-single .has_selected .selected,
587.pt-filter-mode-and .has_selected .active,
588.pt-filter-mode-switcher .has_selected .active {
589  display: inherit;
590}
591
592
593.pt-display-scroll .scroll-content {
594  max-height: 400px;
595  overflow-y: auto;
596  overflow-x: hidden;
597}
598
599
600
601.pt-display-nocheckbox i.check-icon {
602  display: none !important;
603}
604.pt-display-nocheckbox li a {
605  margin-left: 6px;
606}
607
608
609.pt-display-smallbox ul {
610  margin-left: 0px;
611  padding-left: 0px;
612}
613.pt-display-smallbox ul li {
614  display: inline-block;
615  margin-left: 0px !important;
616  margin-bottom: 10px;
617  margin-right: 5px;
618  background-color: #ffffff;
619  
620  border: 1px solid #00a5fd;
621  
622  border-radius: 3px;
623  
624  box-shadow: 0 1px 0 0 rgba(110, 110, 110, 0.5);
625  
626}
627.pt-display-smallbox ul li i.check-icon {
628  display: none;
629}
630.pt-display-smallbox ul li .collection-name {
631  min-width: 30px;
632  text-align: center;
633  padding: 0;
634  font-size: 16px;
635}
636.pt-display-smallbox ul li .collection-name a {
637  text-align: center;
638  display: block;
639  min-width: 46px;
640  padding: 4px 10px;
641  margin: 0;
642  text-indent: 0;
643}
644.pt-display-smallbox ul li.selected {
645  background-color: #00a5fd;
646}
647.pt-display-smallbox ul li.selected a {
648  color: #ffffff;
649}
650.pt-display-smallbox ul li:hover {
651  background-color: #00a5fd;
652}
653.pt-display-smallbox ul li:hover a {
654  color: #ffffff;
655}
656.pt-display-smallbox .collection-count {
657  display: none;
658}
659
660.pt-display-smallbox-full-width ul li {
661  width: 100%;
662}
663
664@media only screen and (min-width: 992px) {
665  .pt-display-twocolumn .collection-container {
666    width: 50%;
667    float: left;
668  }
669  .pt-display-twocolumn .collection-count {
670    display: none;
671  }
672  .pt-display-twocolumn ul {
673    overflow: auto;
674  }
675  .pt-display-twocolumn li a {
676    margin-right: 0;
677  }
678}
679
680.pt-display-swatch ul {
681  padding-left: 0px;
682  margin: 0;
683}
684.pt-display-swatch ul li {
685  
686  display: inline-block;
687  
688  margin-left: 0px !important;
689  padding-right: 4px;
690}
691.pt-display-swatch ul li .collection-name {
692  min-height: 18px;
693  
694  width: 22px;
695  min-height: 22px;
696  
697  margin-bottom: 8px;
698  margin-right: 3px;
699}
700.pt-display-swatch .collection-count {
701  display: none;
702}
703.pt-display-swatch li a,
704.pt-display-swatch li a:hover {
705  
706  color: transparent !important;
707  line-height: 0px;
708  margin-left: 3px;
709  
710  
711}
712.pt-display-swatch i.check-icon:before {
713  content: "\e808";
714  
715  height: 22px;
716  line-height: 22px;
717  width: 22px;
718  font-size: 20px;
719  
720}
721.pt-display-swatch a:hover i.check-icon:before {
722  content: "\e809";
723}
724.pt-display-swatch .selected i.check-icon:before {
725  content: "\e810";
726}
727.pt-display-swatch .selected a:hover i.check-icon:before {
728  content: "\e811";
729}.pt-display-swatch ul .filter-active-color-beige .collection-name .check-icon,
730.pt-display-swatch ul .filter-active-colour-beige .collection-name .check-icon,
731.pt-display-swatch ul .filter-active-beige .collection-name .check-icon {
732  color: #e4caab;
733}.pt-display-swatch ul .filter-active-color-black .collection-name .check-icon,
734.pt-display-swatch ul .filter-active-colour-black .collection-name .check-icon,
735.pt-display-swatch ul .filter-active-black .collection-name .check-icon {
736  color: #222;
737}.pt-display-swatch ul .filter-active-color-blue .collection-name .check-icon,
738.pt-display-swatch ul .filter-active-colour-blue .collection-name .check-icon,
739.pt-display-swatch ul .filter-active-blue .collection-name .check-icon {
740  color: #5566FF;
741}.pt-display-swatch ul .filter-active-color-brown .collection-name .check-icon,
742.pt-display-swatch ul .filter-active-colour-brown .collection-name .check-icon,
743.pt-display-swatch ul .filter-active-brown .collection-name .check-icon {
744  color: #7a4a38;
745}.pt-display-swatch ul .filter-active-color-camel .collection-name .check-icon,
746.pt-display-swatch ul .filter-active-colour-camel .collection-name .check-icon,
747.pt-display-swatch ul .filter-active-camel .collection-name .check-icon {
748  color: #c9802b;
749}.pt-display-swatch ul .filter-active-color-clear .collection-name .check-icon,
750.pt-display-swatch ul .filter-active-colour-clear .collection-name .check-icon,
751.pt-display-swatch ul .filter-active-clear .collection-name .check-icon {
752  color: #e6f5f5;
753}.pt-display-swatch ul .filter-active-color-gold .collection-name .check-icon,
754.pt-display-swatch ul .filter-active-colour-gold .collection-name .check-icon,
755.pt-display-swatch ul .filter-active-gold .collection-name .check-icon {
756  color: gold;
757}.pt-display-swatch ul .filter-active-color-green .collection-name .check-icon,
758.pt-display-swatch ul .filter-active-colour-green .collection-name .check-icon,
759.pt-display-swatch ul .filter-active-green .collection-name .check-icon {
760  color: #55DD99;
761}.pt-display-swatch ul .filter-active-color-gray .collection-name .check-icon,
762.pt-display-swatch ul .filter-active-colour-gray .collection-name .check-icon,
763.pt-display-swatch ul .filter-active-gray .collection-name .check-icon {
764  color: #999;
765}.pt-display-swatch ul .filter-active-color-grey .collection-name .check-icon,
766.pt-display-swatch ul .filter-active-colour-grey .collection-name .check-icon,
767.pt-display-swatch ul .filter-active-grey .collection-name .check-icon {
768  color: #999;
769}.pt-display-swatch ul .filter-active-color-leopard .collection-name .check-icon,
770.pt-display-swatch ul .filter-active-colour-leopard .collection-name .check-icon,
771.pt-display-swatch ul .filter-active-leopard .collection-name .check-icon {
772  color: #eb9e48;
773}.pt-display-swatch ul .filter-active-color-mint .collection-name .check-icon,
774.pt-display-swatch ul .filter-active-colour-mint .collection-name .check-icon,
775.pt-display-swatch ul .filter-active-mint .collection-name .check-icon {
776  color: #7bdea7;
777}.pt-display-swatch ul .filter-active-color-multi .collection-name .check-icon,
778.pt-display-swatch ul .filter-active-colour-multi .collection-name .check-icon,
779.pt-display-swatch ul .filter-active-multi .collection-name .check-icon {
780  color: #eb9e48;
781}.pt-display-swatch ul .filter-active-color-multi-color .collection-name .check-icon,
782.pt-display-swatch ul .filter-active-colour-multi-color .collection-name .check-icon,
783.pt-display-swatch ul .filter-active-multi-color .collection-name .check-icon {
784  color: #eb9e48;
785}.pt-display-swatch ul .filter-active-color-mustard .collection-name .check-icon,
786.pt-display-swatch ul .filter-active-colour-mustard .collection-name .check-icon,
787.pt-display-swatch ul .filter-active-mustard .collection-name .check-icon {
788  color: mustard;
789}.pt-display-swatch ul .filter-active-color-navy-blue .collection-name .check-icon,
790.pt-display-swatch ul .filter-active-colour-navy-blue .collection-name .check-icon,
791.pt-display-swatch ul .filter-active-navy-blue .collection-name .check-icon {
792  color: #000073;
793}.pt-display-swatch ul .filter-active-color-navy .collection-name .check-icon,
794.pt-display-swatch ul .filter-active-colour-navy .collection-name .check-icon,
795.pt-display-swatch ul .filter-active-navy .collection-name .check-icon {
796  color: #000073;
797}.pt-display-swatch ul .filter-active-color-nude .collection-name .check-icon,
798.pt-display-swatch ul .filter-active-colour-nude .collection-name .check-icon,
799.pt-display-swatch ul .filter-active-nude .collection-name .check-icon {
800  color: #f3e0c9;
801}.pt-display-swatch ul .filter-active-color-cream .collection-name .check-icon,
802.pt-display-swatch ul .filter-active-colour-cream .collection-name .check-icon,
803.pt-display-swatch ul .filter-active-cream .collection-name .check-icon {
804  color: #ffe9cf;
805}.pt-display-swatch ul .filter-active-color-orange .collection-name .check-icon,
806.pt-display-swatch ul .filter-active-colour-orange .collection-name .check-icon,
807.pt-display-swatch ul .filter-active-orange .collection-name .check-icon {
808  color: orange;
809}.pt-display-swatch ul .filter-active-color-pink .collection-name .check-icon,
810.pt-display-swatch ul .filter-active-colour-pink .collection-name .check-icon,
811.pt-display-swatch ul .filter-active-pink .collection-name .check-icon {
812  color: #f436a1;
813}.pt-display-swatch ul .filter-active-color-purple .collection-name .check-icon,
814.pt-display-swatch ul .filter-active-colour-purple .collection-name .check-icon,
815.pt-display-swatch ul .filter-active-purple .collection-name .check-icon {
816  color: purple;
817}.pt-display-swatch ul .filter-active-color-red .collection-name .check-icon,
818.pt-display-swatch ul .filter-active-colour-red .collection-name .check-icon,
819.pt-display-swatch ul .filter-active-red .collection-name .check-icon {
820  color: red;
821}.pt-display-swatch ul .filter-active-color-rose .collection-name .check-icon,
822.pt-display-swatch ul .filter-active-colour-rose .collection-name .check-icon,
823.pt-display-swatch ul .filter-active-rose .collection-name .check-icon {
824  color: #edd0d6;
825}.pt-display-swatch ul .filter-active-color-rust .collection-name .check-icon,
826.pt-display-swatch ul .filter-active-colour-rust .collection-name .check-icon,
827.pt-display-swatch ul .filter-active-rust .collection-name .check-icon {
828  color: #c34c1e;
829}.pt-display-swatch ul .filter-active-color-salmon .collection-name .check-icon,
830.pt-display-swatch ul .filter-active-colour-salmon .collection-name .check-icon,
831.pt-display-swatch ul .filter-active-salmon .collection-name .check-icon {
832  color: salmon;
833}.pt-display-swatch ul .filter-active-color-silver .collection-name .check-icon,
834.pt-display-swatch ul .filter-active-colour-silver .collection-name .check-icon,
835.pt-display-swatch ul .filter-active-silver .collection-name .check-icon {
836  color: silver;
837}.pt-display-swatch ul .filter-active-color-tan .collection-name .check-icon,
838.pt-display-swatch ul .filter-active-colour-tan .collection-name .check-icon,
839.pt-display-swatch ul .filter-active-tan .collection-name .check-icon {
840  color: tan;
841}.pt-display-swatch ul .filter-active-color-taupe .collection-name .check-icon,
842.pt-display-swatch ul .filter-active-colour-taupe .collection-name .check-icon,
843.pt-display-swatch ul .filter-active-taupe .collection-name .check-icon {
844  color: #b1a79b;
845}.pt-display-swatch ul .filter-active-color-white .collection-name .check-icon,
846.pt-display-swatch ul .filter-active-colour-white .collection-name .check-icon,
847.pt-display-swatch ul .filter-active-white .collection-name .check-icon {
848  color: #FFFFFF;
849}.pt-display-swatch ul .filter-active-color-wine .collection-name .check-icon,
850.pt-display-swatch ul .filter-active-colour-wine .collection-name .check-icon,
851.pt-display-swatch ul .filter-active-wine .collection-name .check-icon {
852  color: #a61a3b;
853}.pt-display-swatch ul .filter-active-color-yellow .collection-name .check-icon,
854.pt-display-swatch ul .filter-active-colour-yellow .collection-name .check-icon,
855.pt-display-swatch ul .filter-active-yellow .collection-name .check-icon {
856  color: yellow;
857}.pt-display-swatch ul .filter-active-color-coral .collection-name .check-icon,
858.pt-display-swatch ul .filter-active-colour-coral .collection-name .check-icon,
859.pt-display-swatch ul .filter-active-coral .collection-name .check-icon {
860  color: #FFD8CA;
861}.pt-display-swatch ul .filter-active-color-ecru .collection-name .check-icon,
862.pt-display-swatch ul .filter-active-colour-ecru .collection-name .check-icon,
863.pt-display-swatch ul .filter-active-ecru .collection-name .check-icon {
864  color: #F3EFE0;
865}.pt-display-swatch ul .filter-active-color-oatmeal .collection-name .check-icon,
866.pt-display-swatch ul .filter-active-colour-oatmeal .collection-name .check-icon,
867.pt-display-swatch ul .filter-active-oatmeal .collection-name .check-icon {
868  color: #E0DCC8;
869}.pt-display-swatch ul .filter-active-color-light-blue .collection-name .check-icon,
870.pt-display-swatch ul .filter-active-colour-light-blue .collection-name .check-icon,
871.pt-display-swatch ul .filter-active-light-blue .collection-name .check-icon {
872  color: #c5e3ed;
873}.pt-display-swatch ul .filter-active-color-cranberry .collection-name .check-icon,
874.pt-display-swatch ul .filter-active-colour-cranberry .collection-name .check-icon,
875.pt-display-swatch ul .filter-active-cranberry .collection-name .check-icon {
876  color: #9f000f;
877}.pt-display-swatch ul .filter-active-color-turquoise .collection-name .check-icon,
878.pt-display-swatch ul .filter-active-colour-turquoise .collection-name .check-icon,
879.pt-display-swatch ul .filter-active-turquoise .collection-name .check-icon {
880  color: #00c5cd;
881}.pt-display-swatch ul .filter-active-color-burgundy .collection-name .check-icon,
882.pt-display-swatch ul .filter-active-colour-burgundy .collection-name .check-icon,
883.pt-display-swatch ul .filter-active-burgundy .collection-name .check-icon {
884  color: #8c001a;
885}.pt-display-swatch ul .filter-active-color-golden .collection-name .check-icon,
886.pt-display-swatch ul .filter-active-colour-golden .collection-name .check-icon,
887.pt-display-swatch ul .filter-active-golden .collection-name .check-icon {
888  color: #ffd700;
889}.pt-display-swatch ul .filter-active-color-khaki .collection-name .check-icon,
890.pt-display-swatch ul .filter-active-colour-khaki .collection-name .check-icon,
891.pt-display-swatch ul .filter-active-khaki .collection-name .check-icon {
892  color: #f0e68c;
893}.pt-display-swatch ul .filter-active-color-heather-grey .collection-name .check-icon,
894.pt-display-swatch ul .filter-active-colour-heather-grey .collection-name .check-icon,
895.pt-display-swatch ul .filter-active-heather-grey .collection-name .check-icon {
896  color: #606060;
897}.pt-display-swatch ul .filter-active-color-heather-black .collection-name .check-icon,
898.pt-display-swatch ul .filter-active-colour-heather-black .collection-name .check-icon,
899.pt-display-swatch ul .filter-active-heather-black .collection-name .check-icon {
900  color: #303030;
901}.pt-display-swatch ul .filter-active-color-violet .collection-name .check-icon,
902.pt-display-swatch ul .filter-active-colour-violet .collection-name .check-icon,
903.pt-display-swatch ul .filter-active-violet .collection-name .check-icon {
904  color: #7F00FF;
905}.pt-display-swatch ul .filter-active-color-white .collection-name .check-icon,
906.pt-display-swatch ul .filter-active-colour-white .collection-name .check-icon,
907.pt-display-swatch ul .filter-active-white .collection-name .check-icon {
908  color: #FFFFFF;
909  text-shadow: -1px 0 #888, 0 1px #888, 1px 0 #888, 0 -1px #888;
910}
911
912.filter-menu .pt-mobile-header {
913  
914  display: none !important;
915  
916}
917
918
919
920.filter-group .scroll-content,
921.pt-expand .filter-group .scroll-content,
922.filter-menu .filter-group .filter-clear {
923  display: none;
924}
925
926.filter-menu .has_group_selected .scroll-content,
927.pt-expand .pt-group-expanded .scroll-content,
928.filter-menu .refine-header .filter-clear,
929.pt-group-expanded .scroll-content {
930  display: inherit;
931}
932
933.filter-menu .has_group_selected .filter-clear {
934  display: inline;
935}
936
937.filter-group h4 {
938  cursor: pointer;
939}
940
941.refine-header h4,
942.pt-display-dropdown h4 {
943  cursor: inherit;
944}
945
946.filter-group h4:after {
947  content: "\e836";
948  font-weight: 100;
949  margin-right: 13px;
950  font-size: 11px;
951  right: 0;
952  top: 0px;
953  position: absolute;
954  line-height: 22px;
955  color: #4d4d4d;
956}
957
958.filter-group + .filter-group h4:after {
959  top: 10px;
960}
961
962.pt-display-dropdown h4:after {
963  display: none;
964}
965
966.filter-group.pt-group-expanded h4:after {
967  content: "\e839";
968}
969
970.has_group_selected h4:after, .refine-header h4:after {
971  content: none;
972}
973
974
975.filter-menu .pt-display-dropdown {
976  position: relative;
977  margin: 0;
978}
979.filter-menu .pt-display-dropdown h4 {
980  min-width: 150px;
981  width: 100%;
982}
983@media only screen and (max-width: 400px) {
984  .filter-menu .pt-display-dropdown {
985    width: 100%;
986    max-width: 100%;
987  }
988}
989.filter-menu .pt-display-dropdown .menu-trigger {
990  color: #999999;
991  font-size: 16px;
992  
993  font-weight: 300;
994  border: solid 1px #CCC;
995  background-color: #FFF;
996  cursor: pointer;
997  padding: 0 32px 0 15px;
998  z-index: 10;
999  line-height: 30px;
1000  height: 32px;
1001  position: relative;
1002  overflow: hidden;
1003}
1004.filter-menu .pt-display-dropdown .menu-trigger:after {
1005  content: "\e836";
1006  position: absolute;
1007  right: 7px;
1008  top: 7px;
1009}
1010.filter-menu .pt-display-dropdown .collection-count {
1011  display: none;
1012}
1013.filter-menu .pt-display-dropdown .filter-clear {
1014  background-color: transparent;
1015  display: inline-block;
1016  vertical-align: text-top;
1017  text-indent: -9999px;
1018  text-decoration: none;
1019  margin-top: 0;
1020  margin-left: 5px;
1021  padding: 0;
1022  border-radius: 0;
1023  width: 20px;
1024  height: 20px;
1025}
1026.filter-menu .pt-display-dropdown .filter-clear:before {
1027  text-indent: 9999px;
1028  content: "\e847";
1029}
1030.filter-menu .pt-display-dropdown .scroll-content {
1031  display: none;
1032  left: 0;
1033  position: absolute;
1034  background: #F9F9F9;
1035  min-width: 198px;
1036  width: 198px;
1037  width: calc(100% - 20px);
1038  margin: 0;
1039  padding: 5px 10px;
1040  z-index: 100;
1041  border: solid 1px #CCC;
1042  list-style: none;
1043  top: 65px;
1044  z-index: 11;
1045  text-align: left;
1046}
1047.filter-menu .pt-display-dropdown li {
1048  margin: 0;
1049  padding: 4px 0 4px 0;
1050  list-style: none;
1051}
1052.filter-menu .pt-display-dropdown li a {
1053  margin-right: 0;
1054  width: 100%;
1055}
1056.filter-menu .pt-display-dropdown li:hover {
1057  background: #D6D6D6;
1058}
1059.filter-menu .pt-display-dropdown li:hover a {
1060  color: #000;
1061}
1062
1063.pt-display-nested h4 {
1064  display: none;
1065}
1066.pt-display-nested ul {
1067  margin-left: 20px;
1068}
1069.pt-display-nested a.filter-clear {
1070  display: none;
1071}
1072
1073@-webkit-keyframes bg-color {
1074  0% {
1075    background-color: #0084ff;
1076  }
1077  50% {
1078    background-color: #0670cf;
1079  }
1080  100% {
1081    background-color: #0084ff;
1082  }
1083}
1084@keyframes bg-color {
1085  0% {
1086    background-color: #0084ff;
1087  }
1088  50% {
1089    background-color: #0670cf;
1090  }
1091  100% {
1092    background-color: #0084ff;
1093  }
1094}
1095.pt-apply {
1096  -webkit-border-radius: 28;
1097  -moz-border-radius: 28;
1098  border-radius: 28px;
1099  color: #ffffff;
1100  font-size: 18px;
1101  background-color: #0084ff;
1102  text-decoration: none;
1103  margin-top: 20px;
1104  margin-left: 0;
1105  width: 100%;
1106  font-weight: bold;
1107  animation: bg-color 3s infinite;
1108  -webkit-animation: bg-color 3s infinite;
1109}
1110.pt-apply:hover {
1111  background-color: #0670cf;
1112  text-decoration: none;
1113  animation: none;
1114  -webkit-animation: none;
1115}
1116
1117.pt-apply-disabled, .pt-apply-disabled:hover {
1118  background-color: #cccccc;
1119  animation: none;
1120  -webkit-animation: none;
1121}</style>
1122
1123<script>
1124function deferFilterjQuery() {
1125    if (window.jQuery) {
1126        $(function(){
1127          // On load/reload
1128          var pt_on_load = function() {
1129            // Accordion
1130            
1131              
1132              $('.filter-menu .filter-group').not('.has_group_selected, .refine-header, .refine-header, .pt-display-dropdown').first().toggleClass('pt-group-expanded');
1133              
1134          	
1135
1136          	// Search
1137            $('.pt-display-search').not('.has_group_selected').find('input.fm-search-box').show();
1138
1139          	// Drop downs
1140            $('.pt-display-dropdown').each(function( index ) {
1141                $(this).find('h4').after($(this).find('.filter-clear'));
1142            });
1143
1144            $('.pt-display-dropdown .scroll-content').each(function( index ) {
1145                if($(this).find('li.selected').length) {
1146                    var selected = $.map(
1147                        $(this).find('li.selected a'),
1148                            function(element){
1149                                return $(element).text();
1150                            }
1151                      ).join(", ");
1152
1153                  if (selected.length < 30) {
1154                    $(this).before('<div class="menu-trigger">' + selected +'</div>');
1155                  } else {
1156                     $(this).before('<div class="menu-trigger">' + $(this).find('li.selected').length + ' Selected </div>');
1157                  }
1158                }
1159                else {
1160                    $(this).before('<div class="menu-trigger">'+ $(this).closest('.filter-group').find('h4').text() +'</div>');
1161                }
1162            });
1163
1164          	// View more
1165            
1166          }
1167
1168          pt_on_load();
1169
1170          // Mobile filter button
1171          
1172
1173          // Accordion
1174          
1175          $(document).on('click', '.filter-menu h4', function(e){
1176            $(this).closest('.filter-group').not('.has_group_selected, .refine-header, .pt-display-dropdown').toggleClass('pt-group-expanded');
1177            e.preventDefault();
1178          });
1179          
1180
1181          // Search
1182          $(document).on('keyup', '.filter-group input.fm-search-box', function () {
1183            var value = this.value.toLowerCase();
1184            $(this).closest('.filter-group').find('li').each(function () {
1185              if ($(this).text().toLowerCase().search(value) > -1) {
1186                $(this).show(100);
1187              } else {
1188                $(this).hide(100);
1189              }
1190            });
1191          });
1192
1193          // Drop downs
1194          $(document).on('click','.pt-display-dropdown .menu-trigger',function() {
1195            $(this).next('.scroll-content').css('top', $(this).position().top + $(this).height() + 1).css('left', $(this).position().left);
1196            $(this).next('.scroll-content').slideToggle('fast');
1197          });
1198
1199          $(document).on('mouseleave', '.pt-display-dropdown .scroll-content', function() {
1200            $(this).slideUp('fast');
1201          });
1202
1203          // Apply button
1204          
1205
1206          // Ajax
1207          
1208      });
1209    }
1210    else {
1211        setTimeout(function() { deferFilterjQuery() }, 50);
1212    }
1213}
1214
1215deferFilterjQuery();
1216</script>
1216
1217
1218
1219
1220
1221
1222
1223</div>
1224<!-- BEGIN app block: shopify://apps/persistent-cart/blocks/script_js/4ce05194-341e-4641-aaf4-5a8dad5444cb -->
1224<script>
1225  window.cffPCLiquidPlaced = true;
1226</script>
1226
1227
1228
1229
1230
1231
1232
1233
1234  
1235  
1236  
1236<script defer src="https://cdn.shopify.com/extensions/01a0fdb8-f623-707d-8d30-cc8c866a1ae4/cart-persistify-151/assets/cffPC.production.min.js" onerror="this.onerror=null;this.remove();var s=document.createElement('script');s.defer=true;s.src='https://customer-first-focus.b-cdn.net/cffPC.production.min.js';document.head.appendChild(s);"></script>
1236
1237
1238
1239
1240
1241<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1242<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 6980337,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1242
1242
1243<script>
1244  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1245</script>
vendor: 1 bytes, line 1245
1245
1246<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1246).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 6980337,storefrontBaseUrl: "https://www.merchantoftennis.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.merchantoftennis.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2462220651","configuration":"{\"shopId\":\"6980337\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"83adcaf06c5deacff41ffdf8f92d9129","type":"APP","apiClientId":246667608065,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2153087339","configuration":"{\"mailchimp_store_id\":\"store_2kjcwdcvgaf94biurgxd\", \"mailchimp_user_id\":\"6456994\",\"mailchimp_list_id\":\"c7733f417e\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
1246,{"id":"1224737131","configuration":"{\"ti\":\"259122503\",\"endpoint\":\"https:\/\/bat.bing.com\/action\/0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5ee93563fe31b11d2d65e2f09a5229dc","type":"APP","apiClientId":2997493,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1175257451","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-52GRXPSS69\\\"],\\\"target_country\\\":\\\"CA\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-52GRXPSS69\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"999784811","configuration":"{\"accountID\":\"facebook-web-pixel-live\",\"shop\":\"merchantoftennis.myshopify.com\",\"pixels\":\"1858826367698866_1_0-866829820104491_1_0\",\"collections\":\"-\",\"products\":\"-\",\"productTypes\":\"-\",\"productTags\":\"-\",\"isNewVersion\":\"true\",\"omegaFacebookData\":\"{\\\"listPixel\\\":[{\\\"id\\\":105786,\\\"pixel_id\\\":\\\"1858826367698866\\\",\\\"shop\\\":\\\"merchantoftennis.myshopify.com\\\",\\\"goal\\\":\\\"increase_sales\\\",\\\"title\\\":\\\"MOT Internal Pixel\\\",\\\"status\\\":1,\\\"isMaster\\\":1,\\\"is_conversion_api\\\":1,\\\"test_event_code\\\":\\\"\\\",\\\"status_synced\\\":0,\\\"first_capi_enabled_at\\\":\\\"2023-06-21 06:25:56\\\",\\\"created_at\\\":\\\"2023-06-21 06:25:56\\\",\\\"updated_at\\\":null,\\\"market_id\\\":null},{\\\"id\\\":105782,\\\"pixel_id\\\":\\\"866829820104491\\\",\\\"shop\\\":\\\"merchantoftennis.myshopify.com\\\",\\\"goal\\\":\\\"increase_sales\\\",\\\"title\\\":\\\"MOT Pixel\\\",\\\"status\\\":1,\\\"isMaster\\\":1,\\\"is_conversion_api\\\":1,\\\"test_event_code\\\":\\\"\\\",\\\"status_synced\\\":0,\\\"first_capi_enabled_at\\\":\\\"2023-06-21 05:31:19\\\",\\\"created_at\\\":\\\"2023-06-21 05:31:19\\\",\\\"updated_at\\\":null,\\\"market_id\\\":null}]}\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"20822cba85d45435de244dc62da8e1dc","type":"APP","apiClientId":3325251,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"18677850","configuration":"{\"apiKey\":\"2t2F0F9C7Z\",\"host\":\"searchserverapi1.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5559ea45e47b67d15b30b79e7c6719da","type":"APP","apiClientId":578825,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
1246,"dataSharingState":"unrestricted"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Merchant of Tennis","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"merchantoftennis.myshopify.com","countryCode":"CA","storefrontUrl":"https:\/\/www.merchantoftennis.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707206820203","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119071","title":"8","untranslatedTitle":"8"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707206852971","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119072","title":"8.5","untranslatedTitle":"8.5"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707206885739","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119073","title":"9","untranslatedTitle":"9"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707206918507","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119074","title":"9.5","untranslatedTitle":"9.5"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707206951275","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119075","title":"10","untranslatedTitle":"10"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707206984043","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119076","title":"10.5","untranslatedTitle":"10.5"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707207016811","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119077","title":"11","untranslatedTitle":"11"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707207049579","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119078","title":"11.5","untranslatedTitle":"11.5"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707207082347","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119079","title":"12","untranslatedTitle":"12"},{"price":{"amount":199.99,"currencyCode":"CAD"},"product":{"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","vendor":"On","id":"15196697756011","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","type":"Shoe"},"id":"53707207115115","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"sku":"119080","title":"13","untranslatedTitle":"13"}
1246],"products":[{"id":"15196697756011","handle":"on-mens-the-roger-clubhouse-pro-2-wash-brook","isCollective":null,"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","type":"Shoe","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook","vendor":"On","remoteShopId":null,"variants":[{"id":"53707206820203","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119071","title":"8","untranslatedTitle":"8"},{"id":"53707206852971","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119072","title":"8.5","untranslatedTitle":"8.5"},{"id":"53707206885739","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119073","title":"9","untranslatedTitle":"9"},{"id":"53707206918507","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119074","title":"9.5","untranslatedTitle":"9.5"},{"id":"53707206951275","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119075","title":"10","untranslatedTitle":"10"},{"id":"53707206984043","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119076","title":"10.5","untranslatedTitle":"10.5"},{"id":"53707207016811","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119077","title":"11","untranslatedTitle":"11"},{"id":"53707207049579","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119078","title":"11.5","untranslatedTitle":"11.5"},{"id":"53707207082347","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119079","title":"12","untranslatedTitle":"12"},{"id":"53707207115115","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119080","title":"13","untranslatedTitle":"13"}]},{"id":"15213628031339","handle":"yonex-ezone-espresso-coffee-cup","isCollective":null,"title":"Yonex EZONE Espresso Coffee Cup","type":"Mug","untranslatedTitle":"Yonex EZONE Espresso Coffee Cup","url":"\/products\/yonex-ezone-espresso-coffee-cup","vendor":"Yonex","remoteShopId":null,"variants":[{"id":"53742653079915","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/Yonex_Ezone_Espresso_Mailer_26_Mug_a.jpg?v=1787175057"},"price":{"amount":0.0,"currencyCode":"CAD"},"sku":"119227","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"15220692844907","handle":"tecnifibre-tour-endurance-mini-bag-navy","isCollective":null,"title":"Tecnifibre Tour Endurance Mini Bag - Navy","type":"Bag","untranslatedTitle":"Tecnifibre Tour Endurance Mini Bag - Navy","url":"\/products\/tecnifibre-tour-endurance-mini-bag-navy","vendor":"Tecnifibre","remoteShopId":null,"variants":[{"id":"53767433978219","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/40TOUNAVMI_mini_bag_navy.jpg?v=1787758129"},"price":{"amount":0.0,"currencyCode":"CAD"},"sku":"119247","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"15220694810987","handle":"tecnifibre-t-fight-tee-white","isCollective":null,"title":"Tecnifibre T-Fight Tee - White","type":"Tee","untranslatedTitle":"Tecnifibre T-Fight Tee - White","url":"\/products\/tecnifibre-t-fight-tee-white","vendor":"Tecnifibre","remoteShopId":null,"variants":[{"id":"53767471071595","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/25TFISS253_tee_white.jpg?v=1787757872"},"price":{"amount":0.0,"currencyCode":"CAD"}
1246,"sku":"119249","title":"Medium","untranslatedTitle":"Medium"}]},{"id":"15220694974827","handle":"tecnifibre-fire-tee-black","isCollective":null,"title":"Tecnifibre Fire Tee - Black","type":"Tee","untranslatedTitle":"Tecnifibre Fire Tee - Black","url":"\/products\/tecnifibre-fire-tee-black","vendor":"Tecnifibre","remoteShopId":null,"variants":[{"id":"53767473987947","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/25TSFIRE63_tee_grey.jpg?v=1787758023"},"price":{"amount":0.0,"currencyCode":"CAD"},"sku":"119253","title":"Medium","untranslatedTitle":"Medium"}]},{"id":"15219964772715","handle":"dunlop-750ml-water-bottle-black-yellow","isCollective":null,"title":"Dunlop 750ML Water Bottle - Black\/Yellow","type":"Waterbottle","untranslatedTitle":"Dunlop 750ML Water Bottle - Black\/Yellow","url":"\/products\/dunlop-750ml-water-bottle-black-yellow","vendor":"Dunlop","remoteShopId":null,"variants":[{"id":"53761781563755","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/Dunlop_water_bottle_GWP_26.jpg?v=1787936154"},"price":{"amount":0.0,"currencyCode":"CAD"},"sku":"119246","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"15252204781931","handle":"lacoste-thermal-cup","isCollective":null,"title":"Lacoste Thermal Cup","type":"Cup","untranslatedTitle":"Lacoste Thermal Cup","url":"\/products\/lacoste-thermal-cup","vendor":"Lacoste","remoteShopId":null,"variants":[{"id":"53896615199083","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/GDZ060-00_a.jpg?v=1790112934"},"price":{"amount":0.0,"currencyCode":"CAD"},"sku":"119959","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"15252204749163","handle":"lacoste-glass-water-bottle-holder","isCollective":null,"title":"Lacoste Glass Water Bottle \u0026 Holder","type":"Waterbottle","untranslatedTitle":"Lacoste Glass Water Bottle \u0026 Holder","url":"\/products\/lacoste-glass-water-bottle-holder","vendor":"Lacoste","remoteShopId":null,"variants":[{"id":"53896615166315","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/CRM029_a.jpg?v=1790112876"},"price":{"amount":0.0,"currencyCode":"CAD"},"sku":"119958","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"1574868222042","handle":"gift-wrapping-service-fee-s","isCollective":null,"title":"Gift Wrapping Service Fee - S","type":"Gift Wrapping Fee","untranslatedTitle":"Gift Wrapping Service Fee - S","url":"\/products\/gift-wrapping-service-fee-s","vendor":"Merchant Of Tennis","remoteShopId":null,"variants":[{"id":"15435180212314","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/s53463.jpg?v=1737480411"},"price":{"amount":10.0,"currencyCode":"CAD"},"sku":"53463","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"6651243364442","handle":"gift-wrapping-service-fee-l","isCollective":null,"title":"Gift Wrapping Service Fee - L","type":"Gift Wrapping Fee","untranslatedTitle":"Gift Wrapping Service Fee - L","url":"\/products\/gift-wrapping-service-fee-l","vendor":"Merchant Of Tennis","remoteShopId":null,"variants":[{"id":"39600617095258","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/s74352.jpg?v=1737480966"},"price":{"amount":20.0,"currencyCode":"CAD"},"sku":"74352","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"6651243331674","handle":"gift-wrapping-service-fee-m","isCollective":null,"title":"Gift Wrapping Service Fee - M","type":"Gift Wrapping Fee","untranslatedTitle":"Gift Wrapping Service Fee - M","url":"\/products\/gift-wrapping-service-fee-m","vendor":"Merchant Of Tennis","remoteShopId":null,"variants":[{"id":"39600617062490","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/s74351.jpg?v=1737480964"},"price":{"amount":15.0,"currencyCode":"CAD"},"sku":"74351","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"7285140095066","handle":"on-mens-the-roger-clubhouse-pro-white-ice","isCollective":null,"title":"On Men's THE ROGER Clubhouse Pro - White\/Ice","type":"Shoe","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro - White\/Ice","url":"\/products\/on-mens-the-roger-clubhouse-pro-white-ice","vendor":"On","remoteShopId":null,"variants":[{"id":"41380029988954","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/s97652.jpg?v=1724265660"},"price":{"amount":149.99,"currencyCode":"CAD"},"sku":"97655","title":"9","untranslatedTitle":"9"}]},{"id":"7285139734618","handle":"on-womens-the-roger-clubhouse-pro-white-ice","isCollective":null,"title":"On Women's THE ROGER Clubhouse Pro - White\/Ice","type":"Shoe","untranslatedTitle":"On Women's THE ROGER Clubhouse Pro - White\/Ice","url":"\/products\/on-womens-the-roger-clubhouse-pro-white-ice","vendor":"On","remoteShopId":null,"variants":[{"id":"41380028743770","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/s97620.jpg?v=1724265643"},"price":{"amount":149.99,"currencyCode":"CAD"},"sku":"97628","title":"9.5","untranslatedTitle":"9.5"}]}
1246,{"id":"15215390916971","handle":"on-womens-the-roger-clubhouse-pro-white-ivory","isCollective":null,"title":"On Women's THE ROGER Clubhouse Pro - White\/Ivory","type":"Shoe","untranslatedTitle":"On Women's THE ROGER Clubhouse Pro - White\/Ivory","url":"\/products\/on-womens-the-roger-clubhouse-pro-white-ivory","vendor":"On","remoteShopId":null,"variants":[{"id":"53746973278571","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3WD30050924_stock1a.jpg?v=1787339690"},"price":{"amount":149.99,"currencyCode":"CAD"},"sku":"117125","title":"6","untranslatedTitle":"6"}]},{"id":"15196697067883","handle":"on-mens-the-roger-clubhouse-pro-2-white-ivory","isCollective":null,"title":"On Men's THE ROGER Clubhouse Pro 2 - White\/Ivory","type":"Shoe","untranslatedTitle":"On Men's THE ROGER Clubhouse Pro 2 - White\/Ivory","url":"\/products\/on-mens-the-roger-clubhouse-pro-2-white-ivory","vendor":"On","remoteShopId":null,"variants":[{"id":"53707205837163","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30070924_stock1a.jpg?v=1786475147"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119060","title":"8","untranslatedTitle":"8"}]},{"id":"15196775612779","handle":"on-womens-the-roger-clubhouse-pro-2-white-ivory","isCollective":null,"title":"On Women's THE ROGER Clubhouse Pro 2 - White\/Ivory","type":"Shoe","untranslatedTitle":"On Women's THE ROGER Clubhouse Pro 2 - White\/Ivory","url":"\/products\/on-womens-the-roger-clubhouse-pro-2-white-ivory","vendor":"On","remoteShopId":null,"variants":[{"id":"53707326914923","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3WG30050924_stock1a.jpg?v=1786479570"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119082","title":"6","untranslatedTitle":"6"}]},{"id":"15196776956267","handle":"on-womens-the-roger-clubhouse-pro-2-flurry-brook","isCollective":null,"title":"On Women's THE ROGER Clubhouse Pro 2 - Flurry\/Brook","type":"Shoe","untranslatedTitle":"On Women's THE ROGER Clubhouse Pro 2 - Flurry\/Brook","url":"\/products\/on-womens-the-roger-clubhouse-pro-2-flurry-brook","vendor":"On","remoteShopId":null,"variants":[{"id":"53707328520555","image":{"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3WG30055205_stock1a.jpg?v=1786474846"},"price":{"amount":199.99,"currencyCode":"CAD"},"sku":"119092","title":"6","untranslatedTitle":"6"}]}],"purchasingCompany":null},},"https://www.merchantoftennis.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"191130993003","themePublished":"true","eventMetadataId":"38cb29ab-a603-4efd-a805-a03affcde469","pageType":"product","resourceId":"15196697756011","shopId":"6980337","storefrontBaseUrl":"https:\/\/www.merchantoftennis.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":199.99,\"currencyCode\":\"CAD\"},\"product\":{\"title\":\"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook\",\"vendor\":\"On\",\"id\":\"15196697756011\",\"untranslatedTitle\":\"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook\",\"url\":\"\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook\",\"type\":\"Shoe\"},\"id\":\"53707206820203\",\"image\":{\"src\":\"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\"},\"sku\":\"119071\",\"title\":\"8\",\"untranslatedTitle\":\"8\"}}]]"});})();</script>
1246<script>
1247  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1248  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1249  window.ShopifyAnalytics.meta.currency = 'CAD';
1250  var meta = {"product":{"id":15196697756011,"gid":"gid:\/\/shopify\/Product\/15196697756011","vendor":"On","type":"Shoe","handle":"on-mens-the-roger-clubhouse-pro-2-wash-brook","variants":[{"id":53707206820203,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8","public_title":"8","sku":"119071"},{"id":53707206852971,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8.5","public_title":"8.5","sku":"119072"},{"id":53707206885739,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9","public_title":"9","sku":"119073"},{"id":53707206918507,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9.5","public_title":"9.5","sku":"119074"},{"id":53707206951275,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10","public_title":"10","sku":"119075"},{"id":53707206984043,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10.5","public_title":"10.5","sku":"119076"},{"id":53707207016811,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11","public_title":"11","sku":"119077"},{"id":53707207049579,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11.5","public_title":"11.5","sku":"119078"},{"id":53707207082347,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 12","public_title":"12","sku":"119079"},{"id":53707207115115,"price":19999,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 13","public_title":"13","sku":"119080"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":15196697756011,"requestId":"44dd189f-9166-49ac-9610-94c82a2bd47c-1791179480"}};
1251  for (var attr in meta) {
1252    window.ShopifyAnalytics.meta[attr] = meta[attr];
1253  }
1254</script>
vendor: 1 bytes, line 1254
1254
1255<script class="analytics">
1256  (function () {
1257    var customDocumentWrite = function(content) {
1258      var jquery = null;
1259
1260      if (window.jQuery) {
1261        jquery = window.jQuery;
1262      } else if (window.Checkout && window.Checkout.$) {
1263        jquery = window.Checkout.$;
1264      }
1265
1266      if (jquery) {
1267        jquery('body').append(content);
1268      }
1269    };
1270
1271    var hasLoggedConversion = function(token) {
1272      if (token) {
1273        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1274      }
1275      return false;
1276    }
1277
1278    var setCookieIfConversion = function(token) {
1279      if (token) {
1280        var twoMonthsFromNow = new Date(Date.now());
1281        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1282
1283        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1284      }
1285    }
1286
1287    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1288    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1289    if (trekkie.integrations) {
1290      return;
1291    }
1292    trekkie.methods = [
1293      'identify',
1294      'page',
1295      'ready',
1296      'track',
1297      'trackForm',
1298      'trackLink'
1299    ];
1300    trekkie.factory = function(method) {
1301      return function() {
1302        var args = Array.prototype.slice.call(arguments);
1303        args.unshift(method);
1304        trekkie.push(args);
1305        if (method == 'track' || method == 'page') {
1306          var pageUrl;
1307          try {
1308            pageUrl = window.location.href;
1309          } catch (e) {}
1310          var pageReferrer;
1311          try {
1312            pageReferrer = document.referrer;
1313          } catch (e) {}
1314          try {
1315            if (window.__TREKKIE_SHIM_QUEUE == null) {
1316              window.__TREKKIE_SHIM_QUEUE = [];
1317            }
1318            window.__TREKKIE_SHIM_QUEUE.push({
1319              from: 'trekkie-stub',
1320              method: method,
1321              args: args.slice(1),
1322              pageContext: {
1323                url: pageUrl,
1324                referrer: pageReferrer
1325              }
1326            });
1327          } catch (e) {
1328            // no-op
1329          }
1330        }
1331        return trekkie;
1332      };
1333    };
1334    for (var i = 0; i < trekkie.methods.length; i++) {
1335      var key = trekkie.methods[i];
1336      trekkie[key] = trekkie.factory(key);
1337    }
1338    trekkie.load = function(config) {
1339      trekkie.config = config || {};
1340      trekkie.config.initialDocumentCookie = document.cookie;
1341      var first = document.getElementsByTagName('script')[0];
1342var script = document.createElement('script');
1343script.type = 'text/javascript';
1344script.onerror = function(e) {
1345  var scriptFallback = document.createElement('script');
1346  scriptFallback.type = 'text/javascript';
1347  scriptFallback.onerror = function(error) {
1348          var Monorail = {
1349      produce: function produce(monorailDomain, schemaId, payload) {
1350        var currentMs = new Date().getTime();
1351        var event = {
1352          schema_id: schemaId,
1353          payload: payload,
1354          metadata: {
1355            event_created_at_ms: currentMs,
1356            event_sent_at_ms: currentMs
1357          }
1358        };
1359        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1360      },
1361      sendRequest: function sendRequest(endpointUrl, payload) {
1362        // Try the sendBeacon API
1363        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1364          var blobData = new window.Blob([payload], {
1365            type: 'text/plain'
1366          });
1367
1368          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1369            return true;
1370          } // sendBeacon was not successful
1371
1372        } // XHR beacon
1373
1374        var xhr = new XMLHttpRequest();
1375
1376        try {
1377          xhr.open('POST', endpointUrl);
1378          xhr.setRequestHeader('Content-Type', 'text/plain');
1379          xhr.send(payload);
1380        } catch (e) {
1381          console.log(e);
1382        }
1383
1384        return false;
1385      },
1386      isIos12: function isIos12() {
1387        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1388      }
1389    };
1390    Monorail.produce('monorail-edge.shopifysvc.com',
1391      'trekkie_storefront_load_errors/1.1',
1392      {shop_id: 6980337,
1393      theme_id: 191130993003,
1394      app_name: "storefront",
1395      context_url: window.location.href,
1396      source_url: "//www.merchantoftennis.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1397
1398  };
1399  scriptFallback.async = true;
1400  scriptFallback.src = '//www.merchantoftennis.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1401  first.parentNode.insertBefore(scriptFallback, first);
1402};
1403script.async = true;
1404script.src = '//www.merchantoftennis.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1405first.parentNode.insertBefore(script, first);
1406
1407    };
1408    trekkie.load(
1409      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":6980337,"isMerchantRequest":null,"themeId":191130993003,"themeCityHash":"6449979493872167545","contentLanguage":"en","currency":"CAD","eventMetadataId":"38cb29ab-a603-4efd-a805-a03affcde469"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1410    );
1411
1412    var loaded = false;
1413    trekkie.ready(function() {
1414      if (loaded) return;
1415      loaded = true;
1416
1417      window.ShopifyAnalytics.lib = window.trekkie;
1418
1419      var originalDocumentWrite = document.write;
1420      document.write = customDocumentWrite;
1421      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1422      document.write = originalDocumentWrite;
1423
1424      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1425      var token = match? match[1]: undefined;
1426      if (!hasLoggedConversion(token)) {
1427        setCookieIfConversion(token);
1428        window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"CAD","variantId":53707206820203,"productId":15196697756011,"productGid":"gid:\/\/shopify\/Product\/15196697756011","name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8","price":"199.99","sku":"119071","brand":"On","variant":"8","category":"Shoe","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true});
1429      }
1430    });
1431
1432    window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":15196697756011,"requestId":"44dd189f-9166-49ac-9610-94c82a2bd47c-1791179480","shopifyEmitted":true});
1433
1434    var eventsListenerScript = document.createElement('script');
1435    eventsListenerScript.async = true;
1436    eventsListenerScript.src = "//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1437    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1438})();</script>
vendor: 1 bytes, line 1438
1438
1439<script
1440  defer
1441  src="https://www.merchantoftennis.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1442  data-application="storefront-renderer"
1443  data-shop-id="6980337"
1444  data-render-region="gcp-us-central1"
1445  data-page-type="product"
1446  data-theme-instance-id="191130993003"
1447  data-theme-name=""
1448  data-theme-version=""
1449  data-monorail-region="shop_domain"
1450  data-resource-timing-sampling-rate="10"
1451  data-shs="true"
1452  data-shs-beacon="true"
1453  data-shs-export-with-fetch="true"
1454  data-shs-logs-sample-rate="1"
1455  data-shs-beacon-endpoint="https://www.merchantoftennis.com/api/collect"
1456></script>
1456
1457<meta name="shopify-y" content="ab226895-5e9b-428f-8590-59ed2748c9a6" data-expiration="1822737080000"><meta name="shopify-s" content="a91e3623-2317-4c22-a75a-ce3739c35c60" data-expiration="1791181280000"><meta name="new-cookie-storage-activated" content="t">
1458</head>
1459
1460<body class="template-product">
1461  
1461<script>try { document.documentElement.classList.add('js'); } catch (e) {}</script>
1461
1462  <!-- Begin header -->
1463  
1464    
1465
1466                <div id="header" class="mm-fixed-top" style="position:fixed;">
1467                      <div class="top-header gradient">
1468                          <div class="container vcenter clearfix">
1469                              <a class="navBtn hideDesk" href="#mainNav16">
1470                                  <span></span>
1471                              </a>
1472                              <div class="logo">
1473                                      
1474                                        <a href="/"><img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/motlogo24_500.png?v=78398524926928458171787005529" alt="Merchant of Tennis" decoding="async" /></a>
1475                                      
1476                              </div>
1477                              
1478                                <span class="new-tag-line nbo"><a href="/collections/nbo-toronto"><img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/nbo_header_24.png?v=171353795805018669991787005527" title="Official Retailer of the National Bank Open Toronto" alt="Official Retailer of the National Bank Open Toronto" decoding="async" /></a></span>
1479                                <span class="new-tag-line canada"><a href="/pages/about-us"><img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/MOT_Logo_proudly_canadian_BALL_2025_icon100.png?v=120599441814736727431787005527" title="Proudly Canadian" alt="Proudly Canadian" decoding="async"/></a></span>
1480                                
1481                                
1482                              
1483                              <div class="headSideLink">
1484                                  <!-- search -->
1485                                  <div class="searchCont">
1486                                      <span class="srchBtn">
1487                                          <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
1488                                               viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
1489                                          <path id="magnifier-icon" d="M506.2,441.7L371,306.4c19.8-31.2,31.2-68.1,31.2-107.7c0-111.1-90.4-201.5-201.5-201.5
1490                                              C89.6-2.8-0.8,87.6-0.8,198.8s90.4,201.5,201.5,201.5c37.6,0,72.8-10.4,103-28.4l136.1,136.1L506.2,441.7z M74.3,198.8
1491                                              c0-69.7,56.7-126.4,126.4-126.4c69.7,0,126.4,56.7,126.4,126.4s-56.7,126.4-126.4,126.4C131,325.2,74.3,268.5,74.3,198.8z"/>
1492                                          </svg>
1493                                      </span>
1494                                      
1495                                    <form id="search_form" class="search" action="/pages/search-results-page">
1496                                      <input type="text" placeholder="Search" name="q" class="search_box" placeholder="Search" autocomplete="off" value=""  />
1497              						<input type="submit" src="//www.merchantoftennis.com/cdn/shop/t/653/assets/icon-search.png?v=147282780354405803171787005529" alt="Go" id="go" value="" />
1498                                    </form>
1499                                  </div>
1500                                  <!-- end of search -->                                  
1501                                  <!-- help -->
1502                                  
1503                                      <div class="help-btn">
1504                                          <a href="/pages/customer-service">
1505                                              <img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/question-mark-icon.png?v=11912464705437888281787005529" alt="Help or contact us">
1506                                          </a>
1507                                      </div>
1508                                  
1509                                  <!-- end of help -->
1510                                  <!-- login -->
1511                                  
1512                                      <div class="login">
1513                                          
1514    
1515    <a href="https://www.merchantoftennis.com/customer_authentication/redirect?locale=en&amp;region_country=US" id="customer_login_link"></a>
1516    
1517
1518                                      </div>
1519                                  
1520                                  <!-- end of login -->
1521                                  <!-- cart -->
1522                                  
1523                                      <div id="cart-target" >
1524                                          <a href="/cart" class="cart" title="Shopping Cart">
1525                                              <span class="icon-cart"></span>
1526                                              <span id="cart-count">0</span>
1527                                          </a>
1528                                      </div>
1529                                  
1530                                  <!-- end of cart -->
1531                              </div>
1532                           </div>
1533                      </div>
1534                      <!-- main Nav -->
1535                      <div id="mainNav16" class="gradient">
1536                          <div class="container">
1537                              
1538
1539<ul class="navtopul"><li class="title no-js has-children racquets"><span>Racquets</span><ul class="toggle"><li class="has-children togglesecondary"><a href="/collections/adult-racquets"><span>Adult Tennis Racquets</span></a><ul class="bfade bfade-split"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/adult-racquets/babolat"><span>Babolat</span></a></li><li><a href="/collections/adult-racquets/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/adult-racquets/head"><span>Head</span></a></li><li><a href="/collections/adult-racquets/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/adult-racquets/wilson"><span>Wilson</span></a></li><li><a href="/collections/adult-racquets/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/adult-racquets"><span>Sale</span></a></li></ul></li><li class="bfade-pane bfade-pane--extras"><span class="btitle">Refine by feature</span><ul class="bfade-extras-list mm-nopanel"><li><a href="/collections/adult-racquets/pre-strung"><span>Pre-strung</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/junior-racquets"><span>Junior Tennis Racquets</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/junior-racquets/babolat"><span>Babolat</span></a></li><li><a href="/collections/junior-racquets/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/junior-racquets/head"><span>Head</span></a></li><li><a href="/collections/junior-racquets/wilson"><span>Wilson</span></a></li><li><a href="/collections/junior-racquets/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/junior-racquets"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/squash-racquets"><span>Squash Racquets</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/squash-racquets/black-knight"><span>Black Knight</span></a></li><li><a href="/collections/squash-racquets/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/squash-racquets/head"><span>Head</span></a></li><li><a href="/collections/squash-racquets/tecnifibre"><span>Tecnifibre</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/squash-racquets"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/pickleball-paddles"><span>Pickleball Paddles</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/pickleball-paddles/head"><span>Head</span></a></li><li><a href="/collections/pickleball-paddles/joola"><span>Joola</span></a></li><li><a href="/collections/pickleball-paddles/selkirk"><span>Selkirk</span></a></li><li><a href="/collections/pickleball-paddles/wilson"><span>Wilson</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/pickleball-paddles"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/padel-racquets"><span>Padel Racquets</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/padel-racquets/adidas"><span>adidas</span></a></li><li><a href="/collections/padel-racquets/babolat"><span>Babolat</span></a></li><li><a href="/collections/padel-racquets/head"><span>Head</span></a></li><li><a href="/collections/padel-racquets/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/padel-racquets/wilson"><span>Wilson</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/padel-racquets"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/overgrips"><span>Overgrips</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/overgrips/babolat"><span>Babolat</span></a></li><li><a href="/collections/overgrips/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/overgrips/head"><span>Head</span></a></li><li><a href="/collections/overgrips/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/overgrips/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/overgrips/unique"><span>Unique</span></a></li><li><a href="/collections/overgrips/wilson"><span>Wilson</span></a></li><li><a href="/collections/overgrips/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/replacement-grips"><span>Replacement Grips</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/replacement-grips/babolat"><span>Babolat</span></a></li><li><a href="/collections/replacement-grips/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/replacement-grips/head"><span>Head</span></a></li><li><a href="/collections/replacement-grips/joola"><span>Joola</span></a></li><li><a href="/collections/replacement-grips/selkirk"><span>Selkirk</span></a></li><li><a href="/collections/replacement-grips/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/replacement-grips/wilson"><span>Wilson</span></a></li><li><a href="/collections/replacement-grips/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/dampeners"><span>Dampeners</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/dampeners/babolat"><span>Babolat</span></a></li><li><a href="/collections/dampeners/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/dampeners/head"><span>Head</span></a></li><li><a href="/collections/dampeners/luxilon"><span>Luxilon</span></a></li><li><a href="/collections/dampeners/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/dampeners/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/dampeners/wilson"><span>Wilson</span></a></li><li><a href="/collections/dampeners/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/racquet-accessories"><span>
1539Racquet Accessories</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/racquet-accessories/babolat"><span>Babolat</span></a></li><li><a href="/collections/racquet-accessories/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/racquet-accessories/gamma"><span>Gamma</span></a></li><li><a href="/collections/racquet-accessories/head"><span>Head</span></a></li><li><a href="/collections/racquet-accessories/prince"><span>Prince</span></a></li><li><a href="/collections/racquet-accessories/selkirk"><span>Selkirk</span></a></li><li><a href="/collections/racquet-accessories/unique"><span>Unique</span></a></li><li><a href="/collections/racquet-accessories/wilson"><span>Wilson</span></a></li><li><a href="/collections/racquet-accessories/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/grommets-bumper-guards"><span>Grommets &amp; Bumper Guards</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/grommets-bumper-guards/babolat"><span>Babolat</span></a></li><li><a href="/collections/grommets-bumper-guards/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/grommets-bumper-guards/head"><span>Head</span></a></li><li><a href="/collections/grommets-bumper-guards/prince"><span>Prince</span></a></li><li><a href="/collections/grommets-bumper-guards/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/grommets-bumper-guards/volkl"><span>Volkl</span></a></li><li><a href="/collections/grommets-bumper-guards/wilson"><span>Wilson</span></a></li><li><a href="/collections/grommets-bumper-guards/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break menu-sale-link"><a href="/collections/sale/racquets"><span>Sale Racquets</span></a></li></ul></li><li class="title no-js has-children apparel"><span>Apparel</span><ul class="toggle"><li class="has-children togglesecondary"><a href="/collections/mens-apparel"><span>Men's Clothing</span></a><ul class="bfade bfade-split"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel twocolumn"><li><a href="/collections/mens-apparel/adidas"><span>adidas</span></a></li><li><a href="/collections/mens-apparel/asics"><span>Asics</span></a></li><li><a href="/collections/mens-apparel/babolat"><span>Babolat</span></a></li><li><a href="/collections/mens-apparel/fila"><span>Fila</span></a></li><li><a href="/collections/mens-apparel/head"><span>Head</span></a></li><li><a href="/collections/mens-apparel/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/mens-apparel/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/mens-apparel/nbo-toronto"><span>NBO Toronto</span></a></li><li><a href="/collections/mens-apparel/new-balance"><span>New Balance</span></a></li><li><a href="/collections/mens-apparel/nike"><span>Nike</span></a></li><li><a href="/collections/mens-apparel/on"><span>On</span></a></li><li><a href="/collections/mens-apparel/original-penguin"><span>Original Penguin</span></a></li><li><a href="/collections/mens-apparel/redvanly"><span>Redvanly</span></a></li><li><a href="/collections/mens-apparel/sb-sport"><span>SB Sport</span></a></li><li><a href="/collections/mens-apparel/wilson"><span>Wilson</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/mens-apparel"><span>Sale</span></a></li></ul></li><li class="bfade-pane bfade-pane--extras"><span class="btitle">Refine by focus</span><ul class="bfade-extras-list mm-nopanel"><li><a href="/collections/warm-up-clothing/mens-apparel"><span>Warm ups</span></a></li><li><a href="/collections/white-clothing/mens-apparel"><span>White clothing</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/womens-apparel"><span>Women's Clothing</span></a><ul class="bfade bfade-split"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel twocolumn"><li><a href="/collections/womens-apparel/adidas"><span>adidas</span></a></li><li><a href="/collections/womens-apparel/asics"><span>Asics</span></a></li><li><a href="/collections/womens-apparel/babolat"><span>Babolat</span></a></li><li><a href="/collections/womens-apparel/fila"><span>Fila</span></a></li><li><a href="/collections/womens-apparel/happiness-is"><span>Happiness is...</span></a></li><li><a href="/collections/womens-apparel/head"><span>Head</span></a></li><li><a href="/collections/womens-apparel/ibkul"><span>IBKUL</span></a></li><li><a href="/collections/womens-apparel/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/womens-apparel/lija"><span>Lija</span></a></li><li><a href="/collections/womens-apparel/lole"><span>Lole</span></a></li><li><a href="/collections/womens-apparel/lucky-in-love"><span>Lucky in Love</span></a></li><li><a href="/collections/womens-apparel/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/womens-apparel/mpg"><span>MPG</span></a></li><li><a href="/collections/womens-apparel/nbo-toronto"><span>NBO Toronto</span></a></li><li><a href="/collections/womens-apparel/new-balance"><span>New Balance</span></a></li><li><a href="/collections/womens-apparel/nike"><span>Nike</span></a></li><li><a href="/collections/womens-apparel/on"><span>On</span></a></li><li><a href="/collections/womens-apparel/original-penguin"><span>Original Penguin</span></a></li><li><a href="/collections/womens-apparel/sofibella"><span>Sofibella</span></a></li><li><a href="/collections/womens-apparel/wilson"><span>Wilson</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/womens-apparel"><span>Sale</span></a></li></ul></li><li class="bfade-pane bfade-pane--extras"><span class="btitle">Refine by focus</span><ul class="bfade-extras-list mm-nopanel"><li><a href="/collections/warm-up-clothing/womens-apparel"><span>Warm ups</span></a></li><li><a href="/collections/white-clothing/womens-apparel"><span>White clothing</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/boys-apparel"><span>Boys Clothing</span></a><ul class="bfade bfade-split"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/boys-apparel/adidas"><span>adidas</span></a></li><li><a href="/collections/boys-apparel/babolat"><span>Babolat</span></a></li><li><a href="/collections/boys-apparel/fila"><span>Fila</span></a></li><li><a href="/collections/boys-apparel/head"><span>Head</span></a></li><li><a href="/collections/boys-apparel/lotto"><span>Lotto</span></a></li><li><a href="/collections/boys-apparel/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/boys-apparel/nbo-toronto"><span>NBO Toronto</span></a></li><li><a href="/collections/boys-apparel/nike"><span>Nike</span></a></li><li><a href="/collections/boys-apparel/sofibella"><span>Sofibella</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/boys-apparel"><span>Sale</span></a></li></ul></li><li class="bfade-pane bfade-pane--extras"><span class="btitle">Refine by focus</span><ul class="bfade-extras-list mm-nopanel"><li><a href="/collections/warm-up-clothing/boys-apparel"><span>Warm ups</span></a></li><li><a href="/collections/white-clothing/boys-apparel"><span>White clothing</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/girls-apparel"><span>Girls Clothing</span></a><ul class="bfade bfade-split"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/girls-apparel/adidas"><span>adidas</span></a></li><li><a href="/collections/girls-apparel/babolat"><span>Babolat</span></a></li><li><a href="/collections/girls-apparel/fila"><span>Fila</span></a></li><li><a href="/collections/girls-apparel/head"><span>Head</span></a></li><li><a href="/collections/girls-apparel/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/girls-apparel/nbo-toronto"><span>NBO Toronto</span></a></li><li><a href="/collections/girls-apparel/nike"><span>Nike</span></a></li><li><a href="/collections/girls-apparel/sofibella"><span>Sofibella</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/girls-apparel"><span>Sale</span></a></li></ul></li><li class="bfade-pane bfade-pane--extras"><span class="btitle">Refine by focus</span><ul class="bfade-extras-list mm-nopanel"><li><a href="/collections/warm-up-clothing/girls-apparel"><span>Warm ups</span></a></li><li><a href="/collections/white-clothing/girls-apparel"><span>White clothing</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/hats-and-visors"><span>Hats and Visors</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/hats-and-visors/adidas"><span>adidas</span></a></li><li><a href="/collections/hats-and-visors/asics"><span>Asics</span></a></li><li><a href="/collections/hats-and-visors/babolat"><span>Babolat</span></a></li><li><a href="/collections/hats-and-visors/head"><span>Head</span></a></li><li><a href="/collections/hats-and-visors/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/hats-and-visors/nike"><span>Nike</span></a></li><li><a href="/collections/hats-and-visors/on"><span>On</span></a></li><li><a href="/collections/hats-and-visors/original-penguin"><span>Original Penguin</span></a></li><li><a href="/collections/hats-and-visors/sofibella"><span>Sofibella</span></a></li><li><a href="/collections/hats-and-visors/wilson"><span>Wilson</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/hats-and-visors"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/junior-hats-and-visors"><span>Junior Hats and Visors</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/junior-hats-and-visors/adidas"><span>adidas</span></a></li><li><a href="/collections/junior-hats-and-visors/babolat"><span>Babolat</span></a></li><li><a href="/collections/junior-hats-and-visors/nbo-toronto"><span>NBO Toronto</span></a></li><li><a href="/collections/junior-hats-and-visors/nike"><span>Nike</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/junior-hats-and-visors"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/head-and-wrist-bands"><span>Head and Wrist Bands</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/head-and-wrist-bands/adidas"><span>adidas</span></a></li><li><a href="/collections/head-and-wrist-bands/asics"><span>Asics</span></a></li><li><a href="/collections/head-and-wrist-bands/babolat"><span>Babolat</span></a></li><li><a href="/collections/head-and-wrist-bands/head"><span>Head</span></a></li><li><a href="/collections/head-and-wrist-bands/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/head-and-wrist-bands/nike"><span>Nike</span></a></li><li><a href="/collections/head-and-wrist-bands/original-penguin"><span>Original Penguin</span></a></li><li><a href="/collections/head-and-wrist-bands/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/socks"><span>Socks</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/socks/adidas"><span>adidas</span></a></li><li><a href="/collections/socks/asics"><span>Asics</span></a></li><li><a href="/collections/socks/babolat"><span>Babolat</span></a></li><li><a href="/collections/socks/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/socks/nike"><span>Nike</span></a></li><li><a href="/collections/socks/on"><span>On</span></a></li><li><a href="/collections/socks/thorlo"><span>Thorlo</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/socks"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/gloves"><span>Gloves</span></a></li><li class="has-children togglesecondary"><a href="/collections/masks"><span>Masks</span></a></li><li class="has-children togglesecondary menu_break menu-sale-link"><a href="/collections/sale/apparel"><span>Sale Apparel</span></a></li></ul></li><li class="title no-js has-children footwear"><span>Footwear</span><ul class="toggle"><li class="has-children togglesecondary"><a href="/collections/mens-tennis-footwear"><span>Men's Tennis Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/mens-tennis-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/mens-tennis-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/mens-tennis-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/mens-tennis-footwear/diadora"><span>Diadora</span></a></li><li><a href="/collections/mens-tennis-footwear/head"><span>Head</span></a></li><li><a href="/collections/mens-tennis-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/mens-tennis-footwear/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/mens-tennis-footwear/mizuno"><span>Mizuno</span></a></li><li><a href="/collections/mens-tennis-footwear/new-balance"><span>New Balance</span></a></li><li><a href="/collections/mens-tennis-footwear/nike"><span>Nike</span></a></li><li><a href="/collections/mens-tennis-footwear/on"><span>On</span></a></li><li><a href="/collections/mens-tennis-footwear/wilson"><span>Wilson</span></a></li><li><a href="/collections/mens-tennis-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/mens-tennis-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/mens-squash-footwear"><span>Men's Squash Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/mens-squash-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/mens-squash-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/mens-squash-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/mens-squash-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/mens-squash-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/mens-pickleball-footwear"><span>Men's Pickleball Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/mens-pickleball-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/mens-pickleball-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/mens-pickleball-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/mens-pickleball-footwear/diadora"><span>Diadora</span></a></li><li><a href="/collections/mens-pickleball-footwear/head"><span>Head</span></a></li><li><a href="/collections/mens-pickleball-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/mens-pickleball-footwear/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/mens-pickleball-footwear/mizuno"><span>Mizuno</span></a></li><li><a href="/collections/mens-pickleball-footwear/new-balance"><s
1539pan>New Balance</span></a></li><li><a href="/collections/mens-pickleball-footwear/nike"><span>Nike</span></a></li><li><a href="/collections/mens-pickleball-footwear/on"><span>On</span></a></li><li><a href="/collections/mens-pickleball-footwear/wilson"><span>Wilson</span></a></li><li><a href="/collections/mens-pickleball-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/mens-pickleball-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/mens-badminton-footwear"><span>Men's Badminton Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/mens-badminton-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/mens-badminton-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/mens-badminton-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/mens-badminton-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/mens-badminton-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/mens-padel-footwear"><span>Men's Padel Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/mens-padel-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/mens-padel-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/mens-padel-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/mens-padel-footwear/head"><span>Head</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/mens-padel-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/womens-tennis-footwear"><span>Women's Tennis Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel twocolumn"><li><a href="/collections/womens-tennis-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/womens-tennis-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/womens-tennis-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/womens-tennis-footwear/diadora"><span>Diadora</span></a></li><li><a href="/collections/womens-tennis-footwear/fila"><span>Fila</span></a></li><li><a href="/collections/womens-tennis-footwear/head"><span>Head</span></a></li><li><a href="/collections/womens-tennis-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/womens-tennis-footwear/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/womens-tennis-footwear/mizuno"><span>Mizuno</span></a></li><li><a href="/collections/womens-tennis-footwear/new-balance"><span>New Balance</span></a></li><li><a href="/collections/womens-tennis-footwear/nike"><span>Nike</span></a></li><li><a href="/collections/womens-tennis-footwear/on"><span>On</span></a></li><li><a href="/collections/womens-tennis-footwear/wilson"><span>Wilson</span></a></li><li><a href="/collections/womens-tennis-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/womens-tennis-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/womens-squash-footwear"><span>Women's Squash Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/womens-squash-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/womens-squash-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/womens-squash-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/womens-squash-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/womens-squash-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/womens-pickleball-footwear"><span>Women's Pickleball Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel twocolumn"><li><a href="/collections/womens-pickleball-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/womens-pickleball-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/womens-pickleball-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/womens-pickleball-footwear/diadora"><span>Diadora</span></a></li><li><a href="/collections/womens-pickleball-footwear/fila"><span>Fila</span></a></li><li><a href="/collections/womens-pickleball-footwear/head"><span>Head</span></a></li><li><a href="/collections/womens-pickleball-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/womens-pickleball-footwear/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/womens-pickleball-footwear/mizuno"><span>Mizuno</span></a></li><li><a href="/collections/womens-pickleball-footwear/new-balance"><span>New Balance</span></a></li><li><a href="/collections/womens-pickleball-footwear/nike"><span>Nike</span></a></li><li><a href="/collections/womens-pickleball-footwear/on"><span>On</span></a></li><li><a href="/collections/womens-pickleball-footwear/wilson"><span>Wilson</span></a></li><li><a href="/collections/womens-pickleball-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/womens-pickleball-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/womens-badminton-footwear"><span>Women's Badminton Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/womens-badminton-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/womens-badminton-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/womens-badminton-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/womens-badminton-footwear/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/womens-badminton-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/womens-padel-footwear"><span>Women's Padel Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/womens-padel-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/womens-padel-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/womens-padel-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/womens-padel-footwear/head"><span>Head</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/womens-padel-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/junior-tennis-footwear"><span>Junior Tennis Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/junior-tennis-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/junior-tennis-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/junior-tennis-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/junior-tennis-footwear/diadora"><span>Diadora</span></a></li><li><a href="/collections/junior-tennis-footwear/head"><span>Head</span></a></li><li><a href="/collections/junior-tennis-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/junior-tennis-footwear/nike"><span>Nike</span></a></li><li><a href="/collections/junior-tennis-footwear/on"><span>On</span></a></li><li><a href="/collections/junior-tennis-footwear/wilson"><span>Wilson</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/junior-tennis-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/junior-squash-footwear"><span>Junior Squash Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/junior-squash-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/junior-squash-footwear/babolat"><span>Babolat</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/junior-squash-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/junior-pickleball-footwear"><span>Junior Pickleball Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/junior-pickleball-footwear/adidas"><span>adidas</span></a></li><li><a href="/collections/junior-pickleball-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/junior-pickleball-footwear/babolat"><span>Babolat</span></a></li><li><a href="/collections/junior-pickleball-footwear/diadora"><span>Diadora</span></a></li><li><a href="/collections/junior-pickleball-footwear/head"><span>Head</span></a></li><li><a href="/collections/junior-pickleball-footwear/k-swiss"><span>K-Swiss</span></a></li><li><a href="/collections/junior-pickleball-footwear/nike"><span>Nike</span></a></li><li><a href="/collections/junior-pickleball-footwear/on"><span>On</span></a></li><li><a href="/collections/junior-pickleball-footwear/wilson"><span>Wilson</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/junior-pickleball-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/junior-badminton-footwear"><span>Junior Badminton Shoes</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/junior-badminton-footwear/asics"><span>Asics</span></a></li><li><a href="/collections/junior-badminton-footwear/babolat"><span>Babolat</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/junior-badminton-footwear"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/sandals"><span>Sandals</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/sandals/birkenstock"><span>Birkenstock</span></a></li><li><a href="/collections/sandals/lacoste"><span>Lacoste</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/sandals"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break menu-sale-link"><a href="/collections/sale/footwear"><span>Sale Footwear</span></a></li></ul></li><li class="title no-js has-children strings"><span>Strings</span><ul class="toggle"><li class="has-children togglesecondary"><a href="/collections/tennis-string-sets"><span>Tennis String Sets</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/tennis-string-sets/babolat"><span>Babolat</span></a></li><li><a href="/collections/tennis-string-sets/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/tennis-string-sets/head"><span>Head</span></a></li><li><a href="/collections/tennis-string-sets/luxilon"><span>Luxilon</span></a></li><li><a href="/collections/tennis-string-sets/solinco"><span>Solinco</span></a></li><li><a href="/collections/tennis-string-sets/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/tennis-string-sets/wilson"><span>Wilson</span></a></li><li><a href="/collections/tennis-string-sets/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/tennis-string-reels"><span>Tennis String Reels</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/tennis-string-reels/babolat"><span>Babolat</span></a></li><li><a href="/collections/tennis-string-reels/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/tennis-string-reels/head"><span>Head</span></a></li><li><a href="/collections/tennis-string-reels/luxilon"><span>Luxilon</span></a></li><li><a href="/collections/tennis-string-reels/solinco"><span>Solinco</span></a></li><li><a href="/collections/tennis-string-reels/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/tennis-string-reels/wilson"><span>Wilson</span></a></li><li><a href="/collections/tennis-string-reels/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/squash-strings"><span>Squash Strings</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/squash-strings/ashaway"><span>Ashaway</span></a></li><li><a href="/collections/squash-strings/tecnifibre"><span>Tecnifibre</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/badminton-string-reels"><span>Badminton String Reels</span></a></li></ul></li><li class="title no-js has-children bags-accessories"><span>Bags &amp; Accessories</span><ul class="toggle"><li class="has-children togglesecondary"><a href="/collections/bags"><span>Bags</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/bags/babolat"><span>Babolat</span></a></li><li><a href="/collections/bags/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/bags/head"><span>Head</span></a></li><li><a href="/collections/bags/insolette"><span>Insolette</span></a></li><li><a href="/collections/bags/joola"><span>Joola</span></a></li><li><a href="/collections/bags/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/bags/prenelove"><span>preneLOVE</span></a></li><li><a href="/collections/bags/selkirk"><span>Selkirk</span></a></li><li><a href="/collections/bags/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/bags/wilson"><span>Wilson</span></a></li><li><a href="/collections/bags/yonex"><span>Yonex</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/bags"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/replacement-grips"><span>Replacement Grips</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/replacement-grips/babolat"><span>Babolat</span></a></li><li><a href="/collections/replacement-grips/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/replacement-grips/head"><span>Head</span></a></li><li><a href="/collections/replacement-grips/joola"><span>Joola</span></a></li><li><a href="/collections/replacement-grips/selkirk"><span>Selkirk</span></a></li><li><a href="/collections/replacement-grips/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/replacement-grips/wilson"><span>Wilson</span></a></li><li><a href="/collections/replacement-grips/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/overgrips"><span>Overgrips</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span clas
1539s="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/overgrips/babolat"><span>Babolat</span></a></li><li><a href="/collections/overgrips/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/overgrips/head"><span>Head</span></a></li><li><a href="/collections/overgrips/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/overgrips/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/overgrips/unique"><span>Unique</span></a></li><li><a href="/collections/overgrips/wilson"><span>Wilson</span></a></li><li><a href="/collections/overgrips/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/dampeners"><span>Dampeners</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/dampeners/babolat"><span>Babolat</span></a></li><li><a href="/collections/dampeners/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/dampeners/head"><span>Head</span></a></li><li><a href="/collections/dampeners/luxilon"><span>Luxilon</span></a></li><li><a href="/collections/dampeners/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/dampeners/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/dampeners/wilson"><span>Wilson</span></a></li><li><a href="/collections/dampeners/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/racquet-accessories"><span>Racquet Accessories</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/racquet-accessories/babolat"><span>Babolat</span></a></li><li><a href="/collections/racquet-accessories/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/racquet-accessories/gamma"><span>Gamma</span></a></li><li><a href="/collections/racquet-accessories/head"><span>Head</span></a></li><li><a href="/collections/racquet-accessories/prince"><span>Prince</span></a></li><li><a href="/collections/racquet-accessories/selkirk"><span>Selkirk</span></a></li><li><a href="/collections/racquet-accessories/unique"><span>Unique</span></a></li><li><a href="/collections/racquet-accessories/wilson"><span>Wilson</span></a></li><li><a href="/collections/racquet-accessories/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/protective-eyewear"><span>Protective Eyewear</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/protective-eyewear/black-knight"><span>Black Knight</span></a></li><li><a href="/collections/protective-eyewear/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/protective-eyewear/head"><span>Head</span></a></li><li><a href="/collections/protective-eyewear/onix"><span>Onix</span></a></li><li><a href="/collections/protective-eyewear/tecnifibre"><span>Tecnifibre</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/therapeutic-supports"><span>Therapeutic Supports</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/therapeutic-supports/miscellaneous"><span>Miscellaneous</span></a></li><li><a href="/collections/therapeutic-supports/nike"><span>Nike</span></a></li><li><a href="/collections/therapeutic-supports/on"><span>On</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/training-aids"><span>Training Aids</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/training-aids/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/training-aids/eye-coach"><span>Eye Coach</span></a></li><li><a href="/collections/training-aids/nike"><span>Nike</span></a></li><li><a href="/collections/training-aids/topspin-pro"><span>Topspin Pro</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/water-bottles"><span>Water Bottles</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/water-bottles/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/water-bottles/nbo-toronto"><span>NBO Toronto</span></a></li><li><a href="/collections/water-bottles/nike"><span>Nike</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/souvenirs-gifts"><span>Souvenirs &amp; Gifts</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/souvenirs-gifts/babolat"><span>Babolat</span></a></li><li><a href="/collections/souvenirs-gifts/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/souvenirs-gifts/lacoste"><span>Lacoste</span></a></li><li><a href="/collections/souvenirs-gifts/merchant-of-tennis"><span>Merchant Of Tennis</span></a></li><li><a href="/collections/souvenirs-gifts/nbo-toronto"><span>NBO Toronto</span></a></li><li><a href="/collections/souvenirs-gifts/nike"><span>Nike</span></a></li><li><a href="/collections/souvenirs-gifts/penn"><span>Penn</span></a></li><li><a href="/collections/souvenirs-gifts/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/souvenirs-gifts/tennis-canada"><span>Tennis Canada</span></a></li><li class="bfade-vendors-sale"><a href="/collections/sale/souvenirs-gifts"><span>Sale</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break menu-sale-link"><a href="/collections/sale/bags-accessories"><span>Sale Bags &amp; Accessories</span></a></li></ul></li><li class="title no-js has-children balls-court-equipment"><span>Balls &amp; Court Equipment</span><ul class="toggle"><li class="has-children togglesecondary"><a href="/collections/tennis-balls"><span>Tennis Ball Cans</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/tennis-balls/babolat"><span>Babolat</span></a></li><li><a href="/collections/tennis-balls/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/tennis-balls/penn"><span>Penn</span></a></li><li><a href="/collections/tennis-balls/slazenger"><span>Slazenger</span></a></li><li><a href="/collections/tennis-balls/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/tennis-balls/wilson"><span>Wilson</span></a></li><li><a href="/collections/tennis-balls/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/tennis-ball-cases"><span>Tennis Ball Cases</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/tennis-ball-cases/babolat"><span>Babolat</span></a></li><li><a href="/collections/tennis-ball-cases/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/tennis-ball-cases/penn"><span>Penn</span></a></li><li><a href="/collections/tennis-ball-cases/slazenger"><span>Slazenger</span></a></li><li><a href="/collections/tennis-ball-cases/tecnifibre"><span>Tecnifibre</span></a></li><li><a href="/collections/tennis-ball-cases/wilson"><span>Wilson</span></a></li><li><a href="/collections/tennis-ball-cases/yonex"><span>Yonex</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/junior-balls"><span>Junior Balls</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/junior-balls/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/junior-balls/penn"><span>Penn</span></a></li><li><a href="/collections/junior-balls/wilson"><span>Wilson</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/squash-balls"><span>Squash Balls</span></a></li><li class="has-children togglesecondary"><a href="/collections/badminton-birdies"><span>Badminton Birdies</span></a></li><li class="has-children togglesecondary"><a href="/collections/pickleball-balls"><span>Pickleball Balls</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/pickleball-balls/franklin"><span>Franklin</span></a></li><li><a href="/collections/pickleball-balls/head"><span>Head</span></a></li><li><a href="/collections/pickleball-balls/joola"><span>Joola</span></a></li><li><a href="/collections/pickleball-balls/onix"><span>Onix</span></a></li><li><a href="/collections/pickleball-balls/penn"><span>Penn</span></a></li><li><a href="/collections/pickleball-balls/selkirk"><span>Selkirk</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/padel-balls"><span>Padel Balls</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/padel-balls/babolat"><span>Babolat</span></a></li><li><a href="/collections/padel-balls/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/padel-balls/head"><span>Head</span></a></li><li><a href="/collections/padel-balls/wilson"><span>Wilson</span></a></li></ul></li></ul></li><li class="has-children togglesecondary menu_break"><a href="/collections/ball-hoppers"><span>Ball Hoppers</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/ball-hoppers/babolat"><span>Babolat</span></a></li><li><a href="/collections/ball-hoppers/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/ball-hoppers/gamma"><span>Gamma</span></a></li><li><a href="/collections/ball-hoppers/head"><span>Head</span></a></li><li><a href="/collections/ball-hoppers/penn"><span>Penn</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/ball-machines"><span>Ball Machines</span></a></li><li class="has-children togglesecondary"><a href="/collections/nets"><span>Nets</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/nets/douglas"><span>Douglas</span></a></li><li><a href="/collections/nets/dunlop"><span>Dunlop</span></a></li><li><a href="/collections/nets/franklin"><span>Franklin</span></a></li><li><a href="/collections/nets/joola"><span>Joola</span></a></li><li><a href="/collections/nets/onix"><span>Onix</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/court-accessories"><span>Court Accessories</span></a><ul class="bfade"><li class="bfade-pane bfade-pane--brands"><span class="btitle">Refine by brand</span><ul class="bfade-vendors mm-nopanel"><li><a href="/collections/court-accessories/douglas"><span>Douglas</span></a></li><li><a href="/collections/court-accessories/franklin"><span>Franklin</span></a></li><li><a href="/collections/court-accessories/gamma"><span>Gamma</span></a></li></ul></li></ul></li><li class="has-children togglesecondary"><a href="/collections/windscreens"><span>Windscreens</span></a></li></ul></li><li class="title sale"><a href="/collections/sale"><span>Sale</span></a></li><li class="title no-js has-children services"><span>Services</span><ul class="toggle"><li class="has-children togglesecondary"><a href="/pages/customer-service"><span>Customer Service</span></a></li><li class="has-children togglesecondary"><a href="/blogs/racquets"><span>Expert Advice</span></a></li><li class="has-children togglesecondary"><a href="/pages/shipping-information"><span>Shipping</span></a></li><li class="has-children togglesecondary"><a href="/pages/shipping-information#instore_pickup"><span>Store Pick-Up</span></a></li><li class="has-children togglesecondary"><a href="/pages/refunds-exchanges"><span>Refunds &amp; Exchanges</span></a></li><li class="has-children togglesecondary"><a href="/collections/gift-cards"><span><i class="fas fa-gift"></i> Gift Cards</span></a></li><li class="has-children togglesecondary menu_break"><a href="/pages/racquet-stringing"><span>Racquet Stringing</span></a></li><li class="has-children togglesecondary"><a href="/pages/ship-in-or-dropoff-stringing-service"><span>Ship In Drop Off Stringing</span></a></li><li class="has-children togglesecondary"><a href="/pages/racquet-customization"><span>Racquet Customization</span></a></li><li class="has-children togglesecondary"><a href="/pages/demo-service"><span>Demo Service</span></a></li></ul></li></ul>
1540
1541                              
1541<script>(function(){var n=document.getElementById('mainNav16');if(n){var e=n.querySelectorAll('.no-js');for(var i=0;i<e.length;i++)e[i].classList.remove('no-js');}})();</script>
1541
1542                          </div>
1543                      </div>
1544                  
1545
1546
1547
1548
1549
1550                  <!-- end of main Nav -->  
1551                  </div>
1552
1553
1554
1555
1556
1557  
1558  <!-- End header -->
1559
1560    <!-- Begin content-->
1561    <div id="mainWrapper" class="clearfix">            
1562            <div class="clear"></div>
1563        <!-- content -->
1564        
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603  
1604
1605
1606
1607
1608
1609  
1610
1611
1612
1613
1614
1615  
1616  
1617
1618
1619
1620
1621
1622<div id="breadcrumb" class="product-breadcrumb container">
1623  <div class="product-breadcrumb__inner product-breadcrumb__row">
1624    <nav class="product-breadcrumb__primary" aria-label="Breadcrumb">
1625      <span class="product-breadcrumb__item product-breadcrumb__brand">
1626        <a href="/collections/on">On</a>
1627      </span>
1628      
1629      
1630        
1631          
1632            
1633          
1634            
1635          
1636            
1637          
1638            
1639          
1640            
1641          
1642            
1643          
1644        
1645      
1646        
1647          
1648            
1649          
1650            
1651          
1652            
1653          
1654            
1655          
1656            
1657          
1658            
1659          
1660            
1661          
1662            
1663          
1664            
1665          
1666            
1667          
1668            
1669          
1670            
1671          
1672        
1673      
1674        
1675          
1676            
1677              
1678                <span class="product-breadcrumb__sep" aria-hidden="true">›</span>
1679              
1680              <a class="product-breadcrumb__link" href="/collections/mens-tennis-footwear">Men&#39;s Tennis Shoes</a>
1681              
1682              
1683              
1684              
1685            
1686          
1687            
1688          
1689            
1690              
1691                <span class="product-breadcrumb__sep product-breadcrumb__sep--menu" aria-hidden="true">/</span>
1692              
1693              <a class="product-breadcrumb__link" href="/collections/mens-pickleball-footwear">Men&#39;s Pickleball Shoes</a>
1694              
1695              
1696              
1697              
1698            
1699          
1700            
1701          
1702            
1703          
1704            
1705          
1706            
1707          
1708            
1709          
1710            
1711          
1712            
1713          
1714            
1715          
1716            
1717          
1718            
1719          
1720            
1721          
1722            
1723          
1724        
1725      
1726        
1727          
1728            
1729          
1730            
1731          
1732            
1733          
1734            
1735          
1736        
1737      
1738        
1739          
1740            
1741          
1742            
1743          
1744            
1745          
1746            
1747          
1748            
1749          
1750            
1751          
1752            
1753          
1754            
1755          
1756            
1757          
1758            
1759          
1760            
1761          
1762            
1763          
1764            
1765          
1766        
1767      
1768        
1769          
1770            
1771          
1772            
1773          
1774            
1775          
1776            
1777          
1778            
1779          
1780            
1781          
1782            
1783          
1784            
1785          
1786            
1787          
1788            
1789          
1790            
1791          
1792            
1793          
1794        
1795      
1796        
1797      
1798        
1799      
1800      
1801      
1802        
1803        
1804        
1805        
1806        
1807        
1808          
1809          
1810            
1811            
1812              
1813              
1814              
1815                
1816                  
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831                  
1832                  
1833                  
1834                    
1835                      <span class="product-breadcrumb__sep" aria-hidden="true">›</span>
1836                    
1837                    <a class="product-breadcrumb__link product-breadcrumb__current-collection" href="/collections/on-the-roger-clubhouse-pro-shoe-collection">THE ROGER Clubhouse Pro</a>
1838                    
1839                    
1840                  
1841                
1842              
1843            
1844          
1845        
1846      
1847      
1848    </nav>
1849    <p class="product-breadcrumb__note">Not all products are available at stores.</p>
1850  </div>
1851</div>
1852<!-- Bold Apps: Quantity Breaks -->
1853
1854
1855
1856    
1857        
1858        <div style='display:none' id='variant_html_53707206820203'></div>
1859    
1860
1861    
1862        
1863        <div style='display:none' id='variant_html_53707206852971'></div>
1864    
1865
1866    
1867        
1868        <div style='display:none' id='variant_html_53707206885739'></div>
1869    
1870
1871    
1872        
1873        <div style='display:none' id='variant_html_53707206918507'></div>
1874    
1875
1876    
1877        
1878        <div style='display:none' id='variant_html_53707206951275'></div>
1879    
1880
1881    
1882        
1883        <div style='display:none' id='variant_html_53707206984043'></div>
1884    
1885
1886    
1887        
1888        <div style='display:none' id='variant_html_53707207016811'></div>
1889    
1890
1891    
1892        
1893        <div style='display:none' id='variant_html_53707207049579'></div>
1894    
1895
1896    
1897        
1898        <div style='display:none' id='variant_html_53707207082347'></div>
1899    
1900
1901    
1902        
1903        <div style='display:none' id='variant_html_53707207115115'></div>
1904    
1905
1906
1907
1908<script>
1909 var domLoaded = function (callback) {
1910    /* Internet Explorer */
1911    /*@cc_on
1912    @if (@_win32 || @_win64)
1913    document.write('
1913<script id="ieScriptLoad" defer src="//:"><\/script>');
1914        document.getElementById('ieScriptLoad').onreadystatechange = function() {
1915            if (this.readyState == 'complete') {
1916                callback();
1917            }
1918        };
1919        @end @*/
1920            /* Mozilla, Chrome, Opera */
1921        if (document.addEventListener) {
1922            document.addEventListener('DOMContentLoaded', callback, false);
1923        }
1924        /* Safari, iCab, Konqueror */
1925        else if (/KHTML|WebKit|iCab/i.test(navigator.userAgent)) {
1926            var DOMLoadTimer = setInterval(function () {
1927                if (/loaded|complete/i.test(document.readyState)) {
1928                    callback();
1929                    clearInterval(DOMLoadTimer);
1930                }
1931            }, 10);
1932        }else{
1933            /* Other web browsers */
1934            window.onload = callback;
1935        }
1936    };
1937
1938
1939domLoaded(function() {
1940  
1941  setTimeout(fix_variants, 1000);
1942  function fix_variants(){
1943
1944    
1945    
1946    
1947    
1948    
1949    
1950    
1951    
1952    
1953    
1954    
1955    
1956    
1957    
1958    
1959    
1960    
1961    
1962    
1963    
1964  }
1965    jQuery('.single-option-selector').trigger('change');
1966});
1967</script>
1967
1968
1969
1970
1971
1972  
1973  
1974  
1975  
1976  
1977  
1978  
1979  
1980  
1981  
1982  
1983  
1984  
1985  
1986  
1987
1988  
1989  
1990
1991
1992
1993
1994
1995
1996  
1997    
1998    
1999    
2000
2001
2002
2003
2004    
2005  
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024  
2025  
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037  
2038  
2039    
2040    
2041    
2042    
2043    
2044    
2045      
2046      
2047      
2048
2049
2050
2051
2052      
2053    
2054    
2055  
2056
2057  
2058  
2059    
2060    
2061    
2062    
2063    
2064    
2065      
2066      
2067      
2068
2069
2070
2071
2072      
2073    
2074    
2075  
2076
2077  
2078  
2079    
2080    
2081    
2082    
2083    
2084    
2085      
2086      
2087      
2088
2089
2090
2091
2092      
2093    
2094    
2095  
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118  
2119  
2120
2121
2122
2123
2124
2125
2126  
2127    
2128    
2129    
2130
2131
2132
2133
2134    
2135  
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158  
2159  
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174  
2175  
2176    
2177    
2178    
2179    
2180    
2181    
2182      
2183      
2184      
2185
2186
2187
2188
2189      
2190    
2191    
2192  
2193
2194  
2195  
2196    
2197    
2198    
2199    
2200    
2201    
2202      
2203      
2204      
2205
2206
2207
2208
2209      
2210    
2211    
2212  
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258<div class="desktop-container">
2259    <div id="product" class="on-mens-the-roger-clubhouse-pro-2-wash-brook" itemscope itemtype="https://schema.org/Product">
2260        <meta itemprop="url" content="https://www.merchantoftennis.com/products/on-mens-the-roger-clubhouse-pro-2-wash-brook" />
2261        
2262        <meta itemprop="image" content="https://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&width=1200" />
2263        
2264        <div class="row clearfix">
2265            <!-- PDP top: gallery + buy column only — keeps sticky buy from spanning prodInfoTabs (overlap bug) -->
2266            <div class="product__pdp-top">
2267            <!-- Begin product photos — product__media-column: flex gallery column (not :first-of-type .container) -->
2268            <div class="container product__media-column">
2269                
2270                
2271                
2272
2273<script>
2274(function () {
2275  var imgMap = {};
2276  var mediaMap = {};
2277  
2278    
2279      mediaMap[48737592377707] = 0;
2280    
2281    
2282  
2283    
2284      mediaMap[48737592344939] = 1;
2285    
2286    
2287  
2288    
2289      mediaMap[48737592312171] = 2;
2290    
2291    
2292  
2293    
2294      mediaMap[48737592279403] = 3;
2295    
2296    
2297  
2298  window.__productGalleryMediaIdToIndex = mediaMap;
2299  window.__productGalleryImageIdToIndex = imgMap;
2300
2301  var variantGallery = {};
2302  
2303    
2304    
2305    
2306  
2307    
2308    
2309    
2310  
2311    
2312    
2313    
2314  
2315    
2316    
2317    
2318  
2319    
2320    
2321    
2322  
2323    
2324    
2325    
2326  
2327    
2328    
2329    
2330  
2331    
2332    
2333    
2334  
2335    
2336    
2337    
2338  
2339    
2340    
2341    
2342  
2343  window.__productVariantIdToGalleryIndex = variantGallery;
2344})();
2345</script>
2345
2346<div
2347  class="product-media-gallery prod-pics"
2348  data-initial-index="0"
2349  id="product-media-gallery"
2350>
2351  
2352    <div class="product-media-gallery__featured-shell featured">
2353      <div class="product-media-gallery__viewport" tabindex="0" role="region" aria-label="Product gallery">
2354        <div class="product-media-gallery__slides">
2355          
2356            
2357            <div
2358              class="product-media-gallery__slide is-active"
2359              data-media-id="48737592377707"
2360              data-media-type="image"
2361              id="ProductMedia-15196697756011-48737592377707"
2362              role="group"
2363              aria-roledescription="slide"
2364              aria-label="Media 1 of 4"
2365              
2366            >
2367              
2368                  <a
2369                    href="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&width=2048"
2370                    class="product-media-gallery__lightbox"
2371                    data-image-id="48737592377707"
2372                  >
2373                    
2374                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=1440" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=375 375w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=550 550w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=750 750w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=1080 1080w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=1440 1440w" width="1440" height="1440" loading="eager" sizes="(min-width: 1100px) 1080px, (min-width: 768px) 48vw, 100vw" fetchpriority="high" class="product-media-gallery__main-img product-media-gallery__zoom-target">
2375                    
2376                  </a>
2377                
2378            </div>
2379          
2380            
2381            <div
2382              class="product-media-gallery__slide"
2383              data-media-id="48737592344939"
2384              data-media-type="image"
2385              id="ProductMedia-15196697756011-48737592344939"
2386              role="group"
2387              aria-roledescription="slide"
2388              aria-label="Media 2 of 4"
2389              hidden
2390            >
2391              
2392                  <a
2393                    href="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&width=2048"
2394                    class="product-media-gallery__lightbox"
2395                    data-image-id="48737592344939"
2396                  >
2397                    
2398                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=1440" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=375 375w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=550 550w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=750 750w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=1080 1080w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=1440 1440w" width="1440" height="1440" loading="lazy" sizes="(min-width: 1100px) 1080px, (min-width: 768px) 48vw, 100vw" class="product-media-gallery__main-img product-media-gallery__zoom-target">
2399                    
2400                  </a>
2401                
2402            </div>
2403          
2404            
2405            <div
2406              class="product-media-gallery__slide"
2407              data-media-id="48737592312171"
2408              data-media-type="image"
2409              id="ProductMedia-15196697756011-48737592312171"
2410              role="group"
2411              aria-roledescription="slide"
2412              aria-label="Media 3 of 4"
2413              hidden
2414            >
2415              
2416                  <a
2417                    href="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&width=2048"
2418                    class="product-media-gallery__lightbox"
2419                    data-image-id="48737592312171"
2420                  >
2421                    
2422                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=1440" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=375 375w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=550 550w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=750 750w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=1080 1080w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=1440 1440w" width="1440" height="1440" loading="lazy" sizes="(min-width: 1100px) 1080px, (min-width: 768px) 48vw, 100vw" class="product-media-gallery__main-img product-media-gallery__zoom-target">
2423                    
2424                  </a>
2425                
2426            </div>
2427          
2428            
2429            <div
2430              class="product-media-gallery__slide"
2431              data-media-id="48737592279403"
2432              data-media-type="image"
2433              id="ProductMedia-15196697756011-48737592279403"
2434              role="group"
2435              aria-roledescription="slide"
2436              aria-label="Media 4 of 4"
2437              hidden
2438            >
2439              
2440                  <a
2441                    href="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&width=2048"
2442                    class="product-media-gallery__lightbox"
2443                    data-image-id="48737592279403"
2444                  >
2445                    
2446                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=1440" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=375 375w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=550 550w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=750 750w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=1080 1080w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=1440 1440w" width="1440" height="1440" loading="lazy" sizes="(min-width: 1100px) 1080px, (min-width: 768px) 48vw, 100vw" class="product-media-gallery__main-img product-media-gallery__zoom-target">
2447                    
2448                  </a>
2449                
2450            </div>
2451          
2452        </div>
2453        <div class="product-media-gallery__loading" hidden role="status" aria-l
2453ive="polite">
2454          <span class="product-media-gallery__loading-spinner" aria-hidden="true"></span>
2455          <span class="product-media-gallery__loading-label">Loading image</span>
2456        </div>
2457      </div>
2458      <div class="product-media-gallery__controls">
2459        <div class="product-media-gallery__controls-cluster">
2460          
2461            <button type="button" class="product-media-gallery__nav product-media-gallery__nav--slideshow product-media-gallery__prev" aria-label="Previous slide">
2462              <span class="product-media-gallery__nav-sprite" aria-hidden="true"></span>
2463            </button>
2464            <div class="product-media-gallery__pager-host">
2465              
2466                <div class="product-media-gallery__pager" role="tablist" aria-label="Product gallery slides">
2467                  
2468                    <button
2469                      type="button"
2470                      role="tab"
2471                      class="product-media-gallery__pager-dot product-media-gallery__pager-thumb is-active"
2472                      data-gallery-index="0"
2473                      data-media-type="image"
2474                      aria-label="Slide 1 of 4"
2475                      aria-selected="true"
2476                      tabindex="0"
2477                    >
2478                      
2479                        
2480                          <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=120 120w" width="120" height="120" loading="eager" fetchpriority="high" class="product-media-gallery__pager-thumb-img" sizes="52px">
2481                        
2482                      
2483                    </button>
2484                  
2485                    <button
2486                      type="button"
2487                      role="tab"
2488                      class="product-media-gallery__pager-dot product-media-gallery__pager-thumb"
2489                      data-gallery-index="1"
2490                      data-media-type="image"
2491                      aria-label="Slide 2 of 4"
2492                      aria-selected="false"
2493                      tabindex="-1"
2494                    >
2495                      
2496                        
2497                          <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=120 120w" width="120" height="120" loading="lazy" class="product-media-gallery__pager-thumb-img" sizes="52px">
2498                        
2499                      
2500                    </button>
2501                  
2502                    <button
2503                      type="button"
2504                      role="tab"
2505                      class="product-media-gallery__pager-dot product-media-gallery__pager-thumb"
2506                      data-gallery-index="2"
2507                      data-media-type="image"
2508                      aria-label="Slide 3 of 4"
2509                      aria-selected="false"
2510                      tabindex="-1"
2511                    >
2512                      
2513                        
2514                          <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=120 120w" width="120" height="120" loading="lazy" class="product-media-gallery__pager-thumb-img" sizes="52px">
2515                        
2516                      
2517                    </button>
2518                  
2519                    <button
2520                      type="button"
2521                      role="tab"
2522                      class="product-media-gallery__pager-dot product-media-gallery__pager-thumb"
2523                      data-gallery-index="3"
2524                      data-media-type="image"
2525                      aria-label="Slide 4 of 4"
2526                      aria-selected="false"
2527                      tabindex="-1"
2528                    >
2529                      
2530                        
2531                          <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=120 120w" width="120" height="120" loading="lazy" class="product-media-gallery__pager-thumb-img" sizes="52px">
2532                        
2533                      
2534                    </button>
2535                  
2536                </div>
2537              
2538            </div>
2539            <button type="button" class="product-media-gallery__nav product-media-gallery__nav--slideshow product-media-gallery__next" aria-label="Next slide">
2540              <span class="product-media-gallery__nav-sprite" aria-hidden="true"></span>
2541            </button>
2542          
2543          <button type="button" class="gallery-chrome-btn product-media-gallery__fullscreen" aria-label="Open fullscreen gallery">
2544            
2545            <svg class="gallery-chrome-btn__icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
2546              <path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"/>
2547            </svg>
2548          </button>
2549        </div>
2550      </div>
2551    </div>
2552    
2553<div
2554  class="product-fs-lightbox"
2555  id="ProductFsLightbox-15196697756011"
2556  hidden
2557  data-fs-root="product-media-gallery"
2558>
2559  
2560  <div class="product-fs-lightbox__backdrop" role="presentation"></div>
2561  <div
2562    class="product-fs-lightbox__dialog"
2563    role="dialog"
2564    aria-modal="true"
2565    aria-label="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook — product media gallery"
2566  >
2567    <div class="product-fs-lightbox__viewport">
2568      <div class="product-fs-lightbox__loading" hidden role="status" aria-live="polite">
2569        <span class="product-media-gallery__loading-spinner" aria-hidden="true"></span>
2570        <span class="product-media-gallery__loading-label">Loading image</span>
2571      </div>
2572      <div class="product-fs-lightbox__slides">
2573        
2574          
2575          <div
2576            class="product-fs-lightbox__slide is-active"
2577            data-fs-gallery-index="0"
2578            data-media-type="image"
2579            
2580          >
2581            
2582                
2583                  <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=2048" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=352 352w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=832 832w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=1200 1200w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=1920 1920w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=2048 2048w" width="2048" height="2048" loading="eager" fetchpriority="high" class="product-fs-lightbox__img">
2584                
2585              
2586          </div>
2587        
2588          
2589          <div
2590            class="product-fs-lightbox__slide"
2591            data-fs-gallery-index="1"
2592            data-media-type="image"
2593            hidden
2594          >
2595            
2596                
2597                  <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=2048" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=352 352w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=832 832w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=1200 1200w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=1920 1920w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=2048 2048w" width="2048" height="2048" loading="lazy" class="product-fs-lightbox__img">
2598                
2599              
2600          </div>
2601        
2602          
2603          <div
2604            class="product-fs-lightbox__slide"
2605            data-fs-gallery-index="2"
2606            data-media-type="image"
2607            hidden
2608          >
2609            
2610                
2611                  <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=2048" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=352 352w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=832 832w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=1200 1200w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=1920 1920w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=2048 2048w" width="2048" height="2048" loading="lazy" class="product-fs-lightbox__img">
2612                
2613              
2614          </div>
2615        
2616          
2617          <div
2618            class="product-fs-lightbox__slide"
2619            data-fs-gallery-index="3"
2620            data-media-type="image"
2621            hidden
2622          >
2623            
2624                
2625                  <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=2048" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=352 352w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=832 832w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=1200 1200w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=1920 1920w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=2048 2048w" width="2048" height="2048" loading="lazy" class="product-fs-lightbox__img">
2626                
2627              
2628          </div>
2629        
2630      </div>
2631    </div>
2632    <div class="product-fs-lightbox__controls">
2633      <div class="product-fs-lightbox__controls-cluster">
2634        
2635          <button type="button" class="product-fs-lightbox__nav product-media-gallery__nav product-media-gallery__nav--slideshow product-media-gallery__prev" aria-label="Previous slide">
2636            <span class="product-media-gallery__nav-sprite" aria-hidden="true"></span>
2637          </button>
2638          <div class="product-fs-lightbox__pager-host">
2639            
2640              <div class="product-fs-lightbox__pager product-media-gallery__pager" role="tablist" aria-label="Fullscreen gallery slides">
2641                
2642                  <button
2643                    type="button"
2644                    role="tab"
2645                    class="product-media-gallery__pager-dot product-media-gallery__pager-thumb is-active"
2646                    data-gallery-index="0"
2647                    data-media-type="image"
2648                    aria-label="Slide 1 of 4"
2649                    aria-selected="true"
2650                    tabindex="0"
2651                  >
2652                    
2653                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&amp;width=120 120w" width="120" height="120" loading="lazy" class="product-media-gallery__pager-thumb-img" sizes="52px">
2654                    
2655                  </button>
2656                
2657                  <button
2658                    type="button"
2659                    role="tab"
2660                    class="product-media-gallery__pager-dot product-media-gallery__pager-thumb"
2661                    data-gallery-index="1"
2662                    data-media-type="image"
2663                    aria-label="Slide 2 of 4"
2664                    aria-selected="false"
2665                    tabindex="-1"
2666                  >
2667                    
2668                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=120 120w" width="120" height="120" loading="lazy" class="product-media-gallery__pager-thumb-img" sizes="52px">
2669                    
2670                  </button>
2671                
2672                  <button
2673                    type="button"
2674                    role="tab"
2675                    class="product-media-gallery__pager-dot product-media-gallery__pager-thumb"
2676                    data-gallery-index="2"
2677                    data-media-type="image"
2678                    aria-label="Slide 3 of 4"
2679                    aria-selected="false"
2680                    tabindex="-1"
2681                  >
2682                    
2683                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=120 120w" width="120" height="120" loading="lazy" class="product-media-gallery__pager-thumb-img" sizes="52px">
2684                    
2685                  </button>
2686                
2687                  <button
2688                    type="button"
2689                    role="tab"
2690                    class="product-media-gallery__pager-dot product-media-gallery__pager-thumb"
2691                    data-gallery-index="3"
2692                    data-media-type="image"
2693                    aria-label="Slide 4 of 4"
2694                    aria-selected="false"
2695                    tabindex="-1"
2696                  >
2697                    
2698                      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=120" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=60 60w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=90 90w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=120 120w" width="120" height="120" loading="lazy" class="product-media-gallery__pager-thumb-img" sizes="52px">
2699                    
2700                  </button>
2701                
2702              </div>
2703            
2704          </div>
2705          <button type="button" class="product-fs-lightbox__nav product-media-gallery__nav product-media-gallery__nav--slideshow product-media-gallery__next" aria-label="Next slide">
2706            <span class="product-media-gallery__nav-sprite" aria-hidden="true"></span>
2707          </button>
2708        
2709        <button type="button" class="gallery-chrome-btn product-fs-lightbox__close" aria-label="Close fullscreen gallery">
2710          <span aria-hidden="true" class="gallery-chrome-btn__times">&times;</span>
2711        </button>
2712      </div>
2713    </div>
2714  </div>
2715</div>
2716
2717  
2718</div>
2719
2720            </div>
2721            <!-- End product photos -->
2722            <!-- Begin buy box / summary — product__buy-column: flex column + horizontal gutter target -->
2723            <div class="prod-info product__buy-column">
2724                <div class="container">
2725                    <h1 class="prod-name" itemprop="name" id="prod-title">On Men's THE ROGER Clubhouse Pro 2 - Wash/Brook</h1>
2726
2727                    <div class="s-messages">
2728
2729
2730
2731
2732
2733
2734
2735
2736  
2737  
2738  
2739
2740  
2741
2742  
2743  
2744
2745  
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778  
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809  
2810  
2811  
2812  
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824  
2825  
2826  
2827    
2828    
2829    
2830      
2831      
2832      
2833      
2834      
2835      
2836      
2837      
2838      
2839    
2840  
2841  
2842
2843
2844
2845
2846
2847
2848
2849
2850  
2851  
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869<a href="/collections/footwear/hard-court"><div class="ptag purple">Hard Court</div></a><a href="/collections/footwear/clay-court"><div class="ptag purple">Clay Court</div></a>
2870                    </div>
2871                    <ul style="display: none;" class="mini-spec-wrap" aria-hidden="true"></ul>                  
2872                    
2873                    
2874                    
2875                    
2876                    
2877                    
2878                    
2879                    <div class="prod-info__reviews-row">
2880                        
2881                        
2882                        <div class="reviewjump" role="button" tabindex="0" onclick="reviewClick()" onkeydown="if(event.key==='Enter'||event.key===' '){event.preventDefault();reviewClick();}">Reviews &amp; Feedback</div>
2883                        <!-- Stamped - Begin Star Rating Badge -->
2884                        <div class="prod-info__reviews-row-badge">
2885                          <style>
2886                            .stamped-fa-star:before{font-size: 18px;}
2887                            
2888                          </style>
2889                          <span
2890                            class="stamped-product-reviews-badge"
2891                            data-id="15196697756011"
2892                            data-product-sku="on-mens-the-roger-clubhouse-pro-2-wash-brook"
2893                            data-product-type="Shoe"
2894                            data-product-title="On Men's THE ROGER Clubhouse Pro 2 - Wash/Brook"
2895                            style="display:block;">
2896                          </span>
2897                        </div>
2898                        <!-- Stamped - End Star Rating Badge -->
2899                        
2900                        
2901                        <span id="product-info-sku-block" class="product-info__sku-block" hidden aria-hidden="true">SKU#: <span id="sku2"></span></span>
2902                        
2903                    </div>
2904                    
2904<script>
2905                    function reviewClick() {
2906                      var useTabs = typeof window.matchMedia === "function"
2907                        ? window.matchMedia("(min-width: 1024px)").matches
2908                        : (typeof jQuery !== "undefined" && jQuery(window).width() >= 1024);
2909                      var scrollFn = window.motScheduleScrollToBelowHeader;
2910                      if (!useTabs) {
2911                        var m = document.getElementById("reviewclick_mobile");
2912                        if (!m) return;
2913                        if (!m.classList.contains("ui-state-active")) {
2914                          m.click();
2915                        } else if (typeof scrollFn === "function") {
2916                          /* Already open: accordion activate won’t run — match mot-func.js motPdpPrevAccordionHeader + scroll */
2917                          var anchor = m;
2918                          var el = m.previousElementSibling;
2919                          while (el) {
2920                            if (el.classList && (el.classList.contains("ui-accordion-header") || el.classList.contains("accord-title"))) {
2921                              anchor = el;
2922                              break;
2923                            }
2924                            el = el.previousElementSibling;
2925                          }
2926                          scrollFn(anchor, 0);
2927                        }
2928                      } else {
2929                        var d = document.getElementById("reviewclick_dtop");
2930                        if (!d) return;
2931                        var tabLi = d.closest ? d.closest("li") : null;
2932                        if (tabLi && tabLi.classList.contains("ui-state-active")) {
2933                          if (typeof scrollFn === "function") {
2934                            var bar = document.querySelector(".prodInfoTabs ul.tabs");
2935                            if (bar) scrollFn(bar, 50);
2936                          }
2937                        } else {
2938                          d.click();
2939                        }
2940                      }
2941                    }
2942                    </script>
2942
2943                    <div class="price-rating">
2944                        <div class="purchase" itemprop="offers" itemscope itemtype="https://schema.org/Offer">
2945                            <meta itemprop="priceCurrency" content="CAD" />
2946                            
2947                          		
2948                                	<link itemprop="availability" href="https://schema.org/InStock" />
2949                          		
2950                            
2951                            
2952                            <span class="price cost" id="price-preview">
2953                              	<span class="prod-normal-price-j">$</span><span class="prod-normal-price-j" itemprop="price">199.99</span>
2954                                
2955                            </span>
2956                        </div>
2957                        <div class="after-me-1"></div>
2958                        <div class="rating-wrap"></div>
2959                    </div>
2960                  		
2961                  
2962                    
2963                    <div class="clear"></div>
2964                    
2965                    <div class="clear"></div>
2966                </div>
2967            
2968            
2969            
2970                <form id="add-item-form" action="/cart/add" method="post" class="variants clearfix" data-swiftype-index="false" data-product-id="15196697756011"  data-shop-add-limit="200">     
2971                    <!-- Begin product options -->
2972                    <div class="prod-options">
2973                        
2974                        <div class="container">
2975                            
2976                            
2977                            
2978                            
2979                            
2980                            <style>#add-item-form .prod-options .container .select { min-height: 71px; }</style>
2981                            
2982                            <div class="select">
2983                                <select id="product-select" name="id" style="display:none" class="official-select">
2984                                    
2985                                        <option selected="selected" value="53707206820203">8 - $199.99</option>
2986                                    
2987                                        <option  value="53707206852971">8.5 - $199.99</option>
2988                                    
2989                                        <option  value="53707206885739">9 - $199.99</option>
2990                                    
2991                                        <option  value="53707206918507">9.5 - $199.99</option>
2992                                    
2993                                        <option  value="53707206951275">10 - $199.99</option>
2994                                    
2995                                        <option  value="53707206984043">10.5 - $199.99</option>
2996                                    
2997                                        <option  value="53707207016811">11 - $199.99</option>
2998                                    
2999                                        <option  value="53707207049579">11.5 - $199.99</option>
3000                                    
3001                                        <option  value="53707207082347">12 - $199.99</option>
3002                                    
3003                                        <option  value="53707207115115">13 - $199.99</option>
3004                                                                      
3005                                </select>
3006                            </div>
3007                          	
3008                            <div class="selector-wrapper">
3009                                
3010                                    
3011                              			      
3012                              			<noscript><div class="nojs_notice" style="margin-bottom:10px;"><i class="fas fa-exclamation-triangle" aria-hidden="true"></i> Please re-enable your browser's JavaScript feature to access all product options</div></noscript>
3013                                        <label class="product-qty-field-label" for="quantity">
3014                                          <span class="product-qty-field-label__title">Quantity</span>
3015                                          <div class="product-qty-row">
3016                                        
3016<script>function showQuantityError(msg){if(typeof Shopify!=="undefined"&&Shopify.showAddToCartError){Shopify.showAddToCartError(msg,"main");}}</script>
3016
3017                                        
3018                                            
3019
3020
3021
3022
3023
3024
3025<div class="product-qty-stepper" data-qty-min="1">
3026  <button type="button" class="product-qty-stepper__btn product-qty-stepper__btn--minus" aria-label="Decrease quantity" disabled>−</button>
3027  <input id="quantity" type="number" name="quantity" value="1" min="1" class="product-qty-stepper__input tc item-quantity" inputmode="numeric" autocomplete="off" onchange="quantityCheck();" />
3028  <button type="button" class="product-qty-stepper__btn product-qty-stepper__btn--plus" aria-label="Increase quantity">+</button>
3029</div>
3030
3031                                            
3031<script>
3032                                                function quantityCheck(){
3033                                                    if(document.getElementById("quantity").value == 0)
3034                                                    {
3035                                                        showQuantityError("Quantity cannot be 0!");
3036                                                        document.getElementById("quantity").value=1;
3037                                                    }
3038                                                }
3039                                            </script>
3039
3040
3041                                        
3042                                          
3043                                          
3044                                          <span class="product-qty-field-label__chips" role="status" aria-live="polite">
3045                                            <span class="product-qty-chip product-qty-chip--stock" id="variant-inventory">1 in stock</span>
3046                                            <span class="product-qty-chip product-qty-chip--cart" id="variant-inventory-cart" hidden aria-hidden="true"></span>
3047                                          </span>
3048                                          </div>
3049                                        </label>
3050                                        
3051
3052
3053
3054
3055
3056  
3057    
3058    
3059
3060
3061
3062
3063
3064
3065<details
3066  class="pdp-store-locs pdp-store-locs--deferred-initial"
3067  data-pdp-store-locs
3068  data-pdp-initial-deferred="true"
3069  data-pdp-avail-count="10"
3070  data-pdp-variant-total="10"
3071  aria-labelledby="pdp-store-availability-title">
3072  <summary class="pdp-store-locs__summary">
3073    <span class="pdp-store-locs__summary-row">
3074      <span class="selector-wrapper-variant-heading pdp-store-locs__heading">
3075        <span class="product-qty-field-label__title pdp-store-locs__label" id="pdp-store-availability-title">Store Availability</span>
3076        <span class="selector-wrapper-variant-disclaimer" id="pdp-store-availability-footnote">(subject to change)</span>
3077      </span>
3078      <span class="pdp-store-locs__toggle-icon" aria-hidden="true"></span>
3079    </span>
3080  </summary>
3081  <div class="pdp-store-locs__panel">
3082    <p class="pdp-store-locs__unavailable" data-pdp-store-unavailable hidden role="status" aria-live="polite">Location inventory currently unavailable.</p>
3083    <p class="pdp-store-locs__err" data-pdp-store-err style="display:none;" role="alert"></p>
3084    <div class="pdp-store-locs__pills" data-pdp-store-pills>
3085      <a href="/pages/contact-us#service_hours" class="product-qty-chip product-qty-chip--stock pdp-store-loc-pill pdp-store-loc-pill--loading" data-pdp-pill="wh" data-pdp-loc="online">
3086        <span class="pdp-store-loc-pill__glyph" data-pdp-pill-glyph aria-hidden="true"><i class="fa-solid fa-spinner" aria-hidden="true"></i></span>
3087        <span class="pdp-store-loc-pill__name">Online</span>
3088      </a>
3089      <a href="/pages/contact-us#toronto_hours" class="product-qty-chip product-qty-chip--stock pdp-store-loc-pill pdp-store-loc-pill--loading" data-pdp-pill="bv" data-pdp-loc="toronto">
3090        <span class="pdp-store-loc-pill__glyph" data-pdp-pill-glyph aria-hidden="true"><i class="fa-solid fa-spinner" aria-hidden="true"></i></span>
3091        <span class="pdp-store-loc-pill__name">Toronto</span>
3092      </a>
3093      <a href="/pages/contact-us#oakville_hours" class="product-qty-chip product-qty-chip--stock pdp-store-loc-pill pdp-store-loc-pill--loading" data-pdp-pill="ok" data-pdp-loc="oakville">
3094        <span class="pdp-store-loc-pill__glyph" data-pdp-pill-glyph aria-hidden="true"><i class="fa-solid fa-spinner" aria-hidden="true"></i></span>
3095        <span class="pdp-store-loc-pill__name">Oakville</span>
3096      </a>
3097    </div>
3098    <p class="pdp-store-locs__online-hint" data-pdp-store-hint role="status" aria-live="polite">Checking availability…</p>
3099  </div>
3100</details>
3101<style>
3102  /* Align with .product-qty-chip / .product-qty-chip--stock (mot-combined-styles.css.liquid) */
3103  .pdp-store-locs {
3104    margin-top: 10px;
3105    margin-bottom: 0;
3106    min-width: 0;
3107    width: 100%;
3108    max-width: 430px;
3109    box-sizing: border-box;
3110    border-top: 2px solid #eaeaea;
3111    border-bottom: 2px solid #eaeaea;
3112    padding-top: 10px;
3113    padding-bottom: 10px;
3114  }
3115  @media (max-width: 767.9px) {
3116    .pdp-store-locs {
3117      max-width: 100%;
3118    }
3119  }
3120  .pdp-store-locs__label { margin: 0; cursor: pointer; }
3121  /* iOS 11–12: flex inside <summary> is ignored, so pin the chevron (same visual as Gift Wrapping). */
3122  .pdp-store-locs > summary.pdp-store-locs__summary {
3123    display: block;
3124    position: relative;
3125    width: 100%;
3126    box-sizing: border-box;
3127    cursor: pointer;
3128    list-style: none;
3129    list-style-type: none;
3130    padding: 0 22px 0 0;
3131    -webkit-user-select: none;
3132    user-select: none;
3133  }
3134  .pdp-store-locs > summary.pdp-store-locs__summary::-webkit-details-marker,
3135  .pdp-store-locs > summary.pdp-store-locs__summary::marker {
3136    display: none;
3137    content: '';
3138  }
3139  .pdp-store-locs[open] > summary.pdp-store-locs__summary {
3140    padding-bottom: 7px;
3141    padding-right: 22px;
3142  }
3143  .pdp-store-locs__summary-row {
3144    display: block;
3145    width: 100%;
3146    box-sizing: border-box;
3147  }
3148  .pdp-store-locs__heading {
3149    display: block;
3150    min-width: 0;
3151    padding-bottom: 0;
3152    padding-right: 0;
3153    line-height: 1.2;
3154  }
3155  .pdp-store-locs .pdp-store-locs__heading > .product-qty-field-label__title,
3156  .pdp-store-locs .pdp-store-locs__heading > .selector-wrapper-variant-disclaimer {
3157    display: inline;
3158    vertical-align: baseline;
3159  }
3160  .pdp-store-locs__heading > .selector-wrapper-variant-disclaimer {
3161    margin-left: 8px;
3162  }
3163  @supports (gap: 1px) and (inset: 0) {
3164    .pdp-store-locs__heading > .selector-wrapper-variant-disclaimer {
3165      margin-left: 0;
3166    }
3167  }
3168  .pdp-store-locs > summary .pdp-store-locs__toggle-icon {
3169    display: block;
3170    position: absolute;
3171    top: 50%;
3172    right: 2px;
3173    width: 8px;
3174    height: 8px;
3175    margin: 0;
3176    box-sizing: content-box;
3177    border-right: 2px solid #868e96;
3178    border-bottom: 2px solid #868e96;
3179    -webkit-transform: translateY(-50%) rotate(45deg);
3180    transform: translateY(-50%) rotate(45deg);
3181    -webkit-transform-origin: 50% 50%;
3182    transform-origin: 50% 50%;
3183    -webkit-transition: -webkit-transform 0.15s ease;
3184    transition: transform 0.15s ease;
3185  }
3186  .pdp-store-locs[open] > summary .pdp-store-locs__toggle-icon {
3187    -webkit-transform: translateY(-50%) rotate(225deg);
3188    transform: translateY(-50%) rotate(225deg);
3189  }
3190  .pdp-store-locs > summary.pdp-store-locs__summary:focus {
3191    outline: none;
3192  }
3193  .pdp-store-locs > summary.pdp-store-locs__summary:focus-visible {
3194    outline: 2px solid var(--color-dark-purple, #581c87);
3195    outline-offset: 2px;
3196    border-radius: 4px;
3197  }
3198  .pdp-store-locs__unavailable {
3199    margin: 0;
3200    font-size: 13px;
3201    line-height: 1.4;
3202    font-weight: 500;
3203    color: #6c757d;
3204  }
3205  .pdp-store-locs__online-hint {
3206    margin: 8px 0 0;
3207    font-size: 13px;
3208    line-height: 1.4;
3209    font-weight: 500;
3210    color: #6c757d;
3211    min-height: calc(13px * 1.4);
3212  }
3213  .pdp-store-locs__online-hint--inactive {
3214    visibility: hidden;
3215  }
3216  .pdp-store-locs--failed .pdp-store-locs__pills { display: none !important; }
3217  .pdp-store-locs__err { color: #a00; font-size: 13px; margin: 6px 0 0; font-weight: 500; }
3218  .pdp-store-locs__pills {
3219    display: -webkit-flex;
3220    display: flex;
3221    -webkit-flex-wrap: wrap;
3222    flex-wrap: wrap;
3223    -webkit-align-items: center;
3224    align-items: center;
3225    -webkit-align-content: flex-start;
3226    align-content: flex-start;
3227    margin: 0;
3228    line-height: 0;
3229  }
3230  /* No flex `gap` (e.g. Safari <14.1): right + bottom margin so wrapped rows aren’t flush (same idea as .s-messages) */
3231  .pdp-store-locs__pills .product-qty-chip {
3232    margin: 0 8px 8px 0;
3233  }
3234  @supports (gap: 1px) and (inset: 0) {
3235    .pdp-store-locs__pills {
3236      gap: 8px;
3237      row-gap: 8px;
3238      column-gap: 8px;
3239    }
3240    .pdp-store-locs__pills .product-qty-chip {
3241      margin: 0;
3242    }
3243  }
3244  /* Narrow: a bit more air between flex lines when chips wrap (still tight column spacing) */
3245  @media (max-width: 480px) {
3246    @supports (gap: 1px) and (inset: 0) {
3247      .pdp-store-locs__pills {
3248        row-gap: 10px;
3249        column-gap: 8px;
3250        gap: 10px 8px;
3251      }
3252    }
3253    @supports not ((gap: 1px) and (inset: 0)) {
3254      .pdp-store-locs__pills .product-qty-chip {
3255        margin: 0 8px 10px 0;
3256      }
3257    }
3258  }
3259  @keyframes pdp-store-loc-spin { to { transform: rotate(360deg); } }
3260  .pdp-store-loc-pill--loading .pdp-store-loc-pill__glyph .fa-spinner {
3261    color: #6c757d;
3262    font-size: 0.8em;
3263    animation: pdp-store-loc-spin 0.7s linear infinite;
3264  }
3265  a.pdp-store-loc-pill {
3266    text-decoration: none;
3267    color: inherit;
3268    cursor: pointer;
3269    box-sizing: border-box;
3270  }
3271  a.pdp-store-loc-pill:visited {
3272    color: inherit;
3273  }
3274  a.pdp-store-loc-pill:hover {
3275    filter: brightness(0.97);
3276  }
3277  a.pdp-store-loc-pill:focus-visible {
3278    outline: 2px solid var(--color-dark-purple, #581c87);
3279    outline-offset: 2px;
3280    border-radius: 999px;
3281  }
3282  .pdp-store-loc-pill {
3283    gap: 6px;
3284    min-height: 0;
3285  }
3286  .pdp-store-loc-pill__glyph {
3287    display: -webkit-inline-flex;
3288    display: inline-flex;
3289    -webkit-align-items: center;
3290    align-items: center;
3291    -webkit-justify-content: center;
3292    justify-content: center;
3293    -webkit-flex-shrink: 0;
3294    flex-shrink: 0;
3295    width: 1em;
3296    line-height: 1;
3297    /* Safari <14.1: flex gap ignored — keep icon/em-dash off the label */
3298    margin-right: 6px;
3299  }
3300  @supports (gap: 1px) and (inset: 0) {
3301    .pdp-store-loc-pill__glyph {
3302      margin-right: 0;
3303    }
3304  }
3305  .pdp-store-loc-pill--instock .fa-check {
3306    color: var(--color-dark-green, #0e6b39);
3307    font-size: 0.85em;
3308  }
3309  .pdp-store-loc-pill--oos .fa-xmark {
3310    color: #b91c1c;
3311    font-size: 0.85em;
3312  }
3313  .pdp-store-loc-pill--awaiting,
3314  .pdp-store-locs--pills-muted .pdp-store-loc-pill:not(.pdp-store-loc-pill--loading) {
3315    opacity: 0.55;
3316  }
3317  a.pdp-store-loc-pill.pdp-store-loc-pill--awaiting,
3318  .pdp-store-locs--pills-muted a.pdp-store-loc-pill:not(.pdp-store-loc-pill--loading) {
3319    cursor: pointer;
3320  }
3321  .pdp-store-loc-pill--loading { opacity: 1; }
3322  .pdp-store-loc-pill--awaiting .pdp-store-loc-pill__glyph:empty::before,
3323  .pdp-store-locs--pills-muted .pdp-store-loc-pill:not(.pdp-store-loc-pill--loading) .pdp-store-loc-pill__glyph:empty::before {
3324    content: '—';
3325    color: #495057;
3326    font-weight: 500;
3327  }
3328</style>
3329<script>
3330(function() {
3331  var END = '/apps/mot-proxy/inventory-by-sku';
3332  var API_TIMEOUT_MS = 15000;
3333  var MAX_REQUEST_SKUS = 50;
3334  function listSkus() {
3335    var list = (window.Shopify && window.Shopify._productVariants) || [];
3336    var out = [];
3337    var seen = {};
3338    for (var i = 0; i < list.length; i++) {
3339      if (out.length >= MAX_REQUEST_SKUS) break;
3340      var s = (list[i].sku && String(list[i].sku).trim()) || '';
3341      if (!s || seen[s]) continue;
3342      seen[s] = true;
3343      out.push(s);
3344    }
3345    return out;
3346  }
3347  function variantById(vid) {
3348    var list = (window.Shopify && window.Shopify._productVariants) || [];
3349    for (var i = 0; i < list.length; i++) {
3350      if (String(list[i].id) === String(vid)) return list[i];
3351    }
3352    return null;
3353  }
3354  function buildMapFromBySku(bySku) {
3355    var m = Object.create(null);
3356    if (!bySku || typeof bySku !== 'object') return m;
3357    for (var key in bySku) {
3358      if (!Object.prototype.hasOwnProperty.call(bySku, key)) continue;
3359      var row = bySku[key];
3360      if (!row || typeof row !== 'object') continue;
3361      var o = { bv: Number(row.bv) || 0, ok: Number(row.ok) || 0, wh: Number(row.wh) || 0 };
3362      m[key] = o;
3363      m[key.toLowerCase()] = o;
3364    }
3365    return m;
3366  }
3367  function buildMap(stockqtys) {
3368    var m = Object.create(null);
3369    if (!stockqtys || !stockqtys.length) return m;
3370    for (var k = 0; k < stockqtys.length; k++) {
3371      var item = stockqtys[k];
3372      var key = (item && item.stockno && String(item.stockno).trim()) || '';
3373      if (!key) continue;
3374      var by1 = 0, by2 = 0, by3 = 0;
3375      var arr = (item.stores) || [];
3376      for (var j = 0; j < arr.length; j++) {
3377        var st = arr[j];
3378        var sn = String((st && st.storeno) != null ? st.storeno : '').trim();
3379        if (sn !== '1' && sn !== '2' && sn !== '3') continue;
3380        var onh = Number(st && st.onhand != null ? st.onhand : 0) || 0;
3381        var com = Number(st && st.committed != null ? st.committed : 0) || 0;
3382        var eff = Math.max(0, onh - com);
3383        if (sn === '1') by1 = eff;
3384        if (sn === '2') by2 = eff;
3385        if (sn === '3') by3 = eff;
3386      }
3387      var o = { bv: by1, ok: by2, wh: by3 };
3388      m[key] = o;
3389      m[key.toLowerCase()] = o;
3390    }
3391    return m;
3392  }
3393  function findStock(map, rawSku) {
3394    if (rawSku == null || String(rawSku).trim() === '') return null;
3395    var t = String(rawSku).trim();
3396    if (map[t] != null) return map[t];
3397    if (map[t.toLowerCase()] != null) return map[t.toLowerCase()];
3398    return null;
3399  }
3400  function canShowForVariantChoice(rootEl) {
3401    if (window.__productAtcRequiresExplicitChoice === false) return true;
3402    if (window.__productAtcRequiresExplicitChoice === true) {
3403      return !!window.__productVariantExplicitlyChosen;
3404    }
3405    if (rootEl && rootEl.getAttribute('data-pdp-initial-deferred') !== 'true') return true;
3406    return !!window.__productVariantExplicitlyChosen;
3407  }
3408  if (typeof jQuery === 'undefined') return;
3409  jQuery(function($) {
3410    window.__pdpStoreStockNotifyVariantResolved = function() {};
3411    var root = $('[data-pdp-store-locs]');
3412    if (!root.length) return;
3413    var errEl = root.find('[data-pdp-store-err]');
3414    var unavailEl = root.find('[data-pdp-store-unavailable]');
3415    var pillsWrap = root.find('[data-pdp-store-pills]');
3416    var hintEl = root.find('[data-pdp-store-hint]');
3417    var HINT_DEFERRED = 'Choose a product option above to see availability.';
3418    var HINT_LOADING = 'Checking availability…';
3419    var HINT_PICKUP = 'Not available in your store? Order online for In-Store Pick-Up.';
3420    var HINT_PICKUP_ALL_STORES = 'Shipping & In-Store Pick-Up services available for online orders.';
3421    var cache = null;
3422    var loadOk = false;
3423    var loading = false;
3424    function setErr(t) {
3425      if (t) { errEl.text(t).show(); } else { errEl.text('').hide(); }
3426    }
3427    function showLocationInventoryUnavailable() {
3428      root.addClass('pdp-store-locs--failed');
3429      unavailEl.removeAttr('hidden').attr('aria-hidden', 'false');
3430      setErr('');
3431      pillsWrap.attr('hidden', 'hidden');
3432      root.find('.pdp-store-loc-pill').removeClass('pdp-store-loc-pill--loading');
3433      root.find('[data-pdp-pill-glyph]').empty();
3434      updateAvailabilityHint();
3435    }
3436    function updateAvailabilityHint() {
3437      if (!hintEl.length) return;
3438      if (root.hasClass('pdp-store-locs--failed')) {
3439        hintEl.text('').addClass('pdp-store-locs__online-hint--inactive').attr('aria-hidden', 'true');
3440        return;
3441      }
3442      var $wh = root.find('[data-pdp-pill="wh"]');
3443      if ($wh.hasClass('pdp-store-loc-pill--loading')) {
3444        hintEl.text(HINT_LOADING).removeClass('pdp-store-locs__online-hint--inactive').attr('aria-hidden', 'false');
3445        return;
3446      }
3447      if (!canShowForVariantChoice(root[0])) {
3448        hintEl.text(HINT_DEFERRED).removeClass('pdp-store-locs__online-hint--inactive').attr('aria-hidden', 'false');
3449        return;
3450      }
3451      if ($wh.hasClass('pdp-store-loc-pill--instock')) {
3452        var bvIn = root.find('[data-pdp-pill="bv"]').hasClass('pdp-store-loc-pill--instock');
3453        var okIn = root.find('[data-pdp-pill="ok"]').hasClass('pdp-store-loc-pill--instock');
3454        var pickupMsg = (bvIn && okIn) ? HINT_PICKUP_ALL_STORES : HINT_PICKUP;
3455        hintEl.text(pickupMsg).removeClass('pdp-store-locs__online-hint--inactive').attr('aria-hidden', 'false');
3456        return;
3457      }
3458      var errVisible = errEl.length && errEl.is(':visible');
3459      if (errVisible) {
3460        hintEl.text('').addClass('pdp-store-locs__online-hint--inactive').attr('aria-hidden', 'true');
3461        return;
3462      }
3463      hintEl.text('').addClass('pdp-store-locs__online-hint--inactive').attr('aria-hidden', 'true');
3464    }
3465    function setPill($pill, inStock) {
3466      var g = $pill.find('[data-pdp-pill-glyph]');
3467      $pill.removeClass('pdp-store-loc-pill--instock pdp-store-loc-pill--oos pdp-store-loc-pill--awaiting pdp-store-loc-pill--loading');
3468      if (inStock) {
3469        $pill.addClass('pdp-store-loc-pill--instock');
3470        g.html('<i class="fa-solid fa-check" aria-hidden="true"></i>');
3471        $pill.attr('title', 'In stock');
3472      } else {
3473        $pill.addClass('pdp-store-loc-pill--oos');
3474        g.html('<i class="fa-solid fa-xmark" aria-hidden="true"></i>');
3475        $pill.attr('title', 'Out of stock');
3476      }
3477    }
3478    function setPillsAwaiting() {
3479      root.addClass('pdp-store-locs--pills-muted');
3480      root.find('.pdp-store-loc-pill').each(function() {
3481        var $p = $(this);
3482        $p.removeClass('pdp-store-loc-pill--instock pdp-store-loc-pill--oos pdp-store-loc-pill--loading').addClass('pdp-store-loc-pill--awaiting');
3483        $p.find('[data-pdp-pill-glyph]').empty();
3484        $p.removeAttr('title');
3485      });
3486    }
3487    function setPillsFromStock(st) {
3488      root.removeClass('pdp-store-locs--pills-muted');
3489      if (!st) {
3490        setPillsAwaiting();
3491        updateAvailabilityHint();
3492        return;
3493      }
3494      var atBv = typeof st.bv === 'number' && st.bv > 0;
3495      var atOk = typeof st.ok === 'number' && st.ok > 0;
3496      var atWh = typeof st.wh === 'number' && st.wh > 0;
3497      // Online: show in stock if inventory exists at any location (fulfillment possible site-wide)
3498      var onlineInStock = atBv || atOk || atWh;
3499      root.find('.pdp-store-loc-pill').each(function() {
3500        var k = $(this).attr('data-pdp-pill');
3501        if (k === 'wh') {
3502          setPill($(this), onlineInStock);
3503          // WH has no qty but pill is "in stock" from Bv/Ok — tooltip reflects purchase-
3503ability vs literal online shelf
3504          if (onlineInStock && !atWh) {
3505            $(this).attr('title', 'Available for purchase');
3506          }
3507          return;
3508        }
3509        var n = (k === 'bv' || k === 'ok') && st[k] != null ? st[k] : 0;
3510        setPill($(this), typeof n === 'number' && n > 0);
3511      });
3512      updateAvailabilityHint();
3513    }
3514    function render() {
3515      if (!cache) {
3516        updateAvailabilityHint();
3517        return;
3518      }
3519      if (!canShowForVariantChoice(root[0])) {
3520        setPillsAwaiting();
3521        pillsWrap.removeAttr('hidden');
3522        updateAvailabilityHint();
3523        return;
3524      }
3525      var sel = document.getElementById('product-select');
3526      if (!sel || !sel.value) {
3527        updateAvailabilityHint();
3528        return;
3529      }
3530      var v = variantById(sel.value);
3531      var raw = (v && v.sku) ? String(v.sku).trim() : '';
3532      setErr('');
3533      if (!raw) {
3534        setPillsAwaiting();
3535        setErr('This option has no SKU.');
3536        pillsWrap.removeAttr('hidden');
3537        updateAvailabilityHint();
3538        return;
3539      }
3540      var st = findStock(cache, raw);
3541      if (!st) {
3542        setPillsAwaiting();
3543        setErr('No store data for this SKU.');
3544        pillsWrap.removeAttr('hidden');
3545        updateAvailabilityHint();
3546        return;
3547      }
3548      setPillsFromStock(st);
3549      pillsWrap.removeAttr('hidden');
3550    }
3551    function fetchAll() {
3552      if (loadOk || loading) return;
3553      var list = listSkus();
3554      if (!list.length) {
3555        showLocationInventoryUnavailable();
3556        return;
3557      }
3558      loading = true;
3559      setErr('');
3560      var controller = (typeof AbortController !== 'undefined') ? new AbortController() : null;
3561      var timeoutId = setTimeout(function() {
3562        if (controller) {
3563          try { controller.abort(); } catch (a) {}
3564        }
3565      }, API_TIMEOUT_MS);
3566      var fetchOpts = {
3567        method: 'POST',
3568        headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },
3569        body: JSON.stringify({ skus: list }),
3570        credentials: 'same-origin',
3571        cache: 'no-store'
3572      };
3573      if (controller) fetchOpts.signal = controller.signal;
3574      fetch(END, fetchOpts)
3575        .then(function(r) {
3576          return r.text().then(function(t) {
3577            var j = null;
3578            try { j = JSON.parse(t); } catch (e) { throw new Error('Server did not return JSON.'); }
3579            if (!r.ok) {
3580              throw new Error('bad response');
3581            }
3582            return j;
3583          });
3584        })
3585        .then(function(data) {
3586          if (data && data.meta && data.meta.stockUnavailable) {
3587            throw new Error('stock-unavailable');
3588          }
3589          if (data && data.bySku && typeof data.bySku === 'object') {
3590            cache = buildMapFromBySku(data.bySku);
3591          } else {
3592            cache = buildMap((data && data.stockqtys) || []);
3593          }
3594          loadOk = true;
3595          render();
3596        })
3597        .catch(function() {
3598          showLocationInventoryUnavailable();
3599        })
3600        .then(function() {
3601          clearTimeout(timeoutId);
3602          loading = false;
3603        });
3604    }
3605    var _pdpStockDebounceTimer = null;
3606    var PDP_STOCK_DEBOUNCE_MS = 48;
3607    function clearStockRenderDebounce() {
3608      if (_pdpStockDebounceTimer) {
3609        clearTimeout(_pdpStockDebounceTimer);
3610        _pdpStockDebounceTimer = null;
3611      }
3612    }
3613    function scheduleStockPaintInRaf() {
3614      if (!cache) {
3615        updateAvailabilityHint();
3616        return;
3617      }
3618      requestAnimationFrame(function() { render(); });
3619    }
3620    /** `#product-select` may duplicate `change` events — debounce bursts. Overlap with OptionSelectors callbacks handled via `clearStockRenderDebounce()` in notify (below). */
3621    function scheduleStoreStockRenderFromMaster() {
3622      if (!cache) {
3623        updateAvailabilityHint();
3624        return;
3625      }
3626      clearStockRenderDebounce();
3627      _pdpStockDebounceTimer = setTimeout(function() {
3628        _pdpStockDebounceTimer = null;
3629        scheduleStockPaintInRaf();
3630      }, PDP_STOCK_DEBOUNCE_MS);
3631    }
3632    window.__pdpStoreStockNotifyVariantResolved = function() {
3633      clearStockRenderDebounce();
3634      if (!cache) {
3635        updateAvailabilityHint();
3636        return;
3637      }
3638      scheduleStockPaintInRaf();
3639    };
3640    function isPanelOpen() {
3641      var el = root[0];
3642      return !!(el && el.tagName === 'DETAILS' && el.open);
3643    }
3644    function startFetchWhenReady() {
3645      if (!isPanelOpen()) return;
3646      var retries = 25;
3647      var run = function() {
3648        if (loadOk || !isPanelOpen()) return;
3649        var v = window.Shopify && window.Shopify._productVariants;
3650        var nTotal = parseInt(String(root.attr('data-pdp-variant-total') || '0'), 10) || 0;
3651        // Multi-variant: wait for _productVariants to be non-empty (avoids a fetch with 0 SKUs). Single-variant: some themes keep [] (do not block on that).
3652        var vEmpty = Array.isArray(v) && v.length === 0;
3653        if (v == null || (nTotal > 1 && vEmpty)) {
3654          if (retries-- > 0) { setTimeout(run, 100); return; }
3655        }
3656        fetchAll();
3657      };
3658      setTimeout(run, 0);
3659    }
3660    // bfcache: Back/Forward restores the tab without a full reload — drop stale stock; refetch only if already expanded
3661    window.addEventListener('pageshow', function(ev) {
3662      if (!ev.persisted) return;
3663      loadOk = false;
3664      cache = null;
3665      loading = false;
3666      root.removeClass('pdp-store-locs--failed pdp-store-locs--pills-muted');
3667      unavailEl.attr('hidden', 'hidden').attr('aria-hidden', 'true');
3668      pillsWrap.removeAttr('hidden');
3669      errEl.text('').hide();
3670      root.find('.pdp-store-loc-pill').addClass('pdp-store-loc-pill--loading')
3671        .removeClass('pdp-store-loc-pill--instock pdp-store-loc-pill--oos pdp-store-loc-pill--awaiting');
3672      root.find('[data-pdp-pill-glyph]').html('<i class="fa-solid fa-spinner" aria-hidden="true"></i>');
3673      updateAvailabilityHint();
3674      startFetchWhenReady();
3675    });
3676    updateAvailabilityHint();
3677    function requestFetchIfOpen() {
3678      if (isPanelOpen()) startFetchWhenReady();
3679    }
3680    root[0].addEventListener('toggle', requestFetchIfOpen);
3681    /* iOS 11–13: nested spans inside <summary> often do not toggle <details>.
3682       If native toggle didn't change `open`, flip it ourselves. */
3683    root.find('summary').on('click', function() {
3684      var el = root[0];
3685      var wasOpen = !!(el && el.open);
3686      setTimeout(function() {
3687        if (el && el.open === wasOpen) {
3688          if (wasOpen) el.removeAttribute('open');
3689          else el.setAttribute('open', '');
3690        }
3691        requestFetchIfOpen();
3692      }, 0);
3693    });
3694    $(document).on('change', '#product-select', scheduleStoreStockRenderFromMaster);
3695  });
3696})();
3697</script>
3697
3698
3699
3700
3701                                    
3702                                                              		
3703                                <div id="shappify-qty-msg"></div>
3704                                
3705                            </div>
3706                          	
3707                          	
3708<style>
3709  #mainWrapper #product .product__buy-column .price-rating {
3710    width: 100%;
3711    max-width: 430px;
3712    box-sizing: border-box;
3713    border-bottom: 2px solid #eaeaea;
3714    padding-bottom: 10px;
3715  }
3716  @media (max-width: 767.9px) {
3717    #mainWrapper #product .product__buy-column .price-rating {
3718      max-width: 100%;
3719    }
3720  }
3721  #mainWrapper #product .product__buy-column > #add-item-form {
3722    margin-top: 0;
3723  }
3724  #mainWrapper #product .product__buy-column form .prod-options {
3725    padding-top: 10px;
3726  }
3727  #product .product-qty-field-label > .product-qty-field-label__title {
3728    padding-bottom: 5px;
3729    line-height: inherit;
3730  }
3731  #product .prod-options .container .select {
3732    display: -webkit-flex;
3733    display: flex;
3734    -webkit-flex-direction: column;
3735    flex-direction: column;
3736    -webkit-align-items: stretch;
3737    align-items: stretch;
3738    margin-bottom: 10px;
3739  }
3740  #product .prod-options .container .select > .selector-wrapper {
3741    min-height: 71px;
3742    margin-bottom: 10px;
3743    box-sizing: border-box;
3744  }
3745  #product .prod-options .container .select > .selector-wrapper:last-child {
3746    margin-bottom: 0;
3747  }
3748  @supports (gap: 1px) and (inset: 0) {
3749    #product .prod-options .container .select {
3750      gap: 10px;
3751    }
3752    #product .prod-options .container .select > .selector-wrapper {
3753      margin-bottom: 0;
3754    }
3755  }
3756  #product .pdp-store-locs {
3757    width: 100%;
3758    max-width: 430px;
3759    margin-bottom: 0;
3760    box-sizing: border-box;
3761  }
3762  @media (max-width: 767.9px) {
3763    #product .pdp-store-locs {
3764      max-width: 100%;
3765    }
3766  }
3767  #product .product-extras-note-wrap {
3768    width: 100%;
3769    max-width: 430px;
3770    min-width: 0;
3771    margin-top: 0;
3772    margin-bottom: 0;
3773    box-sizing: border-box;
3774    border-top: none;
3775    border-bottom: 2px solid #eaeaea;
3776    padding-top: 10px;
3777    padding-bottom: 10px;
3778    background: #fff;
3779  }
3780  #product .product-extras-note-wrap + .product-extras-note-wrap {
3781    margin-top: 0;
3782  }
3783  @media (max-width: 767.9px) {
3784    #product .product-extras-note-wrap {
3785      max-width: 100%;
3786    }
3787  }
3788  #product .selector-wrapper .product-qty-row {
3789    display: -webkit-flex;
3790    display: flex;
3791    -webkit-flex-direction: row;
3792    flex-direction: row;
3793    -webkit-flex-wrap: wrap;
3794    flex-wrap: wrap;
3795    -webkit-align-items: center;
3796    align-items: center;
3797    -webkit-align-content: flex-start;
3798    align-content: flex-start;
3799    min-width: 0;
3800    max-width: 100%;
3801    box-sizing: border-box;
3802  }
3803  #product .selector-wrapper .product-qty-row > .product-qty-stepper {
3804    margin: 0 10px 8px 0;
3805  }
3806  #product .selector-wrapper .product-qty-row > .product-qty-field-label__chips {
3807    margin: 0;
3808  }
3809  @supports (gap: 1px) and (inset: 0) {
3810    #product .selector-wrapper .product-qty-row {
3811      gap: 10px;
3812    }
3813    #product .selector-wrapper .product-qty-row > .product-qty-stepper {
3814      margin: 0;
3815    }
3816  }
3817  #product .selector-wrapper .product-qty-row .product-qty-stepper {
3818    -webkit-flex: 0 0 auto;
3819    flex: 0 0 auto;
3820    width: 150px;
3821    max-width: 150px;
3822    -webkit-align-self: center;
3823    align-self: center;
3824    box-sizing: border-box;
3825  }
3826  #product .product-qty-field-label__chips {
3827    display: -webkit-flex;
3828    display: flex;
3829    -webkit-flex-direction: row;
3830    flex-direction: row;
3831    -webkit-flex-wrap: wrap;
3832    flex-wrap: wrap;
3833    -webkit-align-items: center;
3834    align-items: center;
3835    -webkit-align-self: center;
3836    align-self: center;
3837    -webkit-flex: 1 1 auto;
3838    flex: 1 1 auto;
3839    min-width: 12.5rem;
3840    max-width: 100%;
3841    min-height: 0;
3842    box-sizing: border-box;
3843    line-height: 0;
3844  }
3845  html.product-variant-stock-deferred #product .product-qty-field-label__chips,
3846  #product .product-qty-field-label__chips--empty {
3847    display: none !important;
3848  }
3849  #product .product-qty-field-label__chips > .product-qty-chip:not([hidden]) + .product-qty-chip:not([hidden]) {
3850    margin-left: 8px;
3851  }
3852  @supports (gap: 1px) and (inset: 0) {
3853    #product .product-qty-field-label__chips {
3854      gap: 8px;
3855    }
3856    #product .product-qty-field-label__chips > .product-qty-chip:not([hidden]) + .product-qty-chip:not([hidden]) {
3857      margin-left: 0;
3858    }
3859  }
3860  #product .product-qty-chip {
3861    display: -webkit-inline-flex;
3862    display: inline-flex;
3863    -webkit-align-items: center;
3864    align-items: center;
3865    line-height: 1.35;
3866    max-width: 100%;
3867    box-sizing: border-box;
3868  }
3869  #product .product-qty-chip--stock,
3870  #product .product-qty-chip--cart {
3871    white-space: nowrap;
3872    -webkit-flex-shrink: 0;
3873    flex-shrink: 0;
3874    max-width: 100%;
3875  }
3876  #product .product-extras-note-wrap .product-extras-note-section.copy {
3877    width: 100%;
3878    display: block;
3879  }
3880  #product .product-extras-note-wrap .product-extras-note-section.header.service_click:not(.pdp-product-videos__trigger) {
3881    display: -webkit-flex !important;
3882    display: flex !important;
3883    -webkit-flex-wrap: nowrap;
3884    flex-wrap: nowrap;
3885    -webkit-align-items: center;
3886    align-items: center;
3887    position: relative;
3888    width: 100% !important;
3889    max-width: 100%;
3890    box-sizing: border-box;
3891    overflow: visible;
3892    padding-bottom: 0;
3893    padding-right: 0;
3894    -webkit-user-select: none;
3895    user-select: none;
3896    touch-action: manipulation;
3897  }
3898  #product .product-extras-note-wrap .product-extras-note-section.header.service_click.click_opened:not(.pdp-product-videos__trigger),
3899  #product .product-extras-note-wrap .product-extras-note-section.header.service_click--no-toggle {
3900    padding-bottom: 7px;
3901  }
3902  #product .product-extras-note-wrap .product-extras-note-section.header.service_click:not(.service_click--no-toggle):not(.pdp-product-videos__trigger)::before {
3903    content: none !important;
3904    display: none !important;
3905  }
3906  #product .product-extras-note-wrap .product-extras-note-section.header.service_click:not(.service_click--no-toggle):not(.pdp-product-videos__trigger)::after,
3907  #product .product-extras-note-wrap .product-extras-note-section.header.service_click:not(.service_click--no-toggle):not(.pdp-product-videos__trigger).click_closed::after,
3908  #product .product-extras-note-wrap .product-extras-note-section.header.service_click:not(.service_click--no-toggle):not(.pdp-product-videos__trigger).click_opened::after {
3909    font-family: inherit !important;
3910    font-weight: 400 !important;
3911    content: '' !important;
3912    display: block !important;
3913    float: none !important;
3914    position: static !important;
3915    top: auto !important;
3916    right: auto !important;
3917    -webkit-flex: 0 0 auto;
3918    flex: 0 0 auto;
3919    -webkit-align-self: center;
3920    align-self: center;
3921    width: 8px !important;
3922    height: 8px !important;
3923    margin: 0 0 0 auto !important;
3924    padding: 0 !important;
3925    color: transparent !important;
3926    line-height: 0 !important;
3927    vertical-align: middle;
3928    box-sizing: content-box;
3929    border: none !important;
3930    border-right: 2px solid #868e96 !important;
3931    border-bottom: 2px solid #868e96 !important;
3932    background: none !important;
3933    -webkit-transform: rotate(45deg);
3934    transform: rotate(45deg);
3935    -webkit-transform-origin: 50% 50%;
3936    transform-origin: 50% 50%;
3937    -webkit-transition: transform 0.15s ease;
3938    transition: transform 0.15s ease;
3939    pointer-events: none;
3940  }
3941  #product .product-extras-note-wrap .product-extras-note-section.header.service_click.click_opened:not(.service_click--no-toggle):not(.pdp-product-videos__trigger)::after {
3942    -webkit-transform: rotate(225deg);
3943    transform: rotate(225deg);
3944  }
3945  #product .product-extras-note-wrap .product-extras-note-section.header.service_click--no-toggle::after,
3946  #product #service_click.service_click--no-toggle::after {
3947    content: none !important;
3948    display: none !important;
3949    border: none !important;
3950    width: 0 !important;
3951    height: 0 !important;
3952    margin: 0 !important;
3953  }
3954  #product .product-extras-note-wrap .product-extras-note-section.header.service_click:not(.service_click--no-toggle):not(.pdp-product-videos__trigger):focus {
3955    outline: none;
3956  }
3957  #product .product-extras-note-wrap .product-extras-note-section.header.service_click:not(.service_click--no-toggle):not(.pdp-product-videos__trigger):focus-visible {
3958    outline: 2px solid var(--color-dark-purple, #581c87);
3959    outline-offset: 2px;
3960    border-radius: 4px;
3961  }
3962</style>
3963
3964                          	
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975  
3976  
3977  
3978  
3979  
3980
3981  
3982  
3983
3984  
3985
3986  
3987
3988  
3989  
3990
3991  
3992
3993  
3994
3995	
3996  
3997  
3998    
3999	  
4000        
4001        
4002        
4003        
4004        
4005        
4006      
4007    	
4008        
4009        
4010    
4011    	
4012        
4013    	
4014    	
4015    	
4016    	
4017    	
4018    
4019    	
4020    
4021    	
4022        
4023        
4024        
4025          
4026        
4027    	<div class="product-extras-note-wrap">
4028          <div class="product-extras-note-inner-wrap">
4029            <div class="product-extras-note-section icon"><i class="fas fa-gift"></i></div>
4030            <div class="product-extras-note-section copy">
4031              <div class="product-extras-note-section header click_closed service_click">Gift Wrapping Service</div>
4032              <div class="accordion-content">
4033                <div class="product-extras-note-section details"><span style="color:#4d4d4d;">Add gift wrapping to this item for $15.00 each.</span><span style="font-size:85%;display:block;">Service available online only. Some items are not available with this service. Option must be selected for each item. Items will be wrapped separately unless otherwise directed in cart page order comments. Wrapping paper varies. Gift-wrapped items have prices masked or removed.</span></div>
4034                
4035                <div class="gift-wrapping-toggle-outer">
4036                  
4037
4038<div class="gift-wrapping-toggle-wrap">
4039  <label class="gift-wrapping-toggle stringing-type-btn">
4040    <input
4041      type="checkbox"
4042      id="giftwrapservice"
4043      class="gift-wrapping-toggle__input"
4044      value="39600617062490"
4045      data-gq="false"
4046      autocomplete="off"
4047      onchange="if (typeof window.motSyncAddonToggleCheckedLabel === 'function') window.motSyncAddonToggleCheckedLabel(this);"
4048    />
4049    <span class="stringing-type-btn__check" aria-hidden="true"></span>
4050    <span class="stringing-type-btn__text">Add gift wrapping</span>
4051  </label>
4052</div>
4053
4054                </div>
4055              </div>
4056              <noscript><div class="nojs_notice"><i class="fas fa-exclamation-triangle"></i> Please re-enable your browser's JavaScript feature to access Gift Wrapping Service</div></noscript>          
4057           </div>
4058          </div>
4059        </div>
4060	
4061    
4062  
4063  
4064
4065  
4066
4067  
4068
4069  
4070
4071  
4072
4073  
4074
4075  
4076
4077  
4078
4079  
4080
4081  
4082
4083  
4084
4085  
4086
4087  
4088
4089  
4090
4091    
4092
4093  
4094
4095  
4096
4097  
4098
4099    
4100
4101  
4102
4103  
4104  
4105
4106  
4107  
4108  
4109  
4110  
4111
4112  
4113  
4114
4115  
4116  
4117
4118
4119
4120
4121
4122
4123  
4124    
4125    
4126    
4127
4128
4129
4130
4131    
4132  
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150  
4151
4152  
4153  
4154
4155
4156
4157
4158
4159
4160  
4161    
4162    
4163    
4164
4165
4166
4167
4168    
4169  
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191  
4192
4193  
4194  
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206  
4207  
4208    
4209    
4210    
4211    
4212    
4213    
4214      
4215      
4216      
4217
4218
4219
4220
4221      
4222    
4223    
4224  
4225
4226  
4227  
4228    
4229    
4230    
4231    
4232    
4233    
4234      
4235      
4236      
4237
4238
4239
4240
4241      
4242    
4243    
4244  
4245
4246  
4247  
4248    
4249    
4250    
4251    
4252    
4253    
4254      
4255      
4256      
4257
4258
4259
4260
4261      
4262    
4263    
4264  
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286  
4287
4288  
4289
4290  
4291
4292  
4293  
4294
4295  
4296
4297  
4298
4299  
4300
4301  
4302
4303  
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320                          	
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333  
4334  
4335  
4336
4337  
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351                          	<div id="bundleIN"></div>
4352                			
4353                			
4354                            
4355                            	
4356                            
4357                            
4358                                <input id="product_type" type="hidden" value="" />
4359                            
4360
4361                            
4362                        </div>
4363                        
4364                         <div class="container atc-wrap purchase-section multiple">
4365                            <div class="purchase">
4366                                
4367                                    
4368                                        	<button type="submit" id="add-to-cart" class="btn addtocart addToCartBtn" name="add" value="Add to Cart"><span class="addtocart__spinner" aria-hidden="true"></span><span class="addtocart__label">Add to Cart</span></button>
4369                              			
4370                              			<div id="addtocart-error-main" style="display:none;margin-top:10px;"></div>
4371                              			
4372
4373
4374
4375
4376
4377<script type="application/javascript">
4378    (function() {
4379      function applyGeoRestrictions(json) {
4380        var el = document.getElementById("international-shipping-warning");
4381        if (!el || !json || !json.country_code) return;
4382
4383        var countryCode     = json.country_code;          // e.g. "US", "CA", "GL"
4384        var codesStr        = el.dataset.restrictCountries || '';
4385        var brandRestricted = el.dataset.brandRestricted === 'true';
4386        var codes           = codesStr ? codesStr.split(',') : [];
4387        var isRestrictedCountry = codes.indexOf(countryCode) !== -1;
4388
4389        if (isRestrictedCountry) {
4390          // Country specifically restricted – applies to ALL products
4391          el.style.display = ''; // ensure visible even on non-brand-restricted products
4392          el.classList.add("geo-international");
4393          el.innerHTML =
4394            '<i class="fas fa-exclamation-triangle" style="color:red;"></i> ' +
4395            'Shipping to ' + countryCode + ' is currently restricted.';
4396        } else if (brandRestricted) {
4397          // Brand/tag restricted, but country NOT in the Country Restrictions list
4398          // - CA: default CA-only message (already rendered in Liquid)
4399          // - Non-CA: highlight only
4400          el.style.display = ''; // make sure it's visible
4401          if (countryCode !== 'CA') {
4402            el.classList.add("geo-international");
4403          }
4404        } else {
4405          // Not brand restricted and not in restricted country list:
4406          // leave hidden (non-restricted product, non-restricted country)
4407        }
4408      }
4409
4410      // GeoJS callback
4411      window.geoip = function(json) {
4412        if (document.readyState === 'loading') {
4413          document.addEventListener('DOMContentLoaded', function() {
4414            applyGeoRestrictions(json);
4415          });
4416        } else {
4417          applyGeoRestrictions(json);
4418        }
4419      };
4420    })();
4421  </script>
4421
4422  
4422<script src="https://get.geojs.io/v1/ip/geo.js"></script>
4422<div class="nojs_notice_subtle"
4423       id="international-shipping-warning"
4424       data-restrict-countries="US"
4425       data-brand-restricted="false"
4426       style="display:none;"></div>
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436  
4437    <div style="display:none;" class="nojs_notice warning delivery-delay-variant-message">Potential delivery delay</div>
4438  
4439
4440
4441
4442
4443
4444
4445                                        
4446                                        
4447                                        
4448
4449									
4450									
4451									
4452									
4453									
4454									
4455									<div class="pdp-wishlist-demo-row">
4456									
4457									
4458                                      
4459                                      
4460                                      <div class="wishlist_panel_wrap2 wishlist_panel_wrap2--deferred-heart" id="wishlist_wrap">                                        
4461                                        <div class="sectional">
4462                                          
4463  
4464  
4465  
4466  
4467  
4468  <div class="iwishAddWrap iwish-app-block-product iwish-heart--hidden"><a class="iWishAdd st-1" href="#" aria-disabled="true" title="Choose an option to add to your wishlist" data-variant="53707206820203" data-product="15196697756011" data-pTitle="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook"><svg viewBox="0 0 256 256" width="20" class="iwish-heart-svg iwish-heart-svg--outline" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect fill="none" height="256" width="256"></rect><path d="M128,216S28,160,28,92A52,52,0,0,1,128,72h0A52,52,0,0,1,228,92C228,160,128,216,128,216Z" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path></svg></a></div>
4469
4470                                        </div>
4471                                        <div class="sectional">
4472                                          
4473  <a class="iwishPage header__icon small-hide" href="/apps/iwish" title="Wishlist"><span class="iwish-page-label-text">Wishlist</span> <span class="iwish-counter">0</span></a>
4474
4475                                        </div>
4476                                      </div>
4477									
4478                              		
4479									
4480									</div>
4481									
4482                                
4483                            </div>
4484                        </div>
4485                        <div id="cart-animation" style="display:none">1</div>
4486                    </div>
4487                    <div class="prod-options-outofstock" style="display:none;"><div class="container"><div class="oufofstock_notice_header"><i class="fas fa-times-circle"></i> Out of stock</div><p>This item is currently out of stock.</p></div></div>
4488                    <div class="clear"></div>
4489                    <!-- Stringing #soModal: full-width below product__pdp-top (not inside buy column) -->
4490                    <!-- End product options -->
4491                </form>
4492            
4493            <div class="clear back-here"></div>
4494          	
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509  
4510  
4511  
4512
4513  
4514  
4515  
4516  
4517
4518  
4519
4520  
4521
4522  
4523
4524  
4525
4526  
4527
4528
4529
4530
4531
4532
4533  
4534    
4535    
4536    
4537
4538
4539
4540
4541    
4542  
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560  
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572  
4573  
4574    
4575    
4576    
4577    
4578    
4579    
4580      
4581      
4582      
4583
4584
4585
4586
4587      
4588    
4589    
4590  
4591
4592  
4593  
4594    
4595    
4596    
4597    
4598    
4599    
4600      
4601      
4602      
4603
4604
4605
4606
4607      
4608    
4609    
4610  
4611
4612  
4613  
4614    
4615    
4616    
4617    
4618    
4619    
4620      
4621      
4622      
4623
4624
4625
4626
4627      
4628    
4629    
4630  
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652  
4653
4654
4655
4656
4657
4658
4659  
4660    
4661    
4662    
4663
4664
4665
4666
4667    
4668  
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690  
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703			<div id="bundleOUT"></div>
4704						
4705          				
4706						<input type="hidden" id="bundle_id" name="properties[_Stringing ID]" value="" />
4707          				<input type="hidden" id="ASRC_id" name="properties[_ASRC]" value="Final Sale" />
4708                        <input type="hidden" id="gift_id" name="properties[_Gift ID]" value="92410" />
4709          				<input type="hidden" id="promo_id" name="properties[_Promo ID]" value="92410" />
4710          				<input type="hidden" id="gift_wrapping" name="properties[Gift Wrapping]" value="Selected" />
4711          				<input type="hidden" id="gift_wrapping_id" name="properties[_Gift Wrapping ID]" value="92410" />
4712                        <input type="hidden" id="cover_id" name="properties[_Cover ID]" value="92410" />
4713          				
4714          					<input id="delivery_delay_cart_attribute" type="hidden" name="properties[Delivery]" value="Potential Delay" />
4715          				
4716          				
4717                        
4718                        
4719          	<!-- Wishlist Control Panl & Discount Notify -->
4720          	
4721            <div class="discount-bar"><div class="container">
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757</div></div>
4758            
4759          	
4760          	
4761
4762
4763
4764
4765
4766          	<div id="reviewjumpto"></div>
4767            </div>
4768            </div><!-- end product__pdp-top -->
4769                    <div class="stringing-options-modal product__stringing-fullwidth" id="soModal">
4770                        <div class="stringing-options-content">
4771                            <div class="ss-options">
4772                                <div class="ss-modal-l">                                  
4773                                  	<h3>Stringing Service Options</h3>
4774                                  	
4775                                  	<span class="stringing_service_description">Your racquet will be strung for a <span class="stringing-price">$25</span> service fee plus cost of string.</span>
4776                                  	<span class="stringing_service_description"><a href="/blogs/strings/30230593-understanding-tennis-strings" target="_blank">Understanding tennis strings</a></span>
4777                                  	<div style="display:none;" id="tension-recommended"></div>
4778                                </div>
4779                                <div class="clearmobile"></div>
4780                                <div class="ss-modal-r">
4781                                    
4782                                        <div id="stringtype">
4783                                            
4784                                        </div>
4785                                        <div id="string-service-error-stringtype" class="string-service-form-warning" role="alert" aria-live="polite" aria-hidden="true"></div>
4786                                        <div id="stringing-type-suggestions"></div>
4787                                        <div id="string-filters-root"></div> 
4788                                        <div id="stringing-options-regular" class="stringing-options-regular" style="display:none;">
4789                                           <!-- <span class="s-options">Stringing Options for Regular</span> -->
4790                                           
4791                                        </div>
4792                                        <div id="string-service-error-regular" class="string-service-form-warning" role="alert" aria-live="polite" aria-hidden="true"></div>
4793                                        <div id="stringing-options-hybrid" class="stringing-options-hybrid" style="display:none;">
4794                                            <!-- <span class="s-options">Stringing Options for Hybrid</span> -->
4795                                            
4796                                        </div>
4797                                    </div>
4798                                    <div class="clear"></div>
4799                            </div>                              
4800                          <label id="stringing_note_label" for="stringing_note"><span style="font-size:18px;font-weight:400;color: #4d4d4d;display:block;">Special Instructions</span>If you have any special instructions for your stringing, note them below.<br/>(eg: if you would like a brand stencil applied, etc).<br/>When you are finished, click the "Add to Cart" button below.</label>
4801                      	  <textarea id="stringing_note" name="stringing_note" form="add-item-form" rows="10" cols="50" maxlength="400"></textarea>
4802                          <div class="stringing-atc-wrap">
4803                            
4804                              
4805                                <button type="submit" class="btn addtocart addToCartBtn stringing-ad
4805dtocart" name="add" value="Add to Cart" form="add-item-form"><span class="addtocart__spinner" aria-hidden="true"></span><span class="addtocart__label">Add to Cart</span></button>
4806                              
4807                            
4808                            <div id="addtocart-error-stringing" style="display:none;margin-top:10px;"></div>
4809                            
4810
4811
4812
4813
4814
4815<div class="product-page-atc-notices product-page-atc-notices--stringing">
4816
4817<script type="application/javascript">
4818    (function() {
4819      function applyGeoRestrictions(json) {
4820        var el = document.getElementById("international-shipping-warning");
4821        if (!el || !json || !json.country_code) return;
4822
4823        var countryCode     = json.country_code;          // e.g. "US", "CA", "GL"
4824        var codesStr        = el.dataset.restrictCountries || '';
4825        var brandRestricted = el.dataset.brandRestricted === 'true';
4826        var codes           = codesStr ? codesStr.split(',') : [];
4827        var isRestrictedCountry = codes.indexOf(countryCode) !== -1;
4828
4829        if (isRestrictedCountry) {
4830          // Country specifically restricted – applies to ALL products
4831          el.style.display = ''; // ensure visible even on non-brand-restricted products
4832          el.classList.add("geo-international");
4833          el.innerHTML =
4834            '<i class="fas fa-exclamation-triangle" style="color:red;"></i> ' +
4835            'Shipping to ' + countryCode + ' is currently restricted.';
4836        } else if (brandRestricted) {
4837          // Brand/tag restricted, but country NOT in the Country Restrictions list
4838          // - CA: default CA-only message (already rendered in Liquid)
4839          // - Non-CA: highlight only
4840          el.style.display = ''; // make sure it's visible
4841          if (countryCode !== 'CA') {
4842            el.classList.add("geo-international");
4843          }
4844        } else {
4845          // Not brand restricted and not in restricted country list:
4846          // leave hidden (non-restricted product, non-restricted country)
4847        }
4848      }
4849
4850      // GeoJS callback
4851      window.geoip = function(json) {
4852        if (document.readyState === 'loading') {
4853          document.addEventListener('DOMContentLoaded', function() {
4854            applyGeoRestrictions(json);
4855          });
4856        } else {
4857          applyGeoRestrictions(json);
4858        }
4859      };
4860    })();
4861  </script>
4861
4862  
4862<script src="https://get.geojs.io/v1/ip/geo.js"></script>
4862<div class="nojs_notice_subtle"
4863       id="international-shipping-warning"
4864       data-restrict-countries="US"
4865       data-brand-restricted="false"
4866       style="display:none;"></div>
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876  
4877    <div style="display:none;" class="nojs_notice warning delivery-delay-variant-message">Potential delivery delay</div>
4878  
4879
4880
4881
4882
4883
4884</div>
4885
4886
4887                          </div>
4888                        </div>                      
4889                      
4890                    </div>
4891                    
4892                    
4893                    
4894                    
4895                    
4896                    
4897                    
4898                    
4899                    
4900                    
4901                    
4902                    
4903                    
4904                    
4905                    
4906                    
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916                    
4917                    
4918
4919  
4920
4921
4922  
4923  
4924    
4925      
4926      
4927      
4928      
4929    
4930      
4931      
4932      
4933      
4934    
4935      
4936      
4937      
4938      
4939    
4940      
4941      
4942      
4943      
4944    
4945      
4946      
4947      
4948      
4949    
4950      
4951      
4952      
4953      
4954    
4955      
4956      
4957      
4958      
4959    
4960      
4961      
4962      
4963      
4964    
4965      
4966      
4967      
4968      
4969    
4970      
4971      
4972      
4973      
4974    
4975      
4976      
4977      
4978      
4979    
4980      
4981      
4982      
4983      
4984    
4985      
4986      
4987      
4988      
4989    
4990      
4991      
4992      
4993      
4994    
4995      
4996      
4997      
4998      
4999    
5000      
5001      
5002      
5003      
5004    
5005      
5006      
5007      
5008      
5009    
5010      
5011      
5012      
5013      
5014    
5015      
5016      
5017      
5018      
5019    
5020      
5021      
5022      
5023      
5024    
5025      
5026      
5027      
5028      
5029    
5030      
5031      
5032      
5033      
5034    
5035      
5036      
5037      
5038      
5039    
5040      
5041      
5042      
5043      
5044    
5045      
5046      
5047      
5048      
5049    
5050      
5051      
5052      
5053      
5054    
5055  
5056
5057  
5058  
5059
5060  
5061  
5062
5063  
5064  
5065
5066  
5067  
5068
5069  
5070  
5071
5072  
5073  
5074
5075  
5076  
5077
5078
5079
5080                    
5081          	<div class="prodInfoTabs">
5082                <ul class="tabs">
5083                    <li><a href="#description">Description</a></li>
5084                    
5085                    <li class="specifications-tab"><a href="#specifications">Specifications</a></li>
5086                  	
5087                    <li><a href="#reviews" id="reviewclick_dtop">Reviews</a></li>                    
5088                  	
5089                    <li><a href="#shipping">Shipping &amp; Returns</a></li>
5090                </ul>
5091                <span class="accord-title pull-me-out-handle description-title">Description</span>
5092                <div class="accordionSection pull-me-out" id="description" itemprop="description">
5093                    
5094<div class="pdp-description-rte"><p>Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.</p>
5095<p><strong>Suits All Racquet Sports</strong></p>
5096<p>Tennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.</p>
5097<p><strong>Stable Yet Agile</strong></p>
5098<p>For the perfect balance of stability and agility, On have added a 3/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.</p>
5099<p><strong>Feels Good</strong></p>
5100<p>Soft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.</p>
5101<ul class="prod_spec">
5102<li>Heel to toe drop: 5mm<br>
5103</li>
5104<li>Helion superfoam midsole for stability and long-term wear<br>
5105</li>
5106<li>Speedboard for stability and responsiveness<br>
5107</li>
5108<li>Lightweight, breathable upper<br>
5109</li>
5110<li>TPU toe cap for added durability<br>
5111</li>
5112<li>Molded medial piece protects against tearing during slides<br>
5113</li>
5114<li>Versatile herringbone grip, perfect for any racket sport.<br>
5115</li>
5116<li>Year: 2026<br>
5117</li>
5118<li>Weight: 15 ounces (size 10.5)<br>
5119</li>
5120<li>Colour: Wash/Brook<br>
5121</li>
5122<li>Style #: 3MG30075206<br>
5123</li>
5124</ul></div>
5125
5126
5127
5128<div class="pdp-handy-info-cluster">
5129<div class="product-handy-info">
5130  <div class="product-handy-info-section">
5131      This shoe's outsole has been optimized for both hard &amp; clay court surfaces offering a balance of performance for those who play on either court surface.
5132    </div>
5133  
5134  <div class="product-handy-info-section">
5135	
5136
5137
5138
5139  <nav class="handy-links" aria-label="Additional information">
5140    <h3 class="handy-links__title">Additional information</h3>
5141    <ul class="handy-links__list">
5142      
5143
5144      
5145
5146      
5147        
5148          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/footwear/18431281-why-you-need-tennis-shoes">Why you need tennis shoes</a></li>
5149          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/footwear/18431569-which-tennis-shoe-is-best-for-you">Which tennis shoe is best for you</a></li>
5150        
5151      
5152
5153      
5154
5155      
5156
5157      
5158        
5159          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/pickleball/what-shoes-do-i-need-for-pickleball">What shoes do I need for Pickleball?</a></li>
5160          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/pickleball/10-things-you-should-know-about-pickleball">10 things you should know about Pickleball</a></li>
5161        
5162      
5163
5164      
5165
5166      
5167
5168      
5169
5170      
5171
5172      
5173
5174      
5175
5176      
5177    </ul>
5178  </nav>
5179
5180
5181  </div>
5182  
5183</div>
5184</div>
5185
5186
5187<p class="pdp-upc-line">UPC#<span class="pdp-upc-value"></span></p>
5188
5189
5190                </div>
5191                
5192              	
5193                
5194                <span class="accord-title specifications-tab">Specifications</span>
5195                <div class="accordionSection specifications-tab" id="specifications">
5196                    <div class="spec-insert"></div>
5197                    <div class="pdp-spec-ul-liquid"></div>
5198                    
5199                    
5200                </div>
5201                
5202                
5203                <span class="accord-title">Reviews
5204                    <span class="accord-review">
5205                        <div class="after-me-2"></div>
5206                    </span>
5207                </span>
5208                <div class="accordionSection" id="reviews">
5209                    <div id="review-mover">
5210                      
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441               		  
5442                      
5443                      <div id="pdp-reviews-async-status" class="pdp-reviews-async-status" role="status" aria-live="polite" aria-atomic="true" aria-busy="true">
5444                        <p class="pdp-reviews-async-status__loading">Loading reviews…</p>
5445                        <p class="pdp-reviews-async-status__error" hidden>Reviews could not be loaded. Please try refreshing the page.</p>
5446                      </div>
5447                      <div id="stamped-main-widget"
5448                      data-widget-type="standard" 
5449                      data-product-id="15196697756011" 
5450                      data-name="On Men&#39;s THE ROGER Clubhouse Pro 2 - Wash/Brook" 
5451                      data-url="https://www.merchantoftennis.com/products/on-mens-the-roger-clubhouse-pro-2-wash-brook"
5452                      data-image-url="https://www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock1a.jpg?v=1786475000&width=1024"
5453                      data-description="&lt;p&gt;Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.&lt;/p&gt;
5454&lt;p&gt;&lt;strong&gt;Suits All Racquet Sports&lt;/strong&gt;&lt;/p&gt;
5455&lt;p&gt;Tennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it&#39;s perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it&#39;s built to last.&lt;/p&gt;
5456&lt;p&gt;&lt;strong&gt;Stable Yet Agile&lt;/strong&gt;&lt;/p&gt;
5457&lt;p&gt;For the perfect balance of stability and agility, On have added a 3/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.&lt;/p&gt;
5458&lt;p&gt;&lt;strong&gt;Feels Good&lt;/strong&gt;&lt;/p&gt;
5459&lt;p&gt;Soft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe&#39;s shape and footbed further improve fit and comfort.&lt;/p&gt;
5460&lt;ul class=&quot;prod_spec&quot;&gt;
5461&lt;li&gt;Heel to toe drop: 5mm&lt;br&gt;
5462&lt;/li&gt;
5463&lt;li&gt;Helion superfoam midsole for stability and long-term wear&lt;br&gt;
5464&lt;/li&gt;
5465&lt;li&gt;Speedboard for stability and responsiveness&lt;br&gt;
5466&lt;/li&gt;
5467&lt;li&gt;Lightweight, breathable upper&lt;br&gt;
5468&lt;/li&gt;
5469&lt;li&gt;TPU toe cap for added durability&lt;br&gt;
5470&lt;/li&gt;
5471&lt;li&gt;Molded medial piece protects against tearing during slides&lt;br&gt;
5472&lt;/li&gt;
5473&lt;li&gt;Versatile herringbone grip, perfect for any racket sport.&lt;br&gt;
5474&lt;/li&gt;
5475&lt;li&gt;Year: 2026&lt;br&gt;
5476&lt;/li&gt;
5477&lt;li&gt;Weight: 15 ounces (size 10.5)&lt;br&gt;
5478&lt;/li&gt;
5479&lt;li&gt;Colour: Wash/Brook&lt;br&gt;
5480&lt;/li&gt;
5481&lt;li&gt;Style #: 3MG30075206&lt;br&gt;
5482&lt;/li&gt;
5483&lt;/ul&gt;"
5484                      data-product-sku="on-mens-the-roger-clubhouse-pro-2-wash-brook"
5485                      data-widget-language=""
5486                      data-offset="150"></div>
5487                      <div id="stamped-reviews-widget" data-widget-type="checkout-comments" data-style="box" data-product-ids="15196697756011" data-total-comments="1" data-title="Why Choose This Product?"></div>
5488                  	</div>
5489                    <div class="show-reviews" id="review-dtop"></div>
5490                </div>
5491                <span class="accord-title accord-last">Shipping &amp; Returns</span>
5492                <div class="accordionSection" id="shipping">                        
5493                  	
5494  
5495    
5496    
5497<div class="pdp-shipping-returns">
5498  <section class="pdp-shipping-returns__section" aria-label="Shipping details">
5499    <h2 class="pdp-shipping-returns__heading">Shipping</h2>
5500    <p class="pdp-shipping-returns__block">Most orders ship within 1–3 business days (up to 5 during peak periods). Free shipping is available on qualifying Canadian orders over $99. Delivery times vary based on location and shipping method. In-store pickup is also available. Merchant of Tennis is not responsible for packages lost or stolen after confirmed delivery. <a href="/pages/shipping-information">View our full shipping policy</a> for details.</p>
5501    
5502    
5503    
5504  </section>
5505
5506  
5507
5508  <section class="pdp-shipping-returns__section" aria-label="Returns policy">
5509    <h2 class="pdp-shipping-returns__heading">Footwear Returns</h2>
5510    <p class="pdp-shipping-returns__block">Each item has a certain set of prerequisites that must all be met in order to return said item.</p>
5511    
5512 <div class="pdp-shipping-returns__rte rte">
5513    
5514    
5515      
5516      
5517    
5518      
5519      
5520    
5521      
5522      
5523    
5524      
5525      
5526    
5527      
5528      
5529    
5530      
5531      
5532    
5533      
5534      
5535    
5536      
5537      
5538    
5539      
5540      
5541        Shoes must be unworn and in the same condition as sold.<br>Shoes may be tried on for fit on a clean surface only.<br>Shoe box must be the manufacturer's original box.<br> Shoe box must be covered/protected, undamaged, unmarked and without any adhesive additions (such as tape etc).<br>Returns without shoe box are not accepted.
5542        
5543      
5544    
5545      
5546      
5547    
5548  </div>
5549    
5550    
5551    
5552      <p class="pdp-shipping-returns__block">Regular priced items may be returned within 30 days of ordering for a refund or exchange.</p>
5553      <p class="pdp-shipping-returns__block">Sale items (discounted less than 40%) may be exchanged or returned for store credit or our gift card within 30 days.</p>
5554      <p class="pdp-shipping-returns__block">No refunds or exchanges on Clearance Items (discounted 40% or more), strung racquets, water bottles, undergarments, worn or damaged product, opened massage devices and gift cards.</p>
5555      <p class="pdp-shipping-returns__block">Customers are responsible for shipping fees on return shipments for refund or exchange. Most exchanged shipments can be shipped back to the customer at no extra cost. Return shipping must be a pre-paid, traceable method to ensure safe delivery.</p>
5556      <p class="pdp-shipping-returns__block">Primary product packaging (e.g. shoe boxes) must be covered and protected during return shipping, otherwise the return may not be accepted.</p>
5557    
5558    <p class="pdp-shipping-returns__block">More conditions may apply: <a href="/pages/refunds-exchanges">view our full return policy</a></p>
5559  </section>
5560</div>
5561    
5562  
5563
5564
5565                </div>
5566            </div>
5567            <div class="prodInfoAccordion">
5568                <span class="accord-title pull-me-out-handle description-title">Description</span>
5569                <div class="accordionSection pull-me-out" id="description-acc">
5570                    
5571<div class="pdp-description-rte"><p>Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.</p>
5572<p><strong>Suits All Racquet Sports</strong></p>
5573<p>Tennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.</p>
5574<p><strong>Stable Yet Agile</strong></p>
5575<p>For the perfect balance of stability and agility, On have added a 3/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.</p>
5576<p><strong>Feels Good</strong></p>
5577<p>Soft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe'
5577s shape and footbed further improve fit and comfort.</p>
5578<ul class="prod_spec">
5579<li>Heel to toe drop: 5mm<br>
5580</li>
5581<li>Helion superfoam midsole for stability and long-term wear<br>
5582</li>
5583<li>Speedboard for stability and responsiveness<br>
5584</li>
5585<li>Lightweight, breathable upper<br>
5586</li>
5587<li>TPU toe cap for added durability<br>
5588</li>
5589<li>Molded medial piece protects against tearing during slides<br>
5590</li>
5591<li>Versatile herringbone grip, perfect for any racket sport.<br>
5592</li>
5593<li>Year: 2026<br>
5594</li>
5595<li>Weight: 15 ounces (size 10.5)<br>
5596</li>
5597<li>Colour: Wash/Brook<br>
5598</li>
5599<li>Style #: 3MG30075206<br>
5600</li>
5601</ul></div>
5602
5603
5604
5605<div class="pdp-handy-info-cluster">
5606<div class="product-handy-info">
5607  <div class="product-handy-info-section">
5608      This shoe's outsole has been optimized for both hard &amp; clay court surfaces offering a balance of performance for those who play on either court surface.
5609    </div>
5610  
5611  <div class="product-handy-info-section">
5612	
5613
5614
5615
5616  <nav class="handy-links" aria-label="Additional information">
5617    <h3 class="handy-links__title">Additional information</h3>
5618    <ul class="handy-links__list">
5619      
5620
5621      
5622
5623      
5624        
5625          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/footwear/18431281-why-you-need-tennis-shoes">Why you need tennis shoes</a></li>
5626          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/footwear/18431569-which-tennis-shoe-is-best-for-you">Which tennis shoe is best for you</a></li>
5627        
5628      
5629
5630      
5631
5632      
5633
5634      
5635        
5636          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/pickleball/what-shoes-do-i-need-for-pickleball">What shoes do I need for Pickleball?</a></li>
5637          <li><a target="_blank" rel="noopener noreferrer" href="/blogs/pickleball/10-things-you-should-know-about-pickleball">10 things you should know about Pickleball</a></li>
5638        
5639      
5640
5641      
5642
5643      
5644
5645      
5646
5647      
5648
5649      
5650
5651      
5652
5653      
5654    </ul>
5655  </nav>
5656
5657
5658  </div>
5659  
5660</div>
5661</div>
5662
5663
5664<p class="pdp-upc-line">UPC#<span class="pdp-upc-value"></span></p>
5665
5666
5667                </div>
5668                
5669                
5670                <span class="accord-title specifications-tab">Specifications</span>
5671                <div class="accordionSection specifications-tab" id="specifications-acc">
5672                    <div class="spec-insert-2"></div>
5673                    <div class="pdp-spec-ul-liquid"></div>
5674                    
5675                    
5676                </div>
5677                
5678                
5679                <span class="accord-title" id="reviewclick_mobile">Reviews
5680                    <span class="accord-review">
5681                        <div class="after-me-2"></div>
5682                    </span>
5683                </span>
5684                <div class="accordionSection" id="reviews-acc">                
5685                    <div class="show-reviews-mobile" id="review-mobile"></div>
5686                </div>
5687              	
5688                <span class="accord-title accord-last">Shipping &amp; Returns</span>
5689                <div class="accordionSection" id="shipping-acc">
5690                   
5691  
5692    
5693<div class="pdp-shipping-returns">
5694  <section class="pdp-shipping-returns__section" aria-label="Shipping details">
5695    <h2 class="pdp-shipping-returns__heading">Shipping</h2>
5696    <p class="pdp-shipping-returns__block">Most orders ship within 1–3 business days (up to 5 during peak periods). Free shipping is available on qualifying Canadian orders over $99. Delivery times vary based on location and shipping method. In-store pickup is also available. Merchant of Tennis is not responsible for packages lost or stolen after confirmed delivery. <a href="/pages/shipping-information">View our full shipping policy</a> for details.</p>
5697    
5698    
5699    
5700  </section>
5701
5702  
5703
5704  <section class="pdp-shipping-returns__section" aria-label="Returns policy">
5705    <h2 class="pdp-shipping-returns__heading">Footwear Returns</h2>
5706    <p class="pdp-shipping-returns__block">Each item has a certain set of prerequisites that must all be met in order to return said item.</p>
5707    
5708 <div class="pdp-shipping-returns__rte rte">
5709    
5710    
5711      
5712      
5713    
5714      
5715      
5716    
5717      
5718      
5719    
5720      
5721      
5722    
5723      
5724      
5725    
5726      
5727      
5728    
5729      
5730      
5731    
5732      
5733      
5734    
5735      
5736      
5737        Shoes must be unworn and in the same condition as sold.<br>Shoes may be tried on for fit on a clean surface only.<br>Shoe box must be the manufacturer's original box.<br> Shoe box must be covered/protected, undamaged, unmarked and without any adhesive additions (such as tape etc).<br>Returns without shoe box are not accepted.
5738        
5739      
5740    
5741      
5742      
5743    
5744  </div>
5745    
5746    
5747    
5748      <p class="pdp-shipping-returns__block">Regular priced items may be returned within 30 days of ordering for a refund or exchange.</p>
5749      <p class="pdp-shipping-returns__block">Sale items (discounted less than 40%) may be exchanged or returned for store credit or our gift card within 30 days.</p>
5750      <p class="pdp-shipping-returns__block">No refunds or exchanges on Clearance Items (discounted 40% or more), strung racquets, water bottles, undergarments, worn or damaged product, opened massage devices and gift cards.</p>
5751      <p class="pdp-shipping-returns__block">Customers are responsible for shipping fees on return shipments for refund or exchange. Most exchanged shipments can be shipped back to the customer at no extra cost. Return shipping must be a pre-paid, traceable method to ensure safe delivery.</p>
5752      <p class="pdp-shipping-returns__block">Primary product packaging (e.g. shoe boxes) must be covered and protected during return shipping, otherwise the return may not be accepted.</p>
5753    
5754    <p class="pdp-shipping-returns__block">More conditions may apply: <a href="/pages/refunds-exchanges">view our full return policy</a></p>
5755  </section>
5756</div>
5757    
5758  
5759
5760
5761                </div>
5762            </div>
5763            
5764          	
5765            <!-- Begin social buttons -->
5766            
5767            
5768            <!-- End social buttons -->
5769  	</div>
5770      
5771      	
5772        <!-- End description -->
5773        <!-- Begin related product -->
5774		
5775          
5776          
5777          
5778          
5779          
5780          
5781          
5782      	  <div class="related_wrap"><div class="container"><div id="related-collections" class="collection clearfix">
5783                
5784                
5785                
5786                
5787                
5788                
5789                
5790                
5791                
5792                
5793                
5794                
5795                
5796                
5797                
5798                
5799                <div style="display:block;clear:both;">
5800                  <span style="display:inline-block;width:100%;max-width:100%;box-sizing:border-box;"><h2 style="margin:0;line-height:1.25;">On THE ROGER Clubhouse Pro Shoes</h2></span>
5801                  
5802                  <span class="related-collection-actions" role="group" aria-label="Collection shortcuts" style="display:block;width:100%;max-width:100%;box-sizing:border-box;text-align:center;padding:0 0 18px 0;"><span style="display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;text-align:inherit;">
5803                    
5804                    
5805                      <a style="text-decoration:underline;color:#999;white-space:nowrap;" href="/collections/mens-tennis-footwear/on">View all On Men's Tennis Shoes</a>
5806                    
5807                  </span></span>
5808                  
5809                </div>
5810                
5811                
5812                  
5813                  
5814                    
5815                    
5816                    
5817
5818
5819
5820
5821                    
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831                    
5832                      
5833                      
5834                      <div class="product">
5835                        <div class="image">
5836                          <a href="/collections/on-the-roger-clubhouse-pro-shoe-collection/products/on-mens-the-roger-clubhouse-pro-white-ice">
5837                            <img src="//www.merchantoftennis.com/cdn/shop/files/s97652.jpg?v=1724265660&amp;width=300" alt="On Men&#39;s THE ROGER Clubhouse Pro - White/Ice" srcset="//www.merchantoftennis.com/cdn/shop/files/s97652.jpg?v=1724265660&amp;width=200 200w, //www.merchantoftennis.com/cdn/shop/files/s97652.jpg?v=1724265660&amp;width=250 250w, //www.merchantoftennis.com/cdn/shop/files/s97652.jpg?v=1724265660&amp;width=300 300w" width="300" height="300" loading="lazy" sizes="(max-width: 767.9px) 48vw, 24vw" decoding="async">
5838                          </a>
5839                        </div>
5840                        <div class="details">
5841                          <a href="/collections/on-the-roger-clubhouse-pro-s
5841hoe-collection/products/on-mens-the-roger-clubhouse-pro-white-ice">
5842                            <span class="title">On Men's THE ROGER Clubhouse Pro - White/Ice</span>
5843                            <span class="price">
5844                              
5845                                <del>$199.99</del>
5846                                <span style="color:#e0201b;">$149.99</span>
5847                              
5848                            </span>
5849                          </a>
5850                        </div>
5851                      </div>
5852                    
5853                  
5854                
5855                  
5856                  
5857                    
5858                    
5859                    
5860
5861
5862
5863
5864                    
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874                    
5875                  
5876                
5877                  
5878                  
5879                    
5880                    
5881                    
5882
5883
5884
5885
5886                    
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896                    
5897                  
5898                
5899                  
5900                  
5901                    
5902                    
5903                    
5904
5905
5906
5907
5908                    
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918                    
5919                      
5920                      
5921                      <div class="product">
5922                        <div class="image">
5923                          <a href="/collections/on-the-roger-clubhouse-pro-shoe-collection/products/on-mens-the-roger-clubhouse-pro-2-white-ivory">
5924                            <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30070924_stock1a.jpg?v=1786475147&amp;width=300" alt="On Men&#39;s THE ROGER Clubhouse Pro 2 - White/Ivory" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30070924_stock1a.jpg?v=1786475147&amp;width=200 200w, //www.merchantoftennis.com/cdn/shop/files/3MG30070924_stock1a.jpg?v=1786475147&amp;width=250 250w, //www.merchantoftennis.com/cdn/shop/files/3MG30070924_stock1a.jpg?v=1786475147&amp;width=300 300w" width="300" height="300" loading="lazy" sizes="(max-width: 767.9px) 48vw, 24vw" decoding="async">
5925                          </a>
5926                        </div>
5927                        <div class="details">
5928                          <a href="/collections/on-the-roger-clubhouse-pro-shoe-collection/products/on-mens-the-roger-clubhouse-pro-2-white-ivory">
5929                            <span class="title">On Men's THE ROGER Clubhouse Pro 2 - White/Ivory</span>
5930                            <span class="price">
5931                              
5932                                $199.99
5933                              
5934                            </span>
5935                          </a>
5936                        </div>
5937                      </div>
5938                    
5939                  
5940                
5941                  
5942                  
5943                    
5944                    
5945                    
5946
5947
5948
5949
5950                    
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960                    
5961                  
5962                
5963                  
5964                  
5965                
5966                  
5967                  
5968                    
5969                    
5970                    
5971
5972
5973
5974
5975                    
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985                    
5986                  
5987                
5988              
5989              
5990          
5991        
5992      
5993    
5994  
5995  </div></div></div>
5996          
5997      	  <div class="related_wrap">
5998
5999
6000<!-- start Recomatic code -->
6001<script type='text/javascript' src='https://cdn2.recomaticapp.com/assets/recomatic2-d60901eb8acae31afd5a260a2903e1671aed74ab1343cb9f748f5a2ae09c0b55.js?shop=merchantoftennis.myshopify.com' defer></script>
6001
6002<style type="text/css">.recomatic-product-wrap { display: none; }</style>
6003<div class="related-prod recomatic-related-products">
6004  <div class="container">
6005    <div class="related-prod-title">More Related Products</div>
6006    <div recomatic="product" shop="merchantoftennis.myshopify.com" product_id="15196697756011"></div>
6007  </div>
6008</div>
6009<!-- end Recomatic code -->
6010</div>      
6011      	  <div class="related_wrap"><div class="container">
6012  <div id="recently-viewed-products" class="collection clearfix" style="display:none">
6013    <h2>Recently Viewed Products</h2>
6014
6015      
6016      
6016<script id="recently-viewed-product-template"  type="text/x-jquery-tmpl">
6017      <div id="product-${handle}" class="product">
6018        <div class="image">
6019          <a href="${url}">
6020            <img src="${Shopify.Products.resizeImage(featured_image, "medium")}" />
6021          </a>
6022        </div>
6023        <div class="details">
6024          <a href="${url}">
6025            <span class="title">${title}</span>
6026            <span class="price">{{if price_varies}}From {{/if}}${Shopify.formatMoney(price)}</span>
6027          </a>
6028        </div>
6029      </div>
6030      </script>
6030
6031      
6032
6033		
6033<script>
6034			Shopify.Products.showRecentlyViewed( { howManyToShow:4 } );
6035		</script>
6035
6036  </div>
6037</div></div>
6038		
6039        <!-- End related products -->
6040      
6041    </div>
6042</div> 
6043<div style="display:none" id="preloading" aria-hidden="true">
6044
6045
6046  
6047    
6048      
6049    
6050  
6051
6052  
6053    
6054      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=1024" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=352 352w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=832 832w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock2a.jpg?v=1786474999&amp;width=1024 1024w" width="1024" height="1024" loading="lazy">
6055    
6056  
6057
6058  
6059    
6060      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=1024" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=352 352w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=832 832w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock3a.jpg?v=1786474999&amp;width=1024 1024w" width="1024" height="1024" loading="lazy">
6061    
6062  
6063
6064  
6065    
6066      <img src="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=1024" alt="" srcset="//www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=352 352w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=832 832w, //www.merchantoftennis.com/cdn/shop/files/3MG30075206_stock4a.jpg?v=1786474999&amp;width=1024 1024w" width="1024" height="1024" loading="lazy">
6067    
6068  
6069
6070</div>
6071
6072<script>
6073    function supportsOptionFiltering(){
6074        if(typeof window._supportsOptionFiltering==='boolean')return window._supportsOptionFiltering;
6075        try{
6076            var s=document.createElement('select');s.style.cssText='position:absolute;left:-9999px';
6077            var o=document.createElement('option');o.textContent='a';o.style.display='none';
6078            s.appendChild(o);document.body.appendChild(s);
6079            window._supportsOptionFiltering=(o.offsetHeight===0);
6080            document.body.removeChild(s);
6081        }catch(e){window._supportsOptionFiltering=false;}
6082        return window._supportsOptionFiltering;
6083    }
6084
6085    /* Inline stringing validation (#soModal) — same pattern as page.stringing_service */
6086    var STRING_SERVICE_PRODUCT_ERROR_IDS = ['string-service-error-stringtype', 'string-service-error-regular', 'string-service-error-hybrid-main', 'string-service-error-hybrid-cross'];
6087    function setStringingFormErrorBox(boxId, message) {
6088        var n = document.getElementById(boxId);
6089        if (!n) return;
6090        if (message) {
6091            n.textContent = message;
6092            n.style.display = 'block';
6093            n.setAttribute('aria-hidden', 'false');
6094        } else {
6095            n.textContent = '';
6096            n.style.display = 'none';
6097            n.setAttribute('aria-hidden', 'true');
6098        }
6099    }
6100    function stringingSelectIsUnset(sel) {
6101        return !sel || sel.value === '' || sel.value === null;
6102    }
6103    function stringingSetSelectInvalid(selectEl, invalid) {
6104        if (!selectEl || selectEl.tagName !== 'SELECT') return;
6105        if (invalid) {
6106            selectEl.classList.add('string-service-input-error');
6107            selectEl.setAttribute('aria-invalid', 'true');
6108            var wrap = selectEl.closest && selectEl.closest('.string-picker-field');
6109            var trig = wrap && wrap.querySelector('.string-picker-trigger');
6110            if (trig) {
6111                trig.classList.add('string-service-input-error');
6112                trig.setAttribute('aria-invalid', 'true');
6113            }
6114        } else {
6115            selectEl.classList.remove('string-service-input-error');
6116            selectEl.removeAttribute('aria-invalid');
6117            var wrap2 = selectEl.closest && selectEl.closest('.string-picker-field');
6118            var trig2 = wrap2 && wrap2.querySelector('.string-picker-trigger');
6119            if (trig2) {
6120                trig2.classList.remove('string-service-input-error');
6121                trig2.removeAttribute('aria-invalid');
6122            }
6123        }
6124        if (window._syncTensionStepperForSelect) window._syncTensionStepperForSelect(selectEl);
6125    }
6126    /** Best element to scroll for a field (picker trigger is visible; native select may be clipped). */
6127    function stringingScrollAnchorForField(fieldEl) {
6128        if (!fieldEl) return null;
6129        if (fieldEl.tagName === 'SELECT') {
6130            var wrap = fieldEl.closest && fieldEl.closest('.string-picker-field');
6131            var trig = wrap && wrap.querySelector('.string-picker-trigger');
6132            if (trig) return trig;
6133            if (wrap) return wrap;
6134        }
6135        return fieldEl;
6136    }
6137    function clearStringingFormErrors() {
6138        for (var i = 0; i < STRING_SERVICE_PRODUCT_ERROR_IDS.length; i++) {
6139            setStringingFormErrorBox(STRING_SERVICE_PRODUCT_ERROR_IDS[i], '');
6140        }
6141        var stw = document.getElementById('stringtype');
6142        if (stw) stw.classList.remove('string-service-field-group--error');
6143        var fields = ['string-options', 'tension-regular', 'string-options-main', 'string-options-cross', 'tension-main', 'tension-cross'];
6144        for (var j = 0; j < fields.length; j++) {
6145            var f = document.getElementById(fields[j]);
6146            if (!f) continue;
6147            if (f.tagName === 'SELECT') stringingSetSelectInvalid(f, false);
6148            else {
6149                f.classList.remove('string-service-input-error');
6150                f.removeAttribute('aria-invalid');
6151            }
6152        }
6153    }
6154    function stringingRemoveInputErrorClass(fieldIds) {
6155        for (var k = 0; k < fieldIds.length; k++) {
6156            var el = document.getElementById(fieldIds[k]);
6157            if (!el) continue;
6158            if (el.tagName === 'SELECT') stringingSetSelectInvalid(el, false);
6159            else {
6160                el.classList.remove('string-service-input-error');
6161                el.removeAttribute('aria-invalid');
6162            }
6163        }
6164    }
6165    function clearStringingErrorForFieldId(fieldId) {
6166        if (!fieldId || typeof setStringingFormErrorBox !== 'function') return;
6167        switch (fieldId) {
6168            case 'stringservicetype':
6169                setStringingFormErrorBox('string-service-error-stringtype', '');
6170                var w = document.getElementById('stringtype');
6171                if (w) w.classList.remove('string-service-field-group--error');
6172                break;
6173            case 'string-options':
6174            case 'tension-regular':
6175                setStringingFormErrorBox('string-service-error-regular', '');
6176                stringingRemoveInputErrorClass(['string-options', 'tension-regular']);
6177                break;
6178            case 'string-options-main':
6179            case 'tension-main':
6180                setStringingFormErrorBox('string-service-error-hybrid-main', '');
6181                stringingRemoveInputErrorClass(['string-options-main', 'tension-main']);
6182                break;
6183            case 'string-options-cross':
6184            case 'tension-cross':
6185                setStringingFormErrorBox('string-service-error-hybrid-cross', '');
6186                stringingRemoveInputErrorClass(['string-options-cross', 'tension-cross']);
6187                break;
6188            default:
6189                break;
6190        }
6191    }
6192    function scrollStringingFormErrorIntoView(el) {
6193        if (!el) return;
6194        var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
6195        var behavior = reduceMotion ? 'auto' : 'smooth';
6196        try {
6197            el.scrollIntoView({ block: 'center', inline: 'nearest', behavior: behavior });
6198        } catch (e) {
6199            el.scrollIntoView(true);
6200        }
6201    }
6202
6203    /** After opening stringing: sit the Add stringing control just below sticky #header */
6204    function scrollStringingServiceExtraFieldsBelowHeader() {
6205        var chk = document.getElementById('stringservice');
6206        var el = null;
6207        if (chk && chk.closest) {
6208            el = chk.closest('.stringing-service-toggle-outer')
6209                || chk.closest('.stringing-service-toggle-wrap')
6210                || chk.closest('label.stringing-service-toggle');
6211        }
6212        if (!el) el = document.querySelector('#product .stringing-service-toggle-outer');
6213        if (!el) el = document.querySelector('#product .extra-fields-trigger');
6214        if (!el) return;
6215        var headerEl = document.getElementById('header');
6216        var extraGap = 10;
6217        var offset = (headerEl ? headerEl.getBoundingClientRect().height : 0) + extraGap;
6218        var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
6219        var behavior = reduceMotion ? 'auto' : 'smooth';
6220        var rect = el.getBoundingClientRect();
6221        var y = window.scrollY + rect.top - offset;
6222        if (y < 0) y = 0;
6223        window.scrollTo({ top: y, behavior: behavior });
6224    }
6225
6226    /** Hide first main ATC block while stringing modal is active (disable logic unchanged). */
6227    function stringingSetPrimaryAtcWrapHidden(form, hide) {
6228        if (!form) return;
6229        var wrap = form.querySelector('.atc-wrap.purchase-section');
6230        if (!wrap) return;
6231        if (hide) {
6232            if (!wrap.hasAttribute('data-stringing-atc-display')) {
6233                wrap.setAttribute('data-stringing-atc-display', wrap.style.display || '');
6234            }
6235            wrap.style.display = 'none';
6236        } else if (wrap.hasAttribute('data-stringing-atc-display')) {
6237            wrap.style.display = wrap.getAttribute('data-stringing-atc-display');
6238            wrap.removeAttribute('data-stringing-atc-display');
6239        }
6240    }
6241
6242    /* Tennis racquets: Regular / Hybrid as buttons; hidden #stringservicetype keeps addstring / cart JS working */
6243    function selectStringServiceType(val){
6244        var hid = document.getElementById("stringservicetype");
6245        if (!hid) return;
6246        if (hid.value === val) {
6247            if (val === "Regular String" && document.getElementById("string-options")) return;
6248            if (val === "Hybrid String" && document.getElementById("str
6248ing-options-main")) return;
6249        }
6250        hid.value = val;
6251        if (typeof clearStringingErrorForFieldId === 'function') clearStringingErrorForFieldId('stringservicetype');
6252        var wrap = document.getElementById("stringtype");
6253        if (wrap) {
6254            var btns = wrap.querySelectorAll(".stringing-type-btn");
6255            for (var i = 0; i < btns.length; i++) {
6256                var btn = btns[i];
6257                var sel = btn.getAttribute("data-value") === val;
6258                if (sel) { btn.classList.add("is-selected"); btn.setAttribute("aria-pressed", "true"); }
6259                else { btn.classList.remove("is-selected"); btn.setAttribute("aria-pressed", "false"); }
6260            }
6261            if (typeof window.motDispatchChange === 'function') window.motDispatchChange(wrap);
6262            else wrap.dispatchEvent(new Event("change", { bubbles: true }));
6263        }
6264        stringService(hid, "type");
6265    }
6266    function stringService(obj,choice){
6267        
6268        if(choice=="need")
6269        {
6270            if(obj.checked==true)
6271            {
6272                var soModal=document.getElementById("soModal");if(soModal)soModal.classList.add("showModal");var f=document.getElementById("add-item-form");if(f)f.classList.add("stringing-modal-open");stringingSetPrimaryAtcWrapHidden(f,true);var fc=f?f.querySelector(".atc-wrap.purchase-section .addtocart"):null;if(fc){fc.disabled=true;fc.style.background="gray";fc.style.cursor="not-allowed";}
6273                document.getElementById("stringtype").style.display="block";
6274                document.getElementById("stringtype").innerHTML='<div class="stringing-type-choice" role="group" aria-label="Stringing type"><div class="stringing-type-buttons"><input type="hidden" id="stringservicetype" name="properties[_String Service Type]" value="Regular String" autocomplete="off" /><button type="button" class="stringing-type-btn stringing-type-btn--regular is-selected" data-value="Regular String" aria-pressed="true" onclick="selectStringServiceType(\'Regular String\');return false;"><span class="stringing-type-btn__check" aria-hidden="true"></span><span class="stringing-type-btn__text">Regular</span></button><button type="button" class="stringing-type-btn stringing-type-btn--hybrid" data-value="Hybrid String" aria-pressed="false" onclick="selectStringServiceType(\'Hybrid String\');return false;"><span class="stringing-type-btn__check" aria-hidden="true"></span><span class="stringing-type-btn__text">Hybrid</span></button></div></div><div id="stringing-type-suggestions"></div>';
6275                if(window.loadStringServiceApi){window.loadStringServiceApi();}
6276                document.getElementById("racquetsHidden").innerHTML="";
6277                var stTypeHid = document.getElementById("stringservicetype");
6278                if(stTypeHid) stringService(stTypeHid,"type");
6279                setTimeout(function(){ scrollStringingServiceExtraFieldsBelowHeader(); }, 50);
6280            }
6281            else
6282            {
6283                var soModal=document.getElementById("soModal");if(soModal)soModal.classList.remove("showModal");var form=document.getElementById("add-item-form");if(form)form.classList.remove("stringing-modal-open");stringingSetPrimaryAtcWrapHidden(form,false);var firstAtc=form?form.querySelector(".atc-wrap.purchase-section .addtocart"):null;if(firstAtc){firstAtc.disabled=false;firstAtc.style.background="";firstAtc.style.cursor="";}
6284                document.getElementById("stringtype").style.display="none";                
6285                document.getElementById("stringing-options-regular").style.display="none";
6286                document.getElementById("stringing-options-regular").innerHTML="";
6287                document.getElementById("stringing-options-hybrid").style.display="none";
6288                document.getElementById("stringing-options-hybrid").innerHTML="";
6289              	document.getElementById("string-filters-root").style.display="none";
6290                document.getElementById("string-filters-root").innerHTML="";
6291              	document.getElementById("stringing-type-suggestions").innerHTML="";
6292                document.getElementById("stringtype").innerHTML="";
6293                
6294                //document.getElementById("stringservicetype").value="";
6295                //document.getElementById("string-options").value="";
6296                //document.getElementById("tension-regular").value="";
6297                //document.getElementById("string-options-main").value="";
6298                //document.getElementById("tension-main").value="";
6299                //document.getElementById("string-options-cross").value="";
6300                //document.getElementById("tension-cross").value="";
6301
6302                document.getElementById("racquetsHidden").innerHTML="<input type=\"hidden\" name=\"properties[Racquets]\" value=\"\" />";
6303              
6304            }
6305        }
6306        else if(choice=="type")
6307        {
6308            if(document.getElementById("stringservicetype").value=="")
6309            {
6310                document.getElementById("stringing-options-regular").style.display="none";
6311                document.getElementById("stringing-options-regular").innerHTML="";
6312                document.getElementById("stringing-options-hybrid").style.display="none";
6313                document.getElementById("stringing-options-hybrid").innerHTML="";
6314              	document.getElementById("string-filters-root").style.display="none";
6315                document.getElementById("string-filters-root").innerHTML="";
6316              	document.getElementById("stringing-type-suggestions").innerHTML="";
6317                document.body.classList.remove('no-option-filtering');
6318            }
6319            else if(document.getElementById("stringservicetype").value=="Regular String")
6320            {
6321                document.getElementById("stringing-options-regular").style.display="block";
6322                document.getElementById("stringing-options-regular").innerHTML='<span class="string-service-loading" role="status">Loading options...</span>';
6323                (window.loadStringServiceApi||function(){return Promise.resolve({});})().then(function(c){
6324                    if(!document.getElementById("stringservicetype") || document.getElementById("stringservicetype").value!=="Regular String") return;
6325                    if (c.apiError) { document.getElementById("stringing-options-regular").innerHTML='<p class="string-service-error">Unable to load options. Please refresh the page.</p>'; return; }
6326                    var supportsFilter = supportsOptionFiltering();
6327                    document.body.classList.toggle('no-option-filtering',!supportsFilter);
6328                    var regFilters = (supportsFilter && c.filters) ? c.filters : '';
6329                    document.getElementById("stringing-options-regular").innerHTML='<label for="string-options">String:</label>'+regFilters+'<select class="string-options" id="string-options" name="properties[String]"><option value="">Please select...</option>'+ (c.regularOptions||'') +'</select>'+(c.regularDescription||'')+'<select id="tension-regular" name="properties[Tension Regular]"><option value="">Select tension...</option>'+ (c.tensionList||'') +'</select>';
6330                    var srootReg = document.getElementById("string-filters-root");
6331                    if (srootReg) {
6332                        srootReg.style.display = "none";
6333                        srootReg.innerHTML = "";
6334                    }
6335                    document.getElementById("stringing-type-suggestions").innerHTML="The standard method using one string throughout the racquet for a consistent feel.";
6336                    var sHybridReg = document.getElementById("stringing-options-hybrid");
6337                    if (sHybridReg) {
6338                        sHybridReg.style.display = "none";
6339                        sHybridReg.innerHTML = "";
6340                    }
6341                    if(document.getElementsByClassName("prod_tension")[0])
6342                {
6343                    var html=document.getElementsByClassName("prod_tension")[0].innerHTML;
6344                    if(document.getElementById("tension-recommended"))
6345                    {
6346                        document.getElementById("tension-recommended").innerHTML=html+" is recommended for this racquet.";
6347                    }  
6348                    if(document.getElementById("tension-recommand-m"))
6349                    {
6350                        document.getElementById("tension-recommand-m").innerHTML="Recommended "+html;
6351                        document.getElementById("tension-recommand-s").innerHTML="Recommended "+html;
6352                    }
6353                }
6354                var tensEl = document.getElementById('tension-recommended');
6355                var tens = tensEl ? tensEl.innerHTML : '';
6356                var regex = /\d+/g;
6357                var matches = tens ? tens.match(regex) : null;
6358                if (matches && matches.length >= 2) {
6359                    var tens_max = parseInt(matches.splice(1,1), 10);
6360                    var tens_min = parseInt(matches.splice(0,1), 10);
6361                    var tens_mid = Math.ceil(((tens_max - tens_min) / 2) + tens_min);
6362                    var options = document.getElementById("tension-regular");
6363                    if (options) {
6364                        for (var i = 0; i < options.length; i++){
6365                          if (options[i].value.includes(tens_min) && !options[i].text.includes("manufacturer")) {options[i].text = options[i].text + " (manufacturer min.)"}
6366                          if (options[i].value.includes(tens_mid) && !options[i].text.includes("manufacturer")) {options[i].text = options[i].text + " (manufacturer mid.)"}
6367                          if (options[i].value.includes(tens_max) && !options[i].text.includes("manufacturer")) {options[i].text = options[i].text + " (manufacturer max.)"}
6368                        }
6369                        var midVal = "Tension " + tens_mid + " lbs";
6370                        if (options.querySelector('option[value="' + midVal + '"]')) {
6371                            options.value = midVal;
6372                            if (window._syncStringPickerForSelect) window._syncStringPickerForSelect(options);
6373                        }
6374                    }
6375                }
6376                var applyFilterToSelect = window._applyFilterToSelect;
6377                var resetStrSel = window._resetStringSelectAfterFilter;
6378                if (applyFilterToSelect) { var sel = document.getElementById('string-options'); if (sel) { applyFilterToSelect(sel,'nofilter'); if (resetStrSel) resetStrSel(sel); } }
6379                });
6380            }
6381            else if(document.getElementById("stringservicetype").value=="Hybrid String")
6382            {
6383                document.getElementById("stringing-options-hybrid").style.display="block";
6384                document.getElementById("stringing-options-hybrid").innerHTML='<span class="string-service-loading" role="status">Loading options...</span>';
6385                (window.loadStringServiceApi||function(){return Promise.resolve({});})().then(function(c){
6386                    if(!document.getElementById("stringservicetype") || document.getElementById("stringservicetype").value!=="Hybrid String") return;
6387                    if (c.apiError) { document.getElementById("stringing-options-hybrid").innerHTML='<p class="string-service-error">Unable to load options. Please refresh the page.</p>'; return; }
6388                    var supportsFilter = supportsOptionFiltering();
6389                    document.body.classList.toggle('no-option-filtering',!supportsFilter);
6390                    var hybridMainFilters = (supportsFilter && c.filtersHybrid) ? c.filtersHybrid : '';
6391                    document.getElementById("stringing-options-hybrid").innerHTML='<div id="stringing-main-wrap"><label for="string-options-main">Main string:</label>'+hybridMainFilters+'<select class="string-options" id="string-options-main" name="properties[Main String]"><option value="">Please select...</option>'+ (c.hybridOptions||'') +'</select>'+(c.hybridDescriptionMain||'')+'<select id="tension-main" name="properties[Main String Tension]"><option value="">Select tension...</option>'+ (c.tensionList||'') +'</select></div><div id="string-service-error-hybrid-main" class="string-service-form-warning" role="alert" aria-live="polite" aria-hidden="true"></div><div id="stringing-cross-wrap"><label for="string-options-cross">Cross string:</label>'+(c.filtersCross||'')+'<select class="string-options" id="string-options-cross" name="properties[Cross String]"><option value="">Please select...</option>'+ (c.hybridOptions||'') +'</select>'+(c.hybridDescriptionCross||'')+'<select id="tension-cross" name="properties[Cross String Tension]"><option value="">Select tension...</option>'+ (c.tensionList||'') +'</select></div><div id="string-service-error-hybrid-cross" class="string-service-form-warning" role="alert" aria-live="polite" aria-hidden="true"></div>';
6392                    var srootHy = document.getElementById("string-filters-root");
6393                    if (srootHy) {
6394                        srootHy.style.display = "none";
6395                        srootHy.innerHTML = "";
6396                    }
6397                    var hybridDesc = "An advanced setup using two different strings in the mains and crosses to fine-tune performance. If unsure, choose regular stringing.";
6398                    if (window._lightRacquetWarning) hybridDesc += " <br><br><span class=\"string-type-help\"><strong>Not normally recommended for lighter weight racquets.</strong></span>";
6399                    document.getElementById("stringing-type-suggestions").innerHTML = hybridDesc;
6400                    var sRegularHy = document.getElementById("stringing-options-regular");
6401                    if (sRegularHy) {
6402                        sRegularHy.style.display = "none";
6403                        sRegularHy.innerHTML = "";
6404                    }
6405                    if(document.getElementsByClassName("prod_tension")[0])
6406                {
6407                    var html=document.getElementsByClassName("prod_tension")[0].innerHTML;
6408                    if(document.getElementById("tension-recommended"))
6409                    {
6410                        document.getElementById("tension-recommended").innerHTML=html+" is recommended for this racquet.";
6411                    }  
6412                    if(document.getElementById("tension-recommand-m"))
6413                    {
6414                        document.getElementById("tension-recommand-m").innerHTML="Recommended "+html;
6415                        document.getElementById("tension-recommand-s").innerHTML="Recommended "+html;
6416                    }
6417                }
6418                var tensEl = document.getElementById('tension-recommended');
6419                var tens = tensEl ? tensEl.innerHTML : '';
6420                var regex = /\d+/g;
6421                var matches = tens ? tens.match(regex) : null;
6422                if (matches && matches.length >= 2) {
6423                    var tens_max = parseInt(matches.splice(1,1), 10);
6424                    var tens_min = parseInt(matches.splice(0,1), 10);
6425                    var tens_mid = Math.ceil(((tens_max - tens_min) / 2) + tens_min);
6426                    var optsMain = document.getElementById("tension-main");
6427                    if (optsMain) { for (var i = 0; i < optsMain.length; i++){ if (optsMain[i].value.includes(tens_min) && !optsMain[i].text.includes("manufacturer")) optsMain[i].text += " 
6427(manufacturer min.)"; if (optsMain[i].value.includes(tens_mid) && !optsMain[i].text.includes("manufacturer")) optsMain[i].text += " (manufacturer mid.)"; if (optsMain[i].value.includes(tens_max) && !optsMain[i].text.includes("manufacturer")) optsMain[i].text += " (manufacturer max.)"; } var midValM = "Tension " + tens_mid + " lbs"; if (optsMain.querySelector('option[value="' + midValM + '"]')) { optsMain.value = midValM; if (window._syncStringPickerForSelect) window._syncStringPickerForSelect(optsMain); } }
6428                    var optsCross = document.getElementById("tension-cross");
6429                    if (optsCross) { for (var i = 0; i < optsCross.length; i++){ if (optsCross[i].value.includes(tens_min) && !optsCross[i].text.includes("manufacturer")) optsCross[i].text += " (manufacturer min.)"; if (optsCross[i].value.includes(tens_mid) && !optsCross[i].text.includes("manufacturer")) optsCross[i].text += " (manufacturer mid.)"; if (optsCross[i].value.includes(tens_max) && !optsCross[i].text.includes("manufacturer")) optsCross[i].text += " (manufacturer max.)"; } var midValC = "Tension " + tens_mid + " lbs"; if (optsCross.querySelector('option[value="' + midValC + '"]')) { optsCross.value = midValC; if (window._syncStringPickerForSelect) window._syncStringPickerForSelect(optsCross); } }
6430                }
6431                var applyFilterToSelect = window._applyFilterToSelect;
6432                var resetStrSel = window._resetStringSelectAfterFilter;
6433                if (applyFilterToSelect) { [document.getElementById('string-options-main'), document.getElementById('string-options-cross')].forEach(function(s){ if(s) { applyFilterToSelect(s,'nofilter'); if (resetStrSel) resetStrSel(s); } }); }
6434                });
6435            }
6436        }
6437           
6438    }
6439    function addstring(){
6440        
6441                return true;
6442        
6443    }
6444</script>
6444
6445
6446<script>
6447(function () {
6448  function wireSoModalToProductForm() {
6449    var root = document.getElementById('soModal');
6450    if (!root) return;
6451    var fid = 'add-item-form';
6452    var nodes = root.querySelectorAll('input, select, textarea');
6453    for (var i = 0; i < nodes.length; i++) {
6454      nodes[i].setAttribute('form', fid);
6455    }
6456  }
6457  function init() {
6458    var root = document.getElementById('soModal');
6459    if (!root || typeof MutationObserver === 'undefined') return;
6460    wireSoModalToProductForm();
6461    var mo = new MutationObserver(function () { wireSoModalToProductForm(); });
6462    mo.observe(root, { childList: true, subtree: true });
6463  }
6464  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);
6465  else init();
6466})();
6467</script>
vendor: 1 bytes, line 6467
6467
6468<script>
6469  function findPos(obj) {
6470    if (!obj) return [0];
6471    var header = document.getElementById('header');
6472    var headerH = header ? (header.offsetHeight || header.clientHeight || 0) : 0;
6473    var y = 0;
6474    if (typeof obj.getBoundingClientRect === 'function') {
6475      y = obj.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || 0);
6476    } else if (obj.offsetParent) {
6477      var el = obj;
6478      do {
6479        y += el.offsetTop;
6480      } while ((el = el.offsetParent));
6481    } else {
6482      y = obj.offsetTop || 0;
6483    }
6484    return [Math.max(0, y - headerH)];
6485  }
6486</script>
vendor: 1 bytes, line 6486
6486
6487<script>
6488  $( document ).ready(function() {
6489    if ( document.location.href.indexOf('#stamped-main-widget') > -1 ) {
6490        reviewClick();
6491    }
6492});
6493</script>
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521  
6522  
6523  
6524  
6525  
6526
6527  
6528  
6529
6530  
6531  
6532
6533
6534
6535
6536
6537
6538  
6539    
6540    
6541    
6542
6543
6544
6545
6546    
6547  
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565  
6566
6567  
6568  
6569
6570
6571
6572
6573
6574
6575  
6576    
6577    
6578    
6579
6580
6581
6582
6583    
6584  
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606  
6607
6608  
6609  
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621  
6622  
6623    
6624    
6625    
6626    
6627    
6628    
6629      
6630      
6631      
6632
6633
6634
6635
6636      
6637    
6638    
6639  
6640
6641  
6642  
6643    
6644    
6645    
6646    
6647    
6648    
6649      
6650      
6651      
6652
6653
6654
6655
6656      
6657    
6658    
6659  
6660
6661  
6662  
6663    
6664    
6665    
6666    
6667    
6668    
6669      
6670      
6671      
6672
6673
6674
6675
6676      
6677    
6678    
6679  
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701  
6702
6703    </div>
6704    <!-- End wrapper -->
6705  
6706    <!-- Begin footer -->
6707    <div class="affiliations">
6708        <div class="container">
6709                              
6710                	<a href="https://www.tenniscanada.com/" target="_blank">
6711                      <img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/2024_mot_partner_bar_TC.jpg?v=91933969200365510811787005527" alt="Tennis Canada" loading="lazy">
6712                    </a>
6713                    <a href="https://nationalbankopen.com/" target="_blank">
6714                      <img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/2024_mot_partner_bar_NBO.jpg?v=17865700936332103761787005530" alt="National Bank Open" loading="lazy">
6715                    </a>        
6716                  <a href="http://www.tennisontario.com/" target="_blank">
6717                      <img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/ota.jpg?v=8622789085796015421787005530" alt="Ontario Tennis Association" loading="lazy">
6718                  </a>
6719                  <a href="http://www.racquettech.com/index.html" target="_blank">
6720                      <img src="//www.merchantoftennis.com/cdn/shop/t/653/assets/usrsa.jpg?v=107176847966134119261787005530" alt="Racquet Tech" loading="lazy">
6721                  </a>
6722            
6723          
6724            <div class="clear"></div>
6725        </div>
6726    </div>
6727    <div id="footer">
6728            <div class="footerTLinks"> 
6729                <div class="threeCol clearfix footerTLinks-top">
6730                    <div class="container">
6731                        <div class="col">
6732                            
6733                            
6734                                <span class="tel" itemprop="telephone"><a href="tel:+18889322396">1 (888) 932-2396</a></span>
6735                            
6736                            
6737                        </div>
6738                        <div class="col hide-m">
6739                            <span class="hLoc"><a href="/pages/contact-us">Hours &amp; Location</a></span>
6740                        </div>
6741                         <div class="col">
6742                             
6743                                <span class="email"><a href="mailto:[email protected]">Email Us</a></span>
6744                                                        
6745                        </div>
6746                    </div>
6747                </div>
6748                <div class="threeCol clearfix">
6749                    <div class="container">
6750                        <div class="col">
6751                            <span class="storeH"><a href="/pages/contact-us#service_hours">Online Service</a>
6752                                <p>
6753                                  <span class="footer-loc-phone">
6754                                    <i class="fas fa-phone" aria-hidden="true"></i>
6755                                    
6756                                      <a href="tel:+18889322396" style="color:#fff;">1 (888) 932-2396</a>
6757                                    
6758                                    <span class="footer-loc-phone-ext">ext. 1</span>
6759                                  </span>
6760                                  <span class="footer-loc-email">
6761                                    <i class="fas fa-comments" aria-hidden="true"></i>
6762                                    <a href="/pages/contact-us#service_hours" style="color:#fff;">Email Us</a>
6763                                  </span>
6764                                  <span class="footer-loc-hours">
6765                                    <i class="fas fa-clock" aria-hidden="true"></i>
6766                                    <span class="label">
6767
6768
6769
6770
6771
6772  
6773  
6774
6775  
6776  
6777  
6778  
6779  
6780
6781  
6782  
6783
6784  
6785  
6786  
6787
6788  
6789
6790  
6791  
6792
6793  
6794  
6795
6796  
6797
6798  
6799
6800    
6801
6802    
6803    
6804    
6805
6806    
6807
6808    
6809      
6810      
6811
6812      
6813
6814      <span
6815        class="time_calc_tz"
6816        data-hours-tz-convert
6817        data-source-tz="America/Toronto"
6818        data-cutoff-hour="18"
6819        data-omit-name="true"
6820        data-store-name="Online Service"
6821        data-today-closed="false"
6822        data-today-open="10:00"
6823        data-today-close="18:00"
6824        data-tomorrow-closed="false"
6825        data-tomorrow-open="10:00"
6826        data-tomorrow-close="18:00"
6827      >
6828        <span class="time_calc_block__status">Open</span>
6829        
6830        <span class="time_calc_block"><a href="/pages/contact-us#service_hours" class="time_calc_block__link time_calc_block__link--on-dark" style="color:#ffffff"><span class="time_calc_block__range">10am–6pm</span><span class="time_calc_block__tz"> ET</span></a></span>
6831        
6832      </span>
6833    
6834
6835  
6836
6837</span>
6838                                  </span>
6839                                </p>
6840                            </span>
6841                        </div>
6842                        <div class="col">
6843                            <span class="storeLoc"><a href="/pages/contact-us#toronto_location_map">Toronto Store</a>
6844                                <p>
6845                                    <span class="footer-loc-phone">
6846                                      <i class="fas fa-phone" aria-hidden="true"></i>
6847                                      <a href="tel:+14169322396" style="color:#fff;">(416) 932-2396</a>
6848                                      <span class="footer-loc-phone-ext">ext. 2</span>
6849                                    </span>
6850                                    <span class="footer-loc-email">
6851                                      <i class="fas fa-comments" aria-hidden="true"></i>
6852                                      
6853                                        <a href="mailto:[email protected]" style="color:#fff;text-decoration:none;">Email Us</a>
6854                                      
6855                                    </span>
6856                                    <span class="footer-loc-location">
6857                                      <i class="fas fa-map-marker-alt" aria-hidden="true"></i>
6858                                      <a href="/pages/contact-us#toronto_location_map" style="color:#fff;">Location</a>
6859                                    </span>
6860                                    <span class="footer-loc-hours">
6861                                      <i class="fas fa-clock" aria-hidden="true"></i>
6862                                      <span class="label">
6863
6864
6865
6866
6867
6868  
6869  
6870
6871  
6872  
6873  
6874  
6875  
6876
6877  
6878  
6879
6880  
6881  
6882  
6883
6884  
6885
6886  
6887  
6888
6889  
6890  
6891
6892  
6893
6894  
6895
6896    
6897
6898    
6899    
6900    
6901
6902    
6903
6904    
6905      <span class="time_calc_block__status">Closed today</span>
6906      
6907      <span class="time_calc_block"><a href="/pages/contact-us#toronto_hours" class="time_calc_block__link time_calc_block__link--on-dark" style="color:#ffffff"><span class="time_calc_block__range">Store Hours</span></a></span>
6908      
6909    
6910
6911  
6912
6913</span>
6914                                    </span>
6915                                </p>
6916                            </span>
6917                        </div>
6918                        <div class="col">
6919                            <span class="storeLoc"><a href="/pages/contact-us#oakville_location_map">Oakville Store</a>
6920                                <p>
6921                                    <span class="footer-loc-phone">
6922                                      <i class="fas fa-phone" aria-hidden="true"></i>
6923                                      <a href="tel:+19053371294" style="color:#fff;">(905) 337-1294</a>
6924                                      <span class="footer-loc-phone-ext">ext. 3</span>
6925                                    </span>
6926                                    <span class="footer-loc-email">
6927                                      <i class="fas fa-comments" aria-hidden="true"></i>
6928                                      
6929                                        <a href="mailto:[email protected]" style="color:#fff;text-decoration:none;">Email Us</a>
6930                                      
6931                                    </span>
6932                                    <span class="footer-loc-location">
6933                                      <i class="fas fa-map-marker-alt" aria-hidden="true"></i>
6934                                      <a href="/pages/contact-us#oakville_location_map" style="color:#fff;">Location</a>
6935                                    </span>
6936                                    <span class="footer-loc-hours">
6937                                      <i class="fas fa-clock" aria-hidden="true"></i>
6938                                      <span class="label">
6939
6940
6941
6942
6943
6944  
6945  
6946
6947  
6948  
6949  
6950  
6951  
6952
6953  
6954  
6955
6956  
6957  
6958  
6959
6960  
6961
6962  
6963  
6964
6965  
6966  
6967
6968  
6969
6970  
6971
6972    
6973
6974    
6975    
6976    
6977
6978    
6979
6980    
6981      <span class="time_calc_block__status">Closed today</span>
6982      
6983      <span class="time_calc_block"><a href="/pages/contact-us#oakville_hours" class="time_calc_block__link time_calc_block__link--on-dark" style="color:#ffffff"><span class="time_calc_block__range">Store Hours</span></a></span>
6984      
6985    
6986
6987  
6988
6989</span>
6990                                    </span>
6991                                </p>
6992                            </span>
6993                        </div>
6994                    </div>
6995                </div>
6996                <div class="paymentWrap">
6997                    
6998                
6999
7000                    <div class="credit-cards">
7001                       
7002                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/american_express-2bdbf0e2.svg" alt="american express" loading="lazy" />
7003                       
7004                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/apple_pay-1721ebad.svg" alt="apple pay" loading="lazy" />
7005                       
7006                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/diners_club-678e3046.svg" alt="diners club" loading="lazy" />
7007                       
7008                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/discover-59880595.svg" alt="discover" loading="lazy" />
7009                       
7010                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/google_pay-34c30515.svg" alt="google pay" loading="lazy" />
7011                       
7012                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/master-f5a74105.svg" alt="master" loading="lazy" />
7013                       
7014                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/paypal-a7c68b85.svg" alt="paypal" loading="lazy" />
7015                       
7016                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/shopify_pay-925ab76d.svg" alt="shopify pay" loading="lazy" />
7017                       
7018                       <img width="50" src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/payment_icons/visa-b614b878.svg" alt="visa" loading="lazy" />
7019                       
7020                    </div> <!-- /.credit-cards -->
7021                    
7022                    <div class="container">
7023                        <p class="can-curr">All Prices are in Canadian Currency</p>
7024                    </div>
7025                    
7026                  	<div class="container">                      
7027      					
7028
7029
7030                  	</div>
7031                    
7032                </div>
7033            </div>
7034            <!-- Begin footer navigation -->
7035            
7036                <div class="footerBLinks">   
7037                    <div class="container clearfix">     
7038                        <ul>
7039                        
7040                            <li>
7041                                <a href="/pages/about-us" title="About Us">About Us</a>
7042                            </li>
7043                        
7044                            <li>
7045                                <a href="/pages/contact-us" title="Contact Us">Contact Us</a>
7046                            </li>
7047                        
7048                            <li>
7049                                <a href="/pages/customer-service" title="FAQ">FAQ</a>
7050                            </li>
7051                        
7052                            <li>
7053                                <a href="/pages/shipping-information" title="Shipping">Shipping</a>
7054                            </li>
7055                        
7056                            <li>
7057                                <a href="/pages/employment-opportunities" title="Employment">Employment</a>
7058                            </li>
7059                        
7060                            <li>
7061                                <a href="/policies/privacy-policy" title="Privacy Policy">Privacy Policy</a>
7062                            </li>
7063                        
7064                            <li>
7065                                <a href="/policies/terms-of-service" title="Terms of Service">Terms of Service</a>
7066                            </li>
7067                        
7068                        </ul>
7069                    </div>
7070                </div>
7071            
7072      			<div class="footerBLinks">   
7073                    <div class="container clearfix">     
7074                        <ul>
7075                          <li><a href="/pages/collection-index" title="View our Collection Index">Browse All Products</a></li>
7076                          <li><a href="/pages/brand-index" title="View our Brand Index">Browse All Brands</a></li>
7077                        </ul>
7078                    </div>
7079                </div>
7080      		      		
7081                <div class="footerBLinks">   
7082                    <div class="container clearfix">     
7083                        <ul>                          
7084                        
7085                          
7086                            <li><a href="/collections/racquets" title="Shop for Racquets">Racquets</a></li>
7087                          
7088                        
7089                          
7090                            <li><a href="/collections/apparel" title="Shop for Apparel">Apparel</a></li>
7091                          
7092                        
7093                          
7094                            <li><a href="/collections/footwear" title="Shop for Footwear">Footwear</a></li>
7095                          
7096                        
7097                          
7098                            <li><a href="/collections/strings" title="Shop for Strings">Strings</a></li>
7099                          
7100                        
7101                          
7102                            <li><a href="/collections/bags-accessories" title="Shop for Bags & Accessories">Bags & Accessories</a></li>
7103                          
7104                        
7105                          
7106                            <li><a href="/collections/balls-court-equipment" title="Shop for Balls & Court Equipment">Balls & Court Equipment</a></li>
7107                          
7108                        
7109                          
7110                            <li><a href="/collections/sale" title="Shop for Sale">Sale</a></li>
7111                          
7112                        
7113                          
7114                                                  
7115                        </ul>
7116                    </div>
7117                </div>
7118            
7119      		 
7120                <div class="footerBLinks">   
7121                    <div class="container clearfix">     
7122                        <ul>
7123                        
7124                            <li>
7125                                <a href="/collections/kids-tennis-equipment" title="Shop for Kids Tennis">Kids Tennis</a>
7126                            </li>
7127                        
7128                            <li>
7129                                <a href="/collections/white-clothing" title="Shop for White Clothing">White Clothing</a>
7130                            </li>
7131                        
7132                            <li>
7133                                <a href="/collections/warm-up-clothing" title="Shop for Warm Up Clothing">Warm Up Clothing</a>
7134                            </li>
7135                        
7136                            <li>
7137                                <a href="/collections/pickleball-equipment" title="Shop for Pickleball">Pickleball</a>
7138                            </li>
7139                        
7140                            <li>
7141                                <a href="/padel" title="Shop for Padel">Padel</a>
7142                            </li>
7143                        
7144                        </ul>
7145                    </div>
7146                </div>
7147            
7148            <!-- End footer navigation -->
7149            
7150            <!-- begin social media -->
7151             <div class="socialIconWrap">  
7152                <div class="socialIcons">
7153                  
7154                  <a href="/blogs/racquets" target="_self">
7155<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-50 -50 612 612" enable-background="new -50 -50 612 612" xml:space="preserve">
7156<g>
7157	<path d="M256,0C114.609,0,0,114.609,0,256s114.609,256,256,256s256-114.609,256-256S397.391,0,256,0z M256,472
7158		c-119.297,0-216-96.703-216-216S136.703,40,256,40s216,96.703,216,216S375.297,472,256,472z"></path>
7159	<path d="M320,128H160v256h192V164.578L320,128z M176,368V144h128v32h32v192H176z"></path>
7160	<rect x="192" y="272" width="128" height="16"></rect>
7161	<rect x="192" y="240" width="128" height="16"></rect>
7162	<rect x="192" y="192" width="64" height="16"></rect>
7163	<rect x="192" y="160" width="32" height="16"></rect>
7164	<rect x="192" y="304" width="128" height="16"></rect>
7165	<rect x="192" y="336" width="128" height="16"></rect>
7166</g>
7167</svg>
7168                    <br>Blog</a>
7169                  
7170                  <a href="/pages/newsletter" target="_self">
7171                        <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
7172                         viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
7173                    <path id="email-10-icon" d="M256,90c44.3,0,86,17.3,117.4,48.6C404.7,170,422,211.7,422,256c0,44.3-17.3,86-48.6,117.4
7174                        C342,404.7,300.3,422,256,422s-86-17.3-117.4-48.6C107.3,342,90,300.3,90,256c0-44.3,17.3-86,48.6-117.4S211.7,90,256,90 M256,50
7175                        C142.2,50,50,142.2,50,256c0,113.8,92.2,206,206,206c113.8,0,206-92.2,206-206C462,142.2,369.8,50,256,50L256,50z M213.4,248.4
7176                        l-61.5-47.2v108.7L213.4,248.4z M361.5,179.2H152.7L257,259.3L361.5,179.2z M286.3,259.4L257,281.8l-29.3-22.5l-75.5,75.5h209.5
7177                        L286.3,259.4z M300.5,248.4l61.5,61.5V201.3L300.5,248.4z"/>
7178                    </svg>
7179
7180
7181                    News
7182                    </a>  
7183
7184                    <a href="https://www.facebook.com/MerchantTennis" title="Merchant of Tennis on Facebook" class="icon-
7185                    social facebook" target="_blank">
7186                        <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
7187                             viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
7188                        <path id="facebook-circle-outline-icon" d="M256.4,90c44.3,0,86,17.3,117.4,48.6c31.4,31.4,48.6,73,48.6,117.4s-17.3,86-48.6,117.4
7189                            c-31.4,31.4-73,48.6-117.4,48.6c-44.3,0-86-17.3-117.4-48.6c-31.4-31.4-48.6-73-48.6-117.4s17.3-86,48.6-117.4
7190                            C170.4,107.3,212.1,90,256.4,90 M256.4,50c-113.8,0-206,92.2-206,206c0,113.8,92.2,206,206,206c113.8,0,206-92.2,206-206
7191                            C462.4,142.2,370.2,50,256.4,50L256.4,50z M228.1,218.1h-23.5v38.4h23.5v112.8h45.2V256h31.6l3.4-37.9h-34.9c0,0,0-14.2,0-21.6
7192                            c0-8.9,1.8-12.5,10.4-12.5c7,0,24.5,0,24.5,0v-39.3c0,0-25.8,0-31.3,0c-33.6,0-48.8,14.8-48.8,43.2
7193                            C228.1,212.6,228.1,218.1,228.1,218.1z"/>
7194                        </svg>
7195
7196                    Like
7197                    </a>
7198                    
7199
7200                    
7201                    <a href="http://instagram.com/merchanttennis" target="_blank">
7202                        <svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
7203                             x="0px" y="0px" viewBox="0 0 42 42" xml:space="preserve">
7204                        <path id="email-10-icon" d="M21,7.4c3.6,0,7.1,1.4,9.6,4c2.6,2.6,4,6,4,9.6s-1.4,7.1-4,9.6c-2.6,2.6-6,4-9.6,4s-7.1-1.4-9.6-4
7205                            c-2.6-2.6-4-6-4-9.6s1.4-7.1,4-9.6S17.4,7.4,21,7.4 M21,4.1C11.7,4.1,4.1,11.7,4.1,21S11.7,37.9,21,37.9S37.9,30.3,37.9,21
7206                            S30.3,4.1,21,4.1L21,4.1z"/>
7207                        <path display="none" d="M18.1,29c-2.1,0-3.6-1.3-3.6-2.9c0-1.6,1.9-2.9,4-2.9c0.5,0,1,0.1,1.4,0.2c1.1,0.8,2,1.2,2.2,2.1
7208                            c0,0.2,0.1,0.4,0.1,0.6C22.1,27.7,21,29,18.1,29 M18.6,19.6c-1.4,0-2.8-1.6-3-3.4s0.7-3.3,2.1-3.2c1.4,0,2.8,1.5,3,3.4
7209                            S20,19.6,18.6,19.6 M21.5,22.3c-0.5-0.4-1.4-1.2-1.4-1.7c0-0.6,0.2-0.9,1-1.6c0.9-0.7,1.6-1.7,1.6-2.9c0-1.4-0.6-2.7-1.8-3.2h1.7
7210                            l1.2-0.9h-5.5c-2.5,0-4.8,1.9-4.8,4c0,2.2,1.7,4,4.2,4c0.2,0,0.3,0,0.5,0c-0.2,0.3-0.3,0.7-0.3,1c0,0.6,0.3,1.1,0.7,1.5
7211                            c-0.3,0-0.6,0-1,0c-3,0-5.4,1.9-5.4,3.9c0,2,2.6,3.2,5.6,3.2c3.5,0,5.4-2,5.4-3.9C23.5,24.3,23,23.4,21.5,22.3 M29.5,19.8h-2.1v-2.1
7212                            h-1.7v2.1h-2.1v1.7h2.1v2.1h1.7v-2.1h2.1V19.8z"/>
7213                        <path d="M26.8,11.5H15.2c-2,0-3.7,1.6-3.7,3.7V19v7.8c0,2,1.6,3.7,3.7,3.7h11.7c2,0,3.7-1.6,3.7-3.7V19v-3.9
7214                            C30.5,13.1,28.9,11.5,26.8,11.5z M27.9,13.7h0.4v0.4v2.8l-3.2,0l0-3.2L27.9,13.7z M18.3,19c0.6-0.8,1.6-1.4,2.7-1.4s2.1,0.5,2.7,1.4
7215                            c0.4,0.5,0.6,1.2,0.6,2c0,1.8-1.5,3.4-3.4,3.4s-3.4-1.5-3.4-3.4C17.6,20.3,17.9,19.6,18.3,19z M28.7,26.8c0,1-0.8,1.8-1.8,1.8H15.2
7216                            c-1,0-1.8-0.8-1.8-1.8V19h2.8c-0.2,0.6-0.4,1.3-0.4,2c0,2.9,2.3,5.2,5.2,5.2s5.2-2.3,5.2-5.2c0-0.7-0.1-1.4-0.4-2h2.8V26.8z"/>
7217                        </svg>
7218
7219
7220                    Follow
7221                    </a>
7222                    
7223
7224                   
7225                  
7226                  
7227                 
7228                  
7229                  
7230                  
7231                </div>
7232            </div>
7233        </div>
7234
7235      
7236        <!-- Begin copyright -->
7237        <div class="copyright">
7238            <div class="container">
7239                <span>&copy; 2026</span><span>Merchant of Tennis,</span>
7240                
7241                    <span><a href="https://www.merchantofpickleball.com" target="_blank">Merchant of Pickleball</a></span>
7242                
7243              	
7244            </div>
7245        </div>
7246        <!-- End copyright -->
7247        
7248
7249
7250                          
7251    
7252    <div id="device"></div>
7253    <!-- End footer -->
7254    
7255    
7255<script src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7255
7256    
7256<script>
7257    /* Shopify.Product.update uses `for (property in json)` without declaring property.
7258       In strict mode that throws ReferenceError and OptionSelectors never injects pickers. */
7259    (function () {
7260      if (!window.Shopify || !Shopify.Product || !Shopify.Product.prototype) return;
7261      Shopify.Product.prototype.update = function (json) {
7262        if (!json || typeof json !== 'object') return;
7263        for (var key in json) {
7264          if (Object.prototype.hasOwnProperty.call(json, key)) this[key] = json[key];
7265        }
7266      };
7267    })();
7268    </script>
7268
7269    
7269<script src="//www.merchantoftennis.com/cdn/shopifycloud/storefront/assets/themes_support/api.jquery-7ab1a3a4.js" type="text/javascript"></script>
7269
7270    
7271    
7271<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery.screwdefaultbuttonsV2.min.js?v=155309183403361702231787005529" type="text/javascript"></script>
7271
7272    
7272<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/shop.min.js?v=88665621156810090381787766093" type="text/javascript"></script>
7272
7273    
7274    
7274<script>Shopify.Products.recordRecentlyViewed();</script>
7274
7275    
7276
7277    
7278    
7279        
7279<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery.zoom.min.js?v=39979086803478595401787766080" type="text/javascript"></script>
7279
7280    
7281    
7282      
7282<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery.fancybox.min.js?v=41031478351573441371787766079" type="text/javascript"></script>
7282
7283      
7283<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery-ui.min.js?v=61307612765660269071787005528" type="text/javascript"></script>
7283
7284    
7285    
7285<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery.mmenu.min.all.js?v=105920683341613426631787005528" type="text/javascript"></script>
7285
7286    
7286<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/jquery.bxslider.min.js?v=46777805614869963661787005529" type="text/javascript"></script>
7286
7287    
7287<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/sfxfunctions.min.js?v=89194950083610460431787766083" type="text/javascript"></script>
7287
7288    
7288<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/mot-func.min.js?v=50773837030464100421787766080" type="text/javascript"></script>
7288
7289    
7289<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/store-hours-tz.min.js?v=111901681350269928171787766084" type="text/javascript"></script>
7289
7290    
7290<script src="//www.merchantoftennis.com/cdn/shop/t/653/assets/mot-navupdate.min.js?v=104114548417259812771787766081" type="text/javascript"></script>
7290
7291        
7292    
7293      
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319    
7319<script>
7320    window.Shopify = window.Shopify || {};
7321    window.Shopify._productVariants = [{"id":53707206820203,"title":"8","option1":"8","option2":null,"option3":null,"sku":"119071","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8","public_title":"8","options":["8"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862422","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206852971,"title":"8.5","option1":"8.5","option2":null,"option3":null,"sku":"119072","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8.5","public_title":"8.5","options":["8.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":2,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862439","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206885739,"title":"9","option1":"9","option2":null,"option3":null,"sku":"119073","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9","public_title":"9","options":["9"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862446","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206918507,"title":"9.5","option1":"9.5","option2":null,"option3":null,"sku":"119074","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9.5","public_title":"9.5","options":["9.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862460","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206951275,"title":"10","option1":"10","option2":null,"option3":null,"sku":"119075","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10","public_title":"10","options":["10"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862491","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206984043,"title":"10.5","option1":"10.5","option2":null,"option3":null,"sku":"119076","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10.5","public_title":"10.5","options":["10.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862507","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207016811,"title":"11","option1":"11","option2":null,"option3":null,"sku":"119077","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11","public_title":"11","options":["11"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862514","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207049579,"title":"11.5","option1":"11.5","option2":null,"option3":null,"sku":"119078","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11.5","public_title":"11.5","options":["11.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862521","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207082347,"title":"12","option1":"12","option2":null,"option3":null,"sku":"119079","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 12","public_title":"12","options":["12"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":2,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862538","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207115115,"title":"13","option1":"13","option2":null,"option3":null,"sku":"119080","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 13","public_title":"13","options":["13"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862576","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}];
7322    window.__iWishShopDomain = "merchantoftennis.myshopify.com";
7323    window.__iWishCustomerId = '';
7324    (function iWishEarlyBootstrapLs() {
7325      try {
7326        if (typeof Storage !== 'undefined' && localStorage) {
7327          var raw = localStorage.getItem('iWishlistmain');
7328          if (raw) {
7329            var parsed = JSON.parse(raw);
7330            if (parsed && typeof parsed === 'object') window.__iWishListMainBootstrap = parsed;
7331          }
7332        }
7333      } catch (e) {}
7334    })();
7335    function setVariantInventoryCartChip(qty) {
7336      var $cart = jQuery('#variant-inventory-cart');
7337      if (!$cart.length) return;
7338      var n = parseInt(qty, 10) || 0;
7339      if (n > 0) {
7340        $cart.text(n === 1 ? '1 in cart' : n + ' in cart').removeAttr('hidden').attr('aria-hidden', 'false');
7341      } else {
7342        $cart.text('').attr('hidden', 'hidden').attr('aria-hidden', 'true');
7343      }
7344      syncProductQtyChipsSlot();
7345    }
7346    function syncProductQtyChipsSlot() {
7347      var wrap = document.querySelector('.product-qty-field-label__chips');
7348      if (!wrap) return;
7349      var deferred = document.documentElement.classList.contains('product-variant-stock-deferred');
7350      var stock = document.getElementById('variant-inventory');
7351      var cart = document.getElementById('variant-inventory-cart');
7352      var stockOn = !!(stock && !stock.hasAttribute('hidden') && !deferred);
7353      var cartOn = !!(cart && !cart.hasAttribute('hidden'));
7354      if (stockOn || cartOn) wrap.classList.remove('product-qty-field-label__chips--empty');
7355      else wrap.classList.add('product-qty-field-label__chips--empty');
7356    }
7357    function appendCartCountToVariantInventory(variantId) {
7358      if (!variantId) return;
7359      if (!jQuery('#variant-inventory').length) return;
7360      var cartUrl = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) ? (window.Shopify.routes.root + 'cart.js') : '/cart.js';
7361      jQuery.getJSON(cartUrl, function(cart) {
7362        var qty = 0;
7363        for (var i = 0; i < cart.items.length; i++) {
7364          if (cart.items[i].variant_id === variantId) qty += cart.items[i].quantity;
7365        }
7366        setVariantInventoryCartChip(qty);
7367      });
7368    }
7369
7370    function resolveVariantSkuBarcode(variant) {
7371      var sku = (variant && variant.sku != null && variant.sku !== '') ? String(variant.sku) : '';
7372      var barcode = (variant && variant.barcode != null && variant.barcode !== '') ? String(variant.barcode) : '';
7373      if (variant && variant.id && window.Shopify && window.Shopify._productVariants) {
7374        var list = window.Shopify._productVariants;
7375        for (var i = 0; i < list.length; i++) {
7376          if (list[i].id === variant.id) {
7377            if (!sku && list[i].sku != null) sku = String(list[i].sku);
7378            if (!barcode && list[i].barcode != null) barcode = String(list[i].barcode);
7379            break;
7380          }
7381        }
7382      }
7383      return { sku: sku, barcode: barcode };
7384    }
7385    /* iWish: theme iwish.js.liquid uses parents('form').find("[name='id']").val() (#product-select). CDN may use data-variant — keep both aligned. */
7386    function syncIwishProductPageVariant(variant) {
7387      var vid = variant && variant.id ? String(variant.id) : '';
7388      if (!vid) {
7389        var sel = document.getElementById('product-select');
7390        if (sel && sel.value) vid = String(sel.value);
7391      }
7392      if (!vid) return;
7393      var $iw = jQuery('#wishlist_wrap .iWishAdd, .iwish-app-block-product .iWishAdd');
7394      if ($iw.length) $iw.attr('data-variant', vid);
7395    }
7396
7397    /* iWish heart: theme paints SVG from merged storage + v3 Map (see iWishPaintProductHeartFallback). */
7398    /* Two SVGs so filled vs outline does not rely only on .iwishAdded + CSS cascade (inline SVG attrs / load order). */
7399    window.iWishProductHeartSvgOutline = '<svg viewBox="0 0 256 256" width="20" class="iwish-heart-svg iwish-heart-svg--outline" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect fill="none" height="256" width="256"></rect><path d="M128,216S28,160,28,92A52,52,0,0,1,128,72h0A52,52,0,0,1,228,92C228,160,128,216,128,216Z" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path></svg>';
7400    window.iWishProductHeartSvgFilled = '<svg viewBox="0 0 256 256" width="20" class="iwish-heart-svg iwish-heart-svg--filled" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect fill="none" height="256" width="256"></rect><path d="M128,216S28,160,28,92A52,52,0,0,1,128,72h0A52,52,0,0,1,228,92C228,160,128,216,128,216Z" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path></svg>';
7401    window.iWishProductHeartSvg = window.iWishProductHeartSvgOutline;
7402    /* Same flags as ATC gating — must exist before any iWishRefreshProductHeart run; otherwise !undefined makes the heart flash visible. */
7403    window.__productInitialUrlHadVariant = /[?&]variant=\d+/.test(window.location.search || '');
7404    window.__productAtcRequiresExplicitChoice = !window.__productInitialUrlHadVariant && 10 > 1;
7405    window.__productVariantExplicitlyChosen = !window.__productAtcRequiresExplicitChoice || window.__productInitialUrlHadVariant;
7406    /* Same rule as ATC: hide wishlist heart until shopper picks an option when multiple variants and no ?variant= (see __productAtcRequiresExplicitChoice). */
7407    window.iWishProductPageHeartVisible = function() {
7408      return !window.__productAtcRequiresExplicitChoice || window.__productVariantExplicitlyChosen;
7409    };
7410    /* Shopify variant ids can exceed Number.MAX_SAFE_INTEGER — never use Number()/parseInt for equality. */
7411    window.iWishNormalizeVariantId = function(v) {
7412      if (v == null || v === '') return '';
7413      var s = String(v).trim();
7414      if (s === '') return '';
7415      if (/^-?\d+\.0+$/.test(s)) s = s.split('.')[0];
7416      return s;
7417    };
7418    window.iWishCanonicalVariantId = function(vidRaw) {
7419      var n = window.iWishNormalizeVariantId(vidRaw);
7420      if (!n) return '';
7421      var list = (window.Shopify && window.Shopify._productVariants) || [];
7422      for (var i = 0; i < list.length; i++) {
7423        var id = list[i].id;
7424        if (id != null && window.iWishNormalizeVariantId(id) === n) return String(id);
7425      }
7426      return n;
7427    };
7428    window.iWishCoerceToVariantArray = function(raw) {
7429      if (raw == null) return [];
7430      if (Array.isArray(raw)) return raw.slice();
7431      if (typeof raw === 'object') return Object.keys(raw).map(function(k) { return raw[k]; });
7432      return [];
7433    };
7434    /* Union by normalized variant id — in-memory iWishlistmain can briefly disagree with localStorage (cart/Clear-Site-Data, sync); last-writer overwrite dropped wishlisted variants. */
7435    window.iWishUnionVariantLists = function(a, b) {
7436      var seen = {};
7437      var out = [];
7438      function take(list) {
7439        var arr = window.iWishCoerceToVariantArray(list);
7440        for (var i = 0; i < arr.length; i++) {
7441          var x = arr[i];
7442          if (x == null) continue;
7443          var n = window.iWishNormalizeVariantId(x);
7444          if (!n || seen[n]) continue;
7445          seen[n] = true;
7446          out.push(x);
7447        }
7448      }
7449      take(a);
7450      take(b);
7451      return out;
7452    };
7453    /* Global iWishlistmain can be {} before getSession/sync; merge per-product variant arrays from memory + localStorage by union (not over
7453write). */
7454    window.iWishListMainForRead = function() {
7455      var fromWin = {};
7456      try {
7457        if (typeof window !== 'undefined' && window.iWishlistmain != null && typeof window.iWishlistmain === 'object') {
7458          fromWin = window.iWishlistmain;
7459        }
7460      } catch (e) {}
7461      var fromLs = {};
7462      try {
7463        if (typeof Storage !== 'undefined') {
7464          var raw = localStorage.getItem('iWishlistmain');
7465          if (raw) {
7466            var parsed = JSON.parse(raw);
7467            if (parsed && typeof parsed === 'object') fromLs = parsed;
7468          }
7469        }
7470      } catch (e2) {}
7471      var fromBootstrap = {};
7472      try {
7473        if (window.__iWishListMainBootstrap != null && typeof window.__iWishListMainBootstrap === 'object') {
7474          fromBootstrap = window.__iWishListMainBootstrap;
7475        }
7476      } catch (e3) {}
7477      var allKeys = {};
7478      var k;
7479      for (k in fromLs) {
7480        if (Object.prototype.hasOwnProperty.call(fromLs, k)) allKeys[k] = true;
7481      }
7482      for (k in fromWin) {
7483        if (Object.prototype.hasOwnProperty.call(fromWin, k)) allKeys[k] = true;
7484      }
7485      for (k in fromBootstrap) {
7486        if (Object.prototype.hasOwnProperty.call(fromBootstrap, k)) allKeys[k] = true;
7487      }
7488      var out = {};
7489      for (k in allKeys) {
7490        if (!Object.prototype.hasOwnProperty.call(allKeys, k)) continue;
7491        var merged = window.iWishUnionVariantLists(
7492          window.iWishUnionVariantLists(fromLs[k], fromWin[k]),
7493          fromBootstrap[k]
7494        );
7495        if (merged.length) out[k] = merged;
7496      }
7497      return out;
7498    };
7499    window.iWishResolveIwishVariantIds = function(pid, mainOpt) {
7500      if (pid == null || pid === '') return null;
7501      var main = mainOpt != null ? mainOpt : window.iWishListMainForRead();
7502      if (!main || typeof main !== 'object') return null;
7503      function nonemptyList(raw) {
7504        if (raw == null) return null;
7505        if (Array.isArray(raw)) return raw.length ? raw : null;
7506        if (typeof raw === 'object') {
7507          var ks = Object.keys(raw);
7508          return ks.length ? raw : null;
7509        }
7510        return null;
7511      }
7512      var arr = nonemptyList(main[pid]);
7513      if (arr) return arr;
7514      var sp = String(pid);
7515      for (var k in main) {
7516        if (Object.prototype.hasOwnProperty.call(main, k) && String(k) === sp) {
7517          arr = nonemptyList(main[k]);
7518          if (arr) return arr;
7519        }
7520      }
7521      return null;
7522    };
7523    window.iWishVariantIdInArray = function(arr, vidStr) {
7524      if (arr == null) return false;
7525      var list = arr;
7526      if (!Array.isArray(arr) && typeof arr === 'object') {
7527        list = Object.keys(arr).map(function(k) { return arr[k]; });
7528      }
7529      if (!list || !list.length) return false;
7530      var target = window.iWishNormalizeVariantId(vidStr);
7531      if (!target) return false;
7532      for (var i = 0; i < list.length; i++) {
7533        var x = list[i];
7534        if (x == null) continue;
7535        if (window.iWishNormalizeVariantId(x) === target) return true;
7536      }
7537      return false;
7538    };
7539    /* iWish app v3: Map + localStorage iwish_list; legacy script uses iWishlistmain. */
7540    window.iWishV3RefreshLsSetFromStorage = function() {
7541      var next = {};
7542      try {
7543        if (typeof Storage === 'undefined' || !localStorage) {
7544          window.iWishV3LsNormalizedSet = next;
7545          return next;
7546        }
7547        var raw = localStorage.getItem('iwish_list');
7548        if (!raw) {
7549          window.iWishV3LsNormalizedSet = next;
7550          return next;
7551        }
7552        var parsed = JSON.parse(raw);
7553        if (!Array.isArray(parsed)) {
7554          window.iWishV3LsNormalizedSet = next;
7555          return next;
7556        }
7557        for (var i = 0; i < parsed.length; i++) {
7558          var row = parsed[i];
7559          if (!Array.isArray(row) || row.length < 1) continue;
7560          var nk = window.iWishNormalizeVariantId(row[0]);
7561          if (nk) next[nk] = true;
7562        }
7563      } catch (e) {}
7564      window.iWishV3LsNormalizedSet = next;
7565      return next;
7566    };
7567    window.iWishV3VariantInList = function(vidRaw) {
7568      var t = window.iWishNormalizeVariantId(vidRaw);
7569      if (!t) return false;
7570      try {
7571        if (typeof iWish !== 'undefined' && iWish && iWish.iWishlist && typeof iWish.iWishlist.has === 'function') {
7572          var m = iWish.iWishlist;
7573          var candidates = [vidRaw, String(t), t];
7574          var numT = parseInt(t, 10);
7575          if (!isNaN(numT)) candidates.push(numT);
7576          for (var c = 0; c < candidates.length; c++) {
7577            try {
7578              if (m.has(candidates[c])) return true;
7579            } catch (e1) {}
7580          }
7581          if (typeof m.forEach === 'function') {
7582            var found = false;
7583            m.forEach(function(qty, key) {
7584              if (found) return;
7585              if (window.iWishNormalizeVariantId(key) === t) found = true;
7586            });
7587            if (found) return true;
7588          }
7589        }
7590      } catch (e2) {}
7591      try {
7592        if (typeof iWish !== 'undefined' && iWish && typeof iWish.isInWishlist === 'function') {
7593          if (iWish.isInWishlist(vidRaw) || iWish.isInWishlist(String(t)) || iWish.isInWishlist(t)) return true;
7594          var n2 = parseInt(t, 10);
7595          if (!isNaN(n2) && iWish.isInWishlist(n2)) return true;
7596        }
7597      } catch (e3) {}
7598      window.iWishV3RefreshLsSetFromStorage();
7599      if (window.iWishV3LsNormalizedSet && window.iWishV3LsNormalizedSet[t]) return true;
7600      return false;
7601    };
7602    window.iWishThemeIsInWishlist = function(pId, vId, mainOpt, skipV3Check) {
7603      if (vId == null || vId === '') return false;
7604      if (!skipV3Check && typeof window.iWishV3VariantInList === 'function' && window.iWishV3VariantInList(vId)) return true;
7605      var target = window.iWishNormalizeVariantId(vId);
7606      if (!target) return false;
7607      var main = mainOpt != null ? mainOpt : window.iWishListMainForRead();
7608      if (!main || typeof main !== 'object') return false;
7609      var sp = String(pId);
7610      var arr = main[pId];
7611      if (arr === undefined) arr = main[sp];
7612      if (arr === undefined) {
7613        for (var k in main) {
7614          if (Object.prototype.hasOwnProperty.call(main, k) && String(k) === sp) {
7615            arr = main[k];
7616            break;
7617          }
7618        }
7619      }
7620      if (arr === undefined) return false;
7621      return window.iWishVariantIdInArray(arr, target);
7622    };
7623    /* Variant ids are unique per shop — if data-product key doesn’t match iWishlistmain (merge/typing), still detect membership. */
7624    window.iWishVariantInAnyWishlistProduct = function(normalizedVid, mainOpt, skipV3) {
7625      var t = window.iWishNormalizeVariantId(normalizedVid);
7626      if (!t) return false;
7627      if (!skipV3 && typeof window.iWishV3VariantInList === 'function' && window.iWishV3VariantInList(t)) return true;
7628      var main = mainOpt != null ? mainOpt : window.iWishListMainForRead();
7629      if (!main || typeof main !== 'object') return false;
7630      for (var pk in main) {
7631        if (!Object.prototype.hasOwnProperty.call(main, pk)) continue;
7632        var arr = main[pk];
7633        if (arr && window.iWishVariantIdInArray(arr, t)) return true;
7634      }
7635      return false;
7636    };
7637    /* When localStorage is blocked (Edge tracking prevention), merged read is empty but window.iWishlistmain may still hold data — scan it directly. */
7638    window.iWishVariantInWindowIwishMainOnly = function(normalizedVid, skipV3) {
7639      var t = window.iWishNormalizeVariantId(normalizedVid);
7640      if (!t) return false;
7641      if (!skipV3 && typeof window.iWishV3VariantInList === 'function' && window.iWishV3VariantInList(t)) return true;
7642      try {
7643        var w = window.iWishlistmain;
7644        if (!w || typeof w !== 'object') return false;
7645        for (var pk in w) {
7646          if (!Object.prototype.hasOwnProperty.call(w, pk)) continue;
7647          if (window.iWishVariantIdInArray(w[pk], t)) return true;
7648        }
7649      } catch (e) {}
7650      return false;
7651    };
7652    /* Normalized variant id -> true for this tab session when LS read fails or merge misses (iwish_add still updated memory). Cleared when merged read proves variant absent. */
7653    window.iWishSessionWishlistedIds = window.iWishSessionWishlistedIds || {};
7654    window.iWishMarkSessionWishlisted = function(vidRaw) {
7655      var n = window.iWishNormalizeVariantId(vidRaw);
7656      if (n) window.iWishSessionWishlistedIds[n] = true;
7657    };
7658    window.iWishClearSessionWishlisted = function(vidRaw) {
7659      var n = window.iWishNormalizeVariantId(vidRaw);
7660      if (n) delete window.iWishSessionWishlistedIds[n];
7661    };
7662    window.iWishHydrateSessionFromWindowMain = function() {
7663      try {
7664        if (typeof iWish !== 'undefined' && iWish && iWish.iWishlist && typeof iWish.iWishlist.forEach === 'function') {
7665          iWish.iWishlist.forEach(function(qty, vId) {
7666            window.iWishMarkSessionWishlisted(vId);
7667          });
7668        }
7669      } catch (eV3) {}
7670      try {
7671        var w = window.iWishlistmain;
7672        if (!w || typeof w !== 'object') return;
7673        for (var pk in w) {
7674          if (!Object.prototype.hasOwnProperty.call(w, pk)) continue;
7675          var arr = window.iWishCoerceToVariantArray(w[pk]);
7676          for (var i = 0; i < arr.length; i++) {
7677            window.iWishMarkSessionWishlisted(arr[i]);
7678          }
7679        }
7680      } catch (e) {}
7681    };
7682    window.iWishHydrateSessionFromBootstrap = function() {
7683      try {
7684        var b = window.__iWishListMainBootstrap;
7685        if (!b || typeof b !== 'object') return;
7686        for (var pk in b) {
7687          if (!Object.prototype.hasOwnProperty.call(b, pk)) continue;
7688          var arr = window.iWishCoerceToVariantArray(b[pk]);
7689          for (var i = 0; i < arr.length; i++) {
7690            window.iWishMarkSessionWishlisted(arr[i]);
7691          }
7692        }
7693      } catch (e) {}
7694    };
7695    window.iWishHydrateWishlistState = function() {
7696      var changed = false;
7697      if (typeof window.iWishTryRefreshBootstrapFromLs === 'function') changed = !!window.iWishTryRefreshBootstrapFromLs();
7698      if (typeof window.iWishHydrateSessionFromBootstrap === 'function') window.iWishHydrateSessionFromBootstrap();
7699      if (typeof window.iWishHydrateSessionFromWindowMain === 'function') window.iWishHydrateSessionFromWindowMain();
7700      return changed;
7701    };
7702    window.iWishTryRefreshBootstrapFromLs = function() {
7703      try {
7704        if (typeof Storage === 'undefined' || !localStorage) return false;
7705        var v3changed = false;
7706        if (typeof window.iWishV3RefreshLsSetFromStorage === 'function') {
7707          var before3 = JSON.stringify(window.iWishV3LsNormalizedSet || {});
7708          window.iWishV3RefreshLsSetFromStorage();
7709          var after3 = JSON.stringify(window.iWishV3LsNormalizedSet || {});
7710          v3changed = before3 !== after3;
7711        }
7712        var raw = localStorage.getItem('iWishlistmain');
7713        if (!raw) return v3changed;
7714        var parsed = JSON.parse(raw);
7715        if (!parsed || typeof parsed !== 'object') return v3changed;
7716        var prev = window.__iWishListMainBootstrap;
7717        var merged = {};
7718        var keys = {};
7719        var k;
7720        if (prev && typeof prev === 'object') {
7721          for (k in prev) {
7722            if (Object.prototype.hasOwnProperty.call(prev, k)) keys[k] = true;
7723          }
7724        }
7725        for (k in parsed) {
7726          if (Object.prototype.hasOwnProperty.call(parsed, k)) keys[k] = true;
7727        }
7728        for (k in keys) {
7729          if (!Object.prototype.hasOwnProperty.call(keys, k)) continue;
7730          var u = window.iWishUnionVariantLists(prev ? prev[k] : null, parsed[k]);
7731          if (u.length) merged[k] = u;
7732        }
7733        var before = prev ? JSON.stringify(prev) : '';
7734        var after = JSON.stringify(merged);
7735        var changed = before !== after;
7736        window.__iWishListMainBootstrap = merged;
7737        return changed || v3changed;
7738      } catch (e) {
7739        return false;
7740      }
7741    };
7742    window.iWishSyncFromServerIfLoggedIn = function(done) {
7743      try {
7744        if (typeof iWish !== 'undefined' && iWish && typeof iWish.syncWishlist === 'function') {
7745          if (typeof done === 'function') done(false);
7746          return;
7747        }
7748        var shop = (typeof iwish_shop !== 'undefined' && iwish_shop) ? iwish_shop : window.__iWishShopDomain;
7749        var cidRaw = (typeof iwish_cid !== 'undefined' && iwish_cid !== '') ? iwish_cid : window.__iWishCustomerId;
7750        var cid = parseInt(cidRaw, 10);
7751        if (!shop || !cid || isNaN(cid) || cid <= 0) {
7752          if (typeof done === 'function') done(false);
7753          return;
7754        }
7755        if (window.__iWishServerSyncInFlight) {
7756          if (typeof done === 'function') done(false);
7757          return;
7758        }
7759        if (typeof jQuery === 'undefined' || !jQuery.ajax) {
7760          if (typeof done === 'function') done(false);
7761          return;
7762        }
7763        window.__iWishServerSyncInFlight = true;
7764        var payload = {};
7765        try {
7766          if (typeof window.iWishlistmain === 'object' && window.iWishlistmain !== null) {
7767            payload = window.iWishlistmain;
7768          }
7769        } catch (e0) {}
7770        jQuery.ajax({
7771          url: 'https://iwish.myshopapps.com/ajax/syncWishlist.php',
7772          data: { shop: shop, cId: String(cid), iwishlist: JSON.stringify(payload) },
7773          dataType: 'jsonp',
7774          timeout: 20000,
7775          success: function(json) {
7776            window.__iWishServerSyncInFlight = false;
7777            if (!json || typeof json !== 'object') {
7778              if (typeof done === 'function') done(false);
7779              return;
7780            }
7781            var dt = json.jsonDt;
7782            if (!dt || typeof dt !== 'object') {
7783              if (typeof done === 'function') done(false);
7784              return;
7785            }
7786            try {
7787              if (typeof window.iWishlistmain === 'object' && window.iWishlistmain !== null) {
7788                jQuery.extend(true, window.iWishlistmain, dt);
7789              }
7790            } catch (e1) {}
7791            try {
7792              if (typeof iWishlistmain !== 'undefined' && iWishlistmain !== null && typeof iWishlistmain === 'object') {
7793                jQuery.extend(true, iWishlistmain, dt);
7794              }
7795            } catch (e2) {}
7796            var prevB = window.__iWishListMainBootstrap || {};
7797            var keys = {};
7798            var k;
7799            for (k in prevB) {
7800              if (Object.prototype.hasOwnProperty.call(prevB, k)) keys[k] = true;
7801            }
7802            for (k in dt) {
7803              if (Object.prototype.hasOwnProperty.call(dt, k)) keys[k] = true;
7804            }
7805            var mergedB = {};
7806            for (k in keys) {
7807              if (!Object.prototype.hasOwnProperty.call(keys, k)) continue;
7808              var u = window.iWishUnionVariantLists(prevB[k], dt[k]);
7809              if (u.length) mergedB[k] = u;
7810            }
7811            window.__iWishListMainBootstrap = mergedB;
7812            if (typeof window.iWishHydrateSessionFromBootstrap === 'function') window.iWishHydrateSessionFromBootstrap();
7813            if (typeof window.iWishHydrateSessionFromWindowMain === 'function') window.iWishHydrateSessionFromWindowMain();
7814            if (typeof window.iWishRefreshProductHeart === 'function') window.iWishRefreshProductHeart();
7815            if (typeof done === 'function') done(true);
7816          },
7817          error: function() {
7818            window.__iWishServerSyncInFlight = false;
7819            if (typeof done === 'function') done(false);
7820          }
7821        });
7822      } catch (e) {
7823        window.__iWishServerSyncInFlight = false;
7824        if (typeof done === 'function') done(false);
7825      }
7826    };
7827    window.iWishPaintProductHeartFallback = function($links, vidStr) {
7828      var norm = window.iWishNormalizeVariantId(vidStr);
7829      var canonical = window.iWishCanonicalVariantId(vidStr) || norm;
7830      var main = window.iWishListMainForRead();
7831      var mergeHadKeys = main && typeof main === 'object' && Object.keys(main).length > 0;
7832      var v3Hit = !!(canonical && typeof window.iWishV3VariantInList === 'function' && window.iWishV3VariantInList(canonical));
7833      $links.each(function() {
7834        var $a = jQuery(this);
7835        var pid = $a.attr('data-product');
7836        var inList = false;
7837        if (v3Hit) {
7838          inList = true;
7839        } else if (typeof window.iWishThemeIsInWishlist === 'function' && pid && canonical) {
7840          inList = !!window.iWishThemeIsInWishlist(pid, canonical, main, true);
7841        }
7842        if (!inList && pid) {
7843          var arr = window.iWishResolveIwishVariantIds(pid, main);
7844          if (arr && window.iWishVariantIdInArray(arr, canonical)) inList = true;
7845        }
7846        if (!inList && (canonical || norm)) {
7847          inList = window.iWishVariantInAnyWishlistProduct(canonical || norm || vidStr, main, true);
7848        }
7849        if (!inList && (canonical || norm)) {
7850          inList = window.iWishVariantInWindowIwishMainOnly(canonical || norm || vidStr, true);
7851        }
7852        var nk = window.iWishNormalizeVariantId(canonical || norm || vidStr);
7853        if (mergeHadKeys && nk && !window.iWishVariantInAnyWishlistProduct(nk)) {
7854          window.iWishClearSessionWishlisted(nk);
7855        }
7856        try {
7857          if (nk && typeof iWish !== 'undefined' && iWish && iWish.iWishlist && typeof window.iWishV3VariantInList === 'function' && canonical && !window.iWishV3VariantInList(canonical)) {
7858            window.iWishClearSessionWishlisted(nk);
7859          }
7860        } catch (eSess) {}
7861        if (!inList && nk && window.iWishSessionWishlistedIds[nk]) {
7862          inList = true;
7863        }
7864        $a.html(inList ? window.iWishProductHeartSvgFilled : window.iWishProductHeartSvgOutline);
7865        if (inList) { $a.addClass('iwishAdded'); } else { $a.removeClass('iwishAdded'); }
7866      });
7867    };
7868    window.iWishApplySvgPreserveAdded = function($links) {
7869      if (!$links || !$links.length) return;
7870      $links.each(function() {
7871        var $a = jQuery(this);
7872        var wasAdded = $a.hasClass('iwishAdded');
7873        $a.html(wasAdded ? window.iWishProductHeartSvgFilled : window.iWishProductHeartSvgOutline);
7874        if (wasAdded) { $a.addClass('iwishAdded'); } else { $a.removeClass('iwishAdded'); }
7875      });
7876    };
7877    window.iWishPaintProductHeartFromDom = function() {
7878      var $links = jQuery('#wishlist_wrap .iWishAdd.st-1, .iwish-app-block-product .iWishAdd.st-1');
7879      if (!$links.length || !document.getElementById('product-select')) return;
7880      var v = jQuery('#product-select').val() || jQuery('#add-item-form').attr('data-variant-id');
7881      if (v == null || v === '') return;
7882      var c = window.iWishCanonicalVariantId(v) || window.iWishNormalizeVariantId(String(v));
7883      if (typeof window.iWishHydrateWishlistState === 'function') window.iWishHydrateWishlistState();
7884      window.iWishPaintProductHeartFallback($links, c || String(v));
7885    };
7886    window.iWishRefreshProductHeart = function(variantIdOpt) {
7887      if (window.__iWishHeartPollTimer) {
7888        clearInterval(window.__iWishHeartPollTimer);
7889        window.__iWishHeartPollTimer = null;
7890      }
7891      if (window.__iWishPostIwishTimer) {
7892        clearTimeout(window.__iWishPostIwishTimer);
7893        window.__iWishPostIwishTimer = null;
7894      }
7895      var $wraps = jQuery('#wishlist_wrap .iwishAddWrap');
7896      var $links = jQuery('#wishlist_wrap .iWishAdd.st-1, .iwish-app-block-product .iWishAdd.st-1');
7897      if (!$links.length) return;
7898      if (!window.iWishProductPageHeartVisible()) {
7899        $wraps.addClass('iwish-heart--hidden');
7900        $links.each(function() {
7901          var $a = jQuery(this);
7902          $a.removeClass('iwishAdded');
7903          $a.html(window.iWishProductHeartSvgOutline);
7904          $a.attr('aria-disabled', 'true');
7905          $a.attr('title', 'Choose an option to add to your wishlist');
7906        });
7907        return;
7908      }
7909      $wraps.removeClass('iwish-heart--hidden');
7910      $links.removeAttr('aria-disabled').removeAttr('title');
7911      var $wlRoot = jQuery('#wishlist_wrap');
7912      if ($wlRoot.hasClass('wishlist_panel_wrap2--deferred-heart')) {
7913        $wlRoot.removeClass('wishlist_panel_wrap2--deferred-heart');
7914      }
7915      var vid = variantIdOpt != null && variantIdOpt !== '' ? variantIdOpt : jQuery('#product-select').val();
7916      if (vid == null || vid === '') {
7917        vid = jQuery('#add-item-form').attr('data-variant-id');
7918      }
7919      if (vid == null || vid === '') return;
7920      var vidFinal = window.iWishCanonicalVariantId(vid) || window.iWishNormalizeVariantId(String(vid));
7921      if (!vidFinal) return;
7922      if (typeof window.iWishHydrateWishlistState === 'function') window.iWishHydrateWishlistState();
7923      window.iWishPaintProductHeartFallback($links, vidFinal);
7924      window.__iWishPostIwishTimer = setTimeout(function() {
7925        window.__iWishPostIwishTimer = null;
7926        window.iWishPaintProductHeartFromDom();
7927      }, 750);
7928      if (typeof window.checkIwish !== 'function') {
7929        var tries = 0;
7930        window.__iWishHeartPollTimer = setInterval(function() {
7931          tries++;
7932          if (typeof window.checkIwish === 'function') {
7933            clearInterval(window.__iWishHeartPollTimer);
7934            window.__iWishHeartPollTimer = null;
7935            window.iWishPaintProductHeartFromDom();
7936          } else if (tries >= 40) {
7937            clearInterval(window.__iWishHeartPollTimer);
7938            window.__iWishHeartPollTimer = null;
7939            window.iWishPaintProductHeartFallback($links, vidFinal);
7940          }
7941        }, 50);
7942      }
7943    };
7944    (function iWishBootstrapDataPoll() {
7945      var n = 0;
7946      var max = 24;
7947      var id = setInterval(function() {
7948        n++;
7949        var changed = typeof window.iWishHydrateWishlistState === 'function' ? window.iWishHydrateWishlistState() : false;
7950        var shouldPaint = changed || n <= 8 || n >= max;
7951        if (shouldPaint && typeof window.iWishRefreshProductHeart === 'function') {
7952          window.iWishRefreshProductHeart();
7953        }
7954        var main = typeof window.iWishListMainForRead === 'function' ? window.iWishListMainForRead() : {};
7955        var legacyKeys = main && typeof main === 'object' ? Object.keys(main).length : 0;
7956        var v3size = 0;
7957        try {
7958          if (typeof iWish !== 'undefined' && iWish && iWish.iWishlist && typeof iWish.iWishlist.size === 'number') {
7959            v3size = iWish.iWishlist.size;
7960          }
7961        } catch (eSz) {}
7962        var hasData = legacyKeys > 0 || v3size > 0;
7963        if ((changed && hasData) || n >= max) {
7964          clearInterval(id);
7965        }
7966      }, 200);
7967    })();
7968    /* Repaint after app checkIwish / variant change; v3 uses Map(iwish_list), legacy uses merged iWishlistmain. */
7969    window.iWishSelectChangeFn = function(iwishCurrObj) {
7970      if (jQuery('#wishlist_wrap .iWishAdd.st-1').length && document.getElementById('product-select')) {
7971        var paint = function() { window.iWishPaintProductHeartFromDom(); };
7972        paint();
7973        requestAnimationFrame(paint);
7974        setTimeout(paint, 360);
7975        return;
7976      }
7977      window.iWishApplySvgPreserveAdded(iwishCurrObj);
7978    };
7979    window.iWishAddFn = function(vIdFromApp) {
7980      var $links = jQuery('#wishlist_wrap .iWishAdd.st-1, .iwish-app-block-product .iWishAdd.st-1');
7981      var v = (vIdFromApp != null && vIdFromApp !== '') ? vIdFromApp : jQuery('#product-select').val() || jQuery('#add-item-form').attr('data-variant-id');
7982      if (v != null && v !== '') {
7983        var c = window.iWishCanonicalVariantId(v) || window.iWishNormalizeVariantId(String(v));
7984        if (typeof window.iWishHydrateWishlistState === 'function') window.iWishHydrateWishlistState();
7985        window.iWishPaintProductHeartFallback($links, c || String(v));
7986        window.iWishMarkSessionWishlisted(c || String(v));
7987        $links.each(function() {
7988          jQuery(this).html(window.iWishProductHeartSvgFilled).addClass('iwishAdded');
7989        });
7990      } else {
7991        window.iWishApplySvgPreserveAdded($links);
7992      }
7993    };
7994
7995    (function scheduleIwishIsInWishlistPatch() {
7996      function bindThemeIsInWishlist() {
7997        if (typeof window.iWishThemeIsInWishlist !== 'function') return;
7998        window.isInWishlist = window.iWishThemeIsInWishlist;
7999      }
8000      bindThemeIsInWishlist();
8001      var n = 0;
8002      var id = setInterval(function() {
8003        n++;
8004        bindThemeIsInWishlist();
8005        if (n >= 40) clearInterval(id);
8006      }, 50);
8007      window.addEventListener('load', function() {
8008        bindThemeIsInWishlist();
8009        if (typeof window.iWishRefreshProductHeart === 'function') window.iWishRefreshProductHeart();
8010      });
8011      var iwishScript = document.querySelector('script[src*="iwishlist"]');
8012      if (iwishScript && iwishScript.addEventListener) {
8013        iwishScript.addEventListener('load', function() {
8014          bindThemeIsInWishlist();
8015          function rfIwish() {
8016            bindThemeIsInWishlist();
8017            if (typeof window.iWishHydrateWishlistState === 'function') window.iWishHydrateWishlistState();
8018            var mergeEmpty = typeof window.iWishListMainForRead === 'function' && Object.keys(window.iWishListMainForRead()).length === 0;
8019            var cid = parseInt((typeof iwish_cid !== 'undefined' && iwish_cid !== '') ? iwish_cid : window.__iWishCustomerId, 10);
8020            if (mergeEmpty && !isNaN(cid) && cid > 0 && typeof window.iWishSyncFromServerIfLoggedIn === 'function') {
8021              window.iWishSyncFromServerIfLoggedIn();
8022            }
8023            if (typeof window.iWishRefreshProductHeart === 'function') window.iWishRefreshProductHeart();
8024          }
8025          setTimeout(rfIwish, 0);
8026          setTimeout(rfIwish, 400);
8027        });
8028      }
8029      bindThemeIsInWishlist();
8030      setTimeout(bindThemeIsInWishlist, 400);
8031    })();
8032
8033    /* Legacy iwishInit: refresh after sync / init. */
8034    (function chainIwishLifecycleHooks() {
8035      var prevSync = window.iWishsyncFn;
8036      window.iWishsyncFn = function() {
8037        if (typeof prevSync === 'function') prevSync();
8038        if (typeof window.iWishRefreshProductHeart === 'function') {
8039          window.iWishRefreshProductHeart();
8040        }
8041      };
8042      var prevInit = window.iWishinitFn;
8043      window.iWishinitFn = function() {
8044        if (typeof prevInit === 'function') prevInit();
8045        if (typeof window.iWishRefreshProductHeart === 'function') {
8046          window.iWishRefreshProductHeart();
8047        }
8048      };
8049    })();
8050
8051    try {
8052      iWishSelectChangeFn = window.iWishSelectChangeFn;
8053      iWishAddFn = window.iWishAddFn;
8054      iWishsyncFn = window.iWishsyncFn;
8055      iWishinitFn = window.iWishinitFn;
8056    } catch (eIwishHook) {}
8057
8058    (function scheduleIwishCheckIwishWrap() {
8059      var n = 0;
8060      var id = setInterval(function() {
8061        n++;
8062        if (typeof window.checkIwish !== 'function') {
8063          if (n >
8063= 80) clearInterval(id);
8064          return;
8065        }
8066        clearInterval(id);
8067        if (window.__iWishCheckIwishWrapped) return;
8068        window.__iWishCheckIwishWrapped = true;
8069        var orig = window.checkIwish;
8070        window.checkIwish = function(iwishFrmObj, iWishvId) {
8071          var ret;
8072          if (typeof orig === 'function') {
8073            ret = orig.apply(this, arguments);
8074          }
8075          function paintAfterApp() {
8076            if (typeof window.iWishHydrateWishlistState === 'function') window.iWishHydrateWishlistState();
8077            if (typeof window.iWishPaintProductHeartFromDom === 'function') window.iWishPaintProductHeartFromDom();
8078          }
8079          setTimeout(paintAfterApp, 0);
8080          var iwishCurrObj = iwishFrmObj && iwishFrmObj.find ? iwishFrmObj.find('.iWishAdd') : null;
8081          if (typeof iWishSelectChangeFn === 'function' && iwishCurrObj && iwishCurrObj.length) {
8082            iWishSelectChangeFn(iwishCurrObj);
8083          }
8084          return ret;
8085        };
8086      }, 50);
8087    })();
8088
8089    function syncProductInfoSkuBlock($sku) {
8090      var el = document.getElementById('product-info-sku-block');
8091      if (!el || !$sku || !$sku.length) return;
8092      var raw = String($sku.text() || '').replace(/\u00a0/g, '').replace(/\s+/g, ' ').trim();
8093      if (raw.length > 0) {
8094        el.removeAttribute('hidden');
8095        el.setAttribute('aria-hidden', 'false');
8096      } else {
8097        el.setAttribute('hidden', 'hidden');
8098        el.setAttribute('aria-hidden', 'true');
8099      }
8100    }
8101
8102    function updateProductSkuUpcFields(variant) {
8103      var $sku = jQuery('#sku2');
8104      var $upc = jQuery('.pdp-upc-value');
8105      if (!$sku.length && !$upc.length) return;
8106      var showIdentity = !variant || !window.__productAtcRequiresExplicitChoice || window.__productVariantExplicitlyChosen || window.__productInitialUrlHadVariant;
8107      if (!variant || !showIdentity) {
8108        if ($sku.length) $sku.html('');
8109        if ($upc.length) $upc.html('');
8110        syncProductInfoSkuBlock($sku);
8111        return;
8112      }
8113      var r = resolveVariantSkuBarcode(variant);
8114      if ($sku.length) $sku.html(r.sku ? String(r.sku) : '');
8115      if ($upc.length) $upc.html(r.barcode || '');
8116      syncProductInfoSkuBlock($sku);
8117    }
8118
8119    /* Must be top-level (not nested inside if(variant)) so it always exists; forces display to match div.ptag */
8120    window.fillPreorderShipNotice = function(pre_purchase, preorder_ship_date_phrase) {
8121      var $pre = jQuery('.delivery-delay-variant-message--preorder');
8122      if (!$pre.length) return;
8123      if (pre_purchase && preorder_ship_date_phrase) {
8124        $pre.html('We expect to start shipping around ' + preorder_ship_date_phrase + '.<br/>Orders are filled in the order they\'re received.');
8125      } else if ($pre.text().indexOf('We expect to start shipping') === -1) {
8126        $pre.html('Orders are filled in the order they\'re received.');
8127      }
8128      $pre.removeAttr('style');
8129      $pre.css({ display: 'block', width: '100%', maxWidth: '100%', visibility: 'visible', textAlign: 'center' });
8130    };
8131
8132    /* __productInitialUrlHadVariant / __productAtcRequiresExplicitChoice / __productVariantExplicitlyChosen: set at top of script (before iWish heart refresh). */
8133    window.__productPreSaleEffective = false;
8134    window.__productSomeOptionsSoldOut = false;
8135    (function clearProductVariantStockDeferredIfApplicable() {
8136      if (!window.__productAtcRequiresExplicitChoice || window.__productInitialUrlHadVariant) {
8137        document.documentElement.classList.remove('product-variant-stock-deferred');
8138      }
8139      syncProductQtyChipsSlot();
8140    })();
8141
8142    function productStockPillsVisible(variantPresent) {
8143      return !!variantPresent && (!window.__productAtcRequiresExplicitChoice || window.__productVariantExplicitlyChosen);
8144    }
8145    function hideProductStockPillsUntilExplicitVariant() {
8146      if (!window.__productAtcRequiresExplicitChoice || window.__productVariantExplicitlyChosen) return;
8147      var el = document.getElementById('variant-inventory');
8148      var c = document.getElementById('variant-inventory-cart');
8149      if (el) {
8150        el.textContent = '';
8151        el.setAttribute('hidden', 'hidden');
8152        el.setAttribute('aria-hidden', 'true');
8153      }
8154      if (c) {
8155        c.textContent = '';
8156        c.setAttribute('hidden', 'hidden');
8157        c.setAttribute('aria-hidden', 'true');
8158      }
8159      syncProductQtyChipsSlot();
8160    }
8161    if (document.readyState === 'loading') {
8162      document.addEventListener('DOMContentLoaded', hideProductStockPillsUntilExplicitVariant);
8163    } else {
8164      hideProductStockPillsUntilExplicitVariant();
8165    }
8166
8167    var _productVariantInlineWarningTimer = null;
8168    window.hideProductVariantInlineWarning = function() {
8169      if (_productVariantInlineWarningTimer) {
8170        clearTimeout(_productVariantInlineWarningTimer);
8171        _productVariantInlineWarningTimer = null;
8172      }
8173      jQuery('.product-variant-option-warning').each(function() {
8174        jQuery(this).attr('hidden', 'hidden').attr('aria-hidden', 'true').empty();
8175      });
8176    };
8177    window.showProductVariantInlineWarning = function(msg) {
8178      if (typeof msg !== 'string' || !msg) return;
8179      window.hideProductVariantInlineWarning();
8180      var esc = jQuery('<div/>').text(msg).html();
8181      var $rows = jQuery('#add-item-form .select .selector-wrapper');
8182      var $targetRow = $rows.filter(function() {
8183        return jQuery(this).find('.variant-option-btn.is-selected').length === 0;
8184      }).first();
8185      if (!$targetRow.length) $targetRow = $rows.first();
8186      if (!$targetRow.length) return;
8187      var $slot = $targetRow.find('.product-variant-option-warning');
8188      if (!$slot.length) {
8189        var $g = $targetRow.find('.variant-option-buttons').first();
8190        if ($g.length) {
8191          $g.after('<div class="product-variant-option-warning addtocart-inline-warning" hidden aria-live="polite" aria-hidden="true"></div>');
8192          $slot = $targetRow.find('.product-variant-option-warning');
8193        }
8194      }
8195      if (!$slot.length) return;
8196      $slot.html('<i class="fas fa-exclamation-triangle" aria-hidden="true"></i><span class="addtocart-inline-warning__text">' + esc + '</span>');
8197      $slot.removeAttr('hidden').attr('aria-hidden', 'false');
8198      var el = $slot[0];
8199      if (el && el.scrollIntoView) {
8200        var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
8201        el.scrollIntoView({ behavior: reduceMotion ? 'auto' : 'smooth', block: 'center', inline: '
8201nearest' });
8202      }
8203      _productVariantInlineWarningTimer = setTimeout(function() {
8204        window.hideProductVariantInlineWarning();
8205      }, 8000);
8206    };
8207
8208    /* enableHistoryState is off when the landing URL had no ?variant= (avoids load flash). Sync ?variant= only after explicit picks — see __productAtcRequiresExplicitChoice. */
8209    function syncProductVariantToUrlAfterSelection(variant) {
8210      if (!variant || !variant.id) return;
8211      if (!window.__productAtcRequiresExplicitChoice) return;
8212      if (!window.__productVariantExplicitlyChosen) return;
8213      try {
8214        var u = new URL(window.location.href);
8215        u.searchParams.set('variant', String(variant.id));
8216        var q = u.searchParams.toString();
8217        history.replaceState({}, '', u.pathname + (q ? '?' + q : '') + u.hash);
8218      } catch (err) {}
8219    }
8220
8221    /** One paint pass + delayed retry (late layout/third-party hooks); replaces staggered 0/50/450/750ms bursts. */
8222    function scheduleIwishHeartRefreshVariant(variantId) {
8223      if (typeof window.iWishRefreshProductHeart !== 'function') return;
8224      requestAnimationFrame(function() {
8225        window.iWishRefreshProductHeart(variantId);
8226        setTimeout(function() {
8227          window.iWishRefreshProductHeart(variantId);
8228        }, 400);
8229      });
8230    }
8231    function scheduleIwishHeartRefreshCurrent() {
8232      if (typeof window.iWishRefreshProductHeart !== 'function') return;
8233      requestAnimationFrame(function() {
8234        window.iWishRefreshProductHeart();
8235        setTimeout(function() {
8236          window.iWishRefreshProductHeart();
8237        }, 400);
8238      });
8239    }
8240
8241    var selectCallback = function(variant, selector) {
8242        var reserveBlocksSale = false;
8243        if (variant) {
8244          		/* Fallback: some stores (e.g. pickleball domain) may not have inventory in variant object – look up from Liquid-built arrays by SKU */
8245          		var variant_sku_array = ["119071","119072","119073","119074","119075","119076","119077","119078","119079","119080"];
8246          		var variant_quantity_array = ["1","2","3","3","3","1","3","3","2","1"];
8247          		var variant_policy_array = ["deny","deny","deny","deny","deny","deny","deny","deny","deny","deny"];
8248          		var variant_inventory_quantity, variant_inventory_policy;
8249          		for (var x = 0; x < variant_sku_array.length; x++) {
8250            		if (variant.sku == variant_sku_array[x]) {
8251              		variant_inventory_quantity = variant_quantity_array[x];
8252              		variant_inventory_policy = variant_policy_array[x];
8253              		break;
8254            		}
8255          		}
8256          		var invQty = variant.inventory_quantity != null ? variant.inventory_quantity : variant_inventory_quantity;
8257          		var invPolicy = variant.inventory_policy || variant_inventory_policy || '';
8258          		var quantityReserve = 0;
8259          		if (typeof quantityReserve !== 'number') quantityReserve = parseInt(quantityReserve, 10) || 0;
8260          		
8261          		var sellableQty = invQty;
8262          		if (quantityReserve > 0 && invQty != null && !isNaN(invQty)) {
8263            		sellableQty = Math.max(0, parseInt(invQty, 10) - quantityReserve);
8264          		}
8265          		reserveBlocksSale = quantityReserve > 0 && sellableQty != null && !isNaN(sellableQty) && sellableQty <= 0 && (variant.inventory_management || '').toLowerCase() === 'shopify' && (invPolicy || '').toLowerCase() !== 'continue';
8266
8267          		var $form = jQuery('#add-item-form');
8268          		if ($form.length) {
8269            		$form.attr('data-variant-id', variant.id);
8270            		$form.attr('data-variant-inventory', sellableQty != null ? sellableQty : '');
8271            		$form.attr('data-inventory-policy', invPolicy);
8272            		$form.attr('data-inventory-management', variant.inventory_management || '');
8273          		}
8274          		syncIwishProductPageVariant(variant);
8275          		scheduleIwishHeartRefreshVariant(variant.id);
8276          		var prepurchase_check = document.getElementById("stock_available");
8277                
8278                  var status_pre_sale = false;
8279                
8280                
8281                var pre_purchase = false;
8282                var preorder_ship_date_phrase = '';
8283                
8284    			if(prepurchase_check && variant.inventory_management == "shopify" && invPolicy == "continue" || prepurchase_check && status_pre_sale){
8285                  var stock_available_raw = document.getElementById("stock_available").innerHTML.trim();
8286                  var stock_realdate = new Date();
8287                  var stock_real_day = stock_realdate.getDate();
8288                  var stock_real_month = stock_realdate.getMonth()+1;
8289                  var stock_real_year = stock_realdate.getFullYear();
8290                  var launchParts = stock_available_raw.split("/");
8291                  var stock_available_day = Number(launchParts[1]);
8292                  var stock_available_month = Number(launchParts[0]);
8293                  var stock_available_year = Number(launchParts[2]);
8294                  /* Pre-sale only before launch date; not on launch day or after (local midnight comparison) */
8295                  var launchMidnight = new Date(stock_available_year, stock_available_month - 1, stock_available_day).setHours(0, 0, 0, 0);
8296                  var todayMidnight = new Date(stock_real_year, stock_real_month - 1, stock_real_day).setHours(0, 0, 0, 0);
8297                  pre_purchase = launchMidnight > todayMidnight;
8298                  var _preorderMonths = ['January','February','March','April','May','June','July','August','September','October','November','December'];
8299                  preorder_ship_date_phrase = (stock_available_month >= 1 && stock_available_month <= 12 && _preorderMonths[stock_available_month - 1])
8300                    ? (_preorderMonths[stock_available_month - 1] + ' ' + stock_available_day + ', ' + stock_available_year)
8301                    : (stock_available_month + '/' + stock_available_day + '/' + stock_available_year);
8302    			} else {
8303      				pre_purchase = false;
8304    			}
8305                
8306                
8307          if (variant.inventory_management == "shopify" && invPolicy != "continue") {
8308            if (sellableQty != null && sellableQty > 0) {
8309              if (sellableQty > 3) {
8310                if (pre_purchase) {
8311                   	jQuery('#variant-inventory').text("3+ available for purchase");
8312                   	fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8313                	jQuery("#delivery_delay_cart_attribute").insertAfter("#bundleIN");
8314                	} else {
8315                      jQuery('#variant-inventory').text('3+ in stock');
8316                      if (window.__productPreSaleEffective) fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8317						}
8318              } else if (sellableQty == 1) {
8319                        if (pre_purchase) {
8320                   	jQuery('#variant-inventory').text(sellableQty + " available for purchase");
8321                   	fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8322                	jQuery("#delivery_delay_cart_attribute").insertAfter("#bundleIN");
8323                	} else {
8324               			jQuery('#variant-inventory').text(sellableQty + ' in stock');
8325               			if (window.__productPreSaleEffective) fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8326					}
8327              }
8328              else {
8329                    if (pre_purchase) {
8330                   	jQuery('#variant-inventory').text(sellableQty + " available for purchase");
8331                   	fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8332                	jQuery("#delivery_delay_cart_attribute").insertAfter("#bundleIN");
8333                	} else {                                      
8334               jQuery('#variant-inventory').text(sellableQty + ' in stock');
8335               if (window.__productPreSaleEffective) fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8336                                                 }
8337              }   
8338            } else {
8339              jQuery('#variant-inventory').text("out of stock");
8340              if (window.__productPreSaleEffective) fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8341            }
8342          } else {
8343            
8344            
8345                
8346    			
8347				
8348                
8349                  
8350                    var backorder_message = "available for backorder";
8351                  
8352                
8353            
8354              if (sellableQty != null && sellableQty > 0) {
8355                jQuery('#variant-inventory').text("in stock");
8356                
8357              	jQuery('.delivery-delay-variant-message').not('.delivery-delay-variant-message--preorder').hide();
8358                
8359                jQuery("#delivery_delay_cart_attribute").insertAfter("#bundleOUT");
8360              } else {
8361                if (document.getElementById("stock_available")) {
8362                  if (pre_purchase) {
8363                   jQuery('#variant-inventory').text("available for purchase");
8364                  } else {
8365                   jQuery('#variant-inventory').text(backorder_message); 
8366                  }
8367                } else {
8368                jQuery('#variant-inventory').text(backorder_message);
8369                }
8370                jQuery("#delivery_delay_cart_attribute").insertAfter("#bundleIN");
8371              }
8372            
8373          }
8374          if (window.__productPreSaleEffective) fillPreorderShipNotice(pre_purchase, preorder_ship_date_phrase);
8375          if (productStockPillsVisible(variant)) {
8376            appendCartCountToVariantInventory(variant.id);
8377          }
8378        } else {
8379            jQuery('#variant-inventory').text("");
8380            setVariantInventoryCartChip(0);
8381            var $form = jQuery('#add-item-form');
8382            if ($form.length) { $form.removeAttr('data-variant-id data-variant-inventory data-inventory-policy data-inventory-management'); }
8383        }
8384
8385      
8386      if (variant && variant.available) {
8387        var percentage_discount = (((((variant.compare_at_price - variant.price)*100)/variant.compare_at_price)*100)/100);
8388        if(variant.price < variant.compare_at_price){
8389            if (percentage_discount >= 40){
8390              $("#clearance_tag").removeAttr('disabled').removeClass('disabled').removeAttr('aria-disabled');
8391              $("#clearance_tag").parent('a').removeAttr('hidden').removeAttr('aria-hidden');
8392              $("#clearance_property").removeAttr('disabled');
8393              $("#sale_tag").addClass('disabled').attr('disabled', 'disabled').attr('aria-disabled', 'true');
8394              $("#sale_tag").parent('a').attr('hidden', 'hidden').attr('aria-hidden', 'true');
8395              $("#sale_property").attr('disabled', 'disabled');
8396            }
8397            if (percentage_discount < 40){
8398              $("#clearance_tag").addClass('disabled').attr('disabled', 'disabled').attr('aria-disabled', 'true');
8399              $("#clearance_tag").parent('a').attr('hidden', 'hidden').attr('aria-hidden', 'true');
8400              $("#clearance_property").attr('disabled', 'disabled');
8401              $("#sale_tag").removeAttr('disabled').removeClass('disabled').removeAttr('aria-disabled');
8402              $("#sale_tag").parent('a').removeAttr('hidden').removeAttr('aria-hidden');
8403              $("#sale_property").removeAttr('disabled');
8404            }
8405        }
8406      }
8407      
8408      
8409      if (variant && typeof window.activateProductMediaGalleryIndex === 'function') {
8410        var $galRoot = jQuery('#product .product-media-gallery');
8411        var galleryIx = null;
8412        if (window.__productVariantIdToGalleryIndex && variant.id != null) {
8413          galleryIx = window.__productVariantIdToGalleryIndex[variant.id];
8414          if (typeof galleryIx !== 'number') galleryIx = window.__productVariantIdToGalleryIndex[String(variant.id)];
8415        }
8416        if (typeof galleryIx !== 'number' && variant.featured_image && window.__productGalleryImageIdToIndex) {
8417          var fid = variant.featured_image.id;
8418          galleryIx = window.__productGalleryImageIdToIndex[fid];
8419          if (typeof galleryIx !== 'number') galleryIx = window.__productGalleryImageIdToIndex[String(fid)];
8420        }
8421        if (typeof galleryIx !== 'number' && variant.featured_media && window.__productGalleryMediaIdToIndex) {
8422          var mid = variant.featured_media.id;
8423          galleryIx = window.__productGalleryMediaIdToIndex[mid];
8424          if (typeof galleryIx !== 'number') galleryIx = window.__productGalleryMediaIdToIndex[String(mid)];
8425        }
8426        if ($galRoot.length && typeof galleryIx === 'number') {
8427          window.activateProductMediaGalleryIndex(galleryIx);
8428        } else if (variant.featured_image) {
8429          var originalImage = jQuery('.featured img');
8430          var newImage = variant.featured_image;
8431          var element = originalImage[0];
8432          if (element && typeof Shopify !== 'undefined' && Shopify.Image && Shopify.Image.switchImage) {
8433            Shopify.Image.switchImage(newImage, element, function (newImageSizedSrc, newImage, el) {
8434              jQuery(el).parents('a').attr('href', newImageSizedSrc);
8435              jQuery(el).attr('src', newImageSizedSrc);
8436              jQuery('#product .product-media-gallery .zoomImg').attr('src', newImageSizedSrc.replace('_master', ''));
8437            });
8438          }
8439        }
8440      }
8441
8442    /* Keep buy box + disabled ATC / notices — never swap in the full OOS panel.
8443       When every variant is unsellable (incl. reserve), keep pickers hidden. */
8444    var productAllSellableOos = false;
8445    function renderPricePreviewHtml(priceVariant) {
8446      var priceSource = priceVariant;
8447      if (!priceSource || priceSource.price == null) {
8448        var variantsList = (window.Shopify && window.Shopify._productVariants) || [];
8449        priceSource = variantsList[0] || {
8450          price: 19999,
8451          compare_at_price: 19999
8452        };
8453      }
8454      if (priceSource.price < priceSource.compare_at_price) {
8455        
8456        return "<span class='prod-reduced-price-j'>$</span>" + "<span class='prod-reduced-price-j' itemprop='price'>" + Shopify.formatMoney(priceSource.price, "{{amount}}").replace(",","") + "</span>" + " <del>" + Shopify.formatMoney(priceSource.compare_at_price, "{{amount}}").replace(",","") + "</del>";
8457      }
8458      return "<span class='prod-normal-price-j'>$</span>" + "<span class='prod-normal-price-j' itemprop='price'>" + Shopify.formatMoney(priceSource.price, "{{amount}}").replace(",","") + "</span>";
8459    }
8460    /* Never un-hide .select here — Liquid sets display:none for Default Title / full OOS. */
8461    if (productAllSellableOos) {
8462      jQuery('#add-item-form .select').css('display', 'none');
8463    }
8464    var atcUnavailableLabel = 'Out of Stock';
8465    var canSellVariant = !!(variant && variant.available && !reserveBlocksSale && !productAllSellableOos);
8466    function syncAtcButtonsForAvailability(canSell) {
8467      jQuery('.addToCartBtn').each(function() {
8468        var $b = jQuery(this);
8469        var lab = (($b.val() || '') + ' ' + ($b.find('.addtocart__label').text() || '')).toString();
8470        if ($b.hasClass('addtocart-busy') || $b.hasClass('addtocart-added-success') || lab.indexOf('Adding...') !== -1 || lab.indexOf('Added!') !== -1) return;
8471        if (canSell) {
8472          $b.prop('disabled', false).removeAttr('disabled').css({'background':'','cursor':''});
8473          if ($b.is('#add-to-cart')) $b.removeClass('disabled');
8474          if (typeof window.motSetAtcLabel === 'function') window.motSetAtcLabel($b, 'Add to Cart', false);
8475        } else {
8476          $b.prop('disabled', true).attr('disabled', 'disabled').css({'background':'gray','cursor':'not-allowed'});
8477          if ($b.is('#add-to-cart')) $b.addClass('disabled');
8478          if (typeof window.motSetAtcLabel === 'function') window.motSetAtcLabel($b, atcUnavailableLabel, false);
8479        }
8480      });
8481    }
8482    if (canSellVariant) {
8483      jQuery('.prod-options').css('display','block');
8484      jQuery('.prod-options-outofstock').css('display','none');
8485      syncAtcButtonsForAvailability(true);
8486      jQuery('#price-preview').html(renderPricePreviewHtml(variant));
8487    } else {
8488      syncAtcButtonsForAvailability(false);
8489      jQuery('.prod-options').css('display','block');
8490      jQuery('.prod-options-outofstock').css('display','none');
8491      jQuery('#variant-inventory').text('out of stock');
8492      jQuery('#price-preview').html(renderPricePreviewHtml(variant));
8493    }
8494
8495    var $invChip = jQuery('#variant-inventory');
8496    var $invCartChip = jQuery('#variant-inventory-cart');
8497    if ($invChip.length) {
8498      if (!productStockPillsVisible(variant)) {
8499        $invChip.text('').attr('hidden', 'hidden').attr('aria-hidden', 'true');
8500        if ($invCartChip.length) {
8501          $invCartChip.text('').attr('hidden', 'hidden').attr('aria-hidden', 'true');
8502        }
8503      } else {
8504        $invChip.removeAttr('hidden').attr('aria-hidden', 'false');
8505        document.documentElement.classList.remove('product-variant-stock-deferred');
8506      }
8507      syncProductQtyChipsSlot();
8508    }
8509
8510    syncProductVariantToUrlAfterSelection(variant);
8511    updateProductSkuUpcFields(variant);
8512    if (typeof window.__pdpStoreStockNotifyVariantResolved === 'function') {
8513      window.__pdpStoreStockNotifyVariantResolved();
8514    }
8515    };
8516
8517
8518    jQuery(document).ready(function($){
8519
8520    (function iwishSyncVariantFromProductSelectOnClick() {
8521      document.addEventListener('click', function(e) {
8522        var a = e.target.closest && e.target.closest('#wishlist_wrap a.iWishAdd, .iwish-app-block-product a.iWishAdd');
8523        if (!a) return;
8524        if (a.getAttribute('aria-disabled') === 'true') {
8525          e.preventDefault();
8526          e.stopPropagation();
8527          return;
8528        }
8529        var sel = document.getElementById('product-select');
8530        if (sel && sel.value) a.setAttribute('data-variant', String(sel.value));
8531      }, true);
8532    })();
8533
8534    (function iwishMarkExplicitVariantOnUserChange() {
8535      document.addEventListener('change', function(e) {
8536        if (!e.isTrusted) return;
8537        var t = e.target;
8538        if (!t || !document.getElementById('add-item-form') || !document.getElementById('add-item-form').contains(t)) return;
8539        if (!window.__productAtcRequiresExplicitChoice) return;
8540        if (t.id !== 'product-select' && !(t.classList && t.classList.contains('single-option-selector'))) return;
8541        window.__productVariantExplicitlyChosen = true;
8542        document.documentElement.classList.remove('product-variant-stock-deferred');
8543        syncProductQtyChipsSlot();
8544        /* Heart repaint: defer to OptionSelectors → selectCallback → scheduleIwishHeartRefreshVariant (avoids double refresh per change). */
8545      }, true);
8546    })();
8547
8548    function variantOptionAriaLabel($wrap) {
8549      var t = $wrap.find('label').first().text().trim();
8550      return t || 'Option';
8551    }
8552
8553    /* Variant rows live under #add-item-form .select; quantity .selector-wrapper is a sibling of .select (not inside it). */
8554    var VARIANT_OPTION_ROW_SEL = '#add-item-form .select .selector-wrapper';
8555
8556    var _variantBtnRefreshPending = false;
8557    function scheduleRefreshVariantOptionButtons() {
8558      if (_variantBtnRefreshPending) return;
8559      _variantBtnRefreshPending = true;
8560      requestAnimationFrame(function() {
8561        _variantBtnRefreshPending = false;
8562        if (typeof window.refreshVariantOptionButtons === 'function') window.refreshVariantOptionButtons();
8563      });
8564    }
8565
8566    function injectSomeOptionsSoldOutPill() {
8567      if (!window.__productSomeOptionsSoldOut) return;
8568      if (false) return;
8569      var $first = $(VARIANT_OPTION_ROW_SEL).filter(function() {
8570        return $(this).find('select.single-option-selector').length > 0;
8571      }).first();
8572      if (!$first.length || $first.find('.selector-wrapper-variant-disclaimer').length) return;
8573      var $lab = $first.find('label').first();
8574      if (!$lab.length) return;
8575      $lab.wrap('<div class="selector-wrapper-variant-heading"></div>');
8576      var $heading = $lab.parent();
8577      $heading.append(
8578        '<span class="selector-wrapper-variant-disclaimer" role="status">' +
8579        '(some options out of stock)' +
8580        '</span>'
8581      );
8582    }
8583
8584    window.refreshVariantOptionButtons = function() {
8585      $(VARIANT_OPTION_ROW_SEL).each(function() {
8586        var $wrap = $(this);
8587        var $select = $wrap.find('select.single-option-selector').first();
8588        if (!$select.length) return;
8589        $select.addClass('variant-option-select-hidden');
8590        var $group = $wrap.find('.variant-option-buttons').first();
8591        if (!$group.length) {
8592          $group = $('<div class="variant-option-buttons" role="radiogroup"></div>');
8593          $select.after($group);
8594        }
8595        $group.attr('aria-label', variantOptionAriaLabel($wrap));
8596        $group.empty();
8597        var current = $select.val();
8598        var showAsSelected = !window.__productAtcRequiresExplicitChoice || window.__productVariantExplicitlyChosen;
8599        $select.find('option').each(function() {
8600          var $opt = $(this);
8601          var val = $opt.attr('value');
8602          if (val === undefined || val === '') return;
8603          var label = $opt.text();
8604          var $btn = $('<button type="button" class="variant-option-btn" role="radio"></button>');
8605          $btn.attr('data-value', val).text(label);
8606          var isOn = showAsSelected && val === current;
8607          $btn.attr('aria-checked', isOn ? 'true' : 'false');
8608          if (isOn) $btn.addClass('is-selected');
8609          $group.append($btn);
8610        });
8611      });
8612    };
8613
8614    $(document).on('click', '.variant-option-btn', function(e) {
8615      e.preventDefault();
8616      var $btn = $(this);
8617      if ($btn.prop('disabled')) return;
8618      var $wrap = $btn.closest('.selector-wrapper');
8619      var $select = $wrap.find('select.single-option-selector').first();
8620      var val = $btn.attr('data-value');
8621      if (!$select.length || val === undefined) return;
8622      window.__productVariantExplicitlyChosen = true;
8623      if (typeof Shopify !== 'undefined' && Shopify.dismissAddToCartError) {
8624        Shopify.dismissAddToCartError('variant-explicit');
8625      }
8626      function afterVariantUiChange() {
8627        scheduleIwishHeartRefreshCurrent();
8628      }
8629      if ($select.val() === val) {
8630        $select.trigger('change');
8631        var $master = $('#product-select');
8632        if ($master.length) {
8633          requestAnimationFrame(function() {
8634            $master.trigger('change');
8635          });
8636        }
8637        afterVariantUiChange();
8638        return;
8639      }
8640      $select.val(val).trigger('change');
8641      afterVariantUiChange();
8642    });
8643
8644    $(document).on('change', 'select.single-option-selector', function() {
8645      scheduleRefreshVariantOptionButtons();
8646    });
8647
8648    (function wrapUpdateOptionsInSelector() {
8649      var orig = Shopify.updateOptionsInSelector;
8650      if (typeof orig !== 'function') return;
8651      Shopify.updateOptionsInSelector = function(selectorIndex) {
8652        var ret = orig.apply(this, arguments);
8653        scheduleRefreshVariantOptionButtons();
8654        return ret;
8655      };
8656    })();
8657
8658    /* Mark only reserve/manual-blocked variants unavailable for OptionSelectors.
8659       Leave the product JSON untouched otherwise — storefront JSON often omits variant.available,
8660       and rewriting availability was emptying linked option pickers on unrelated products. */
8661    
8662    
8663    
8664    
8665    
8666    
8667    function productJsonWithReserveAvailability(product) {
8668      var forceManualOos = false;
8669      var reserve = 0;
8670      if (typeof reserve !== 'number') reserve = parseInt(reserve, 10) || 0;
8671      var unsellableCsv = "";
8672      var unsellableIds = unsellableCsv ? String(unsellableCsv).split(',') : [];
8673      if (!forceManualOos && reserve <= 0) return product;
8674      if (!product || !product.variants) return product;
8675      if (!forceManualOos && !unsellableIds.length) return product;
8676      var p = JSON.parse(JSON.stringify(product));
8677      var unsellableMap = {};
8678      for (var i = 0; i < unsellableIds.length; i++) {
8679        if (unsellableIds[i] != null && unsellableIds[i] !== '') unsellableMap[String(unsellableIds[i])] = true;
8680      }
8681      for (var j = 0; j < p.variants.length; j++) {
8682        var v = p.variants[j];
8683        if (forceManualOos || unsellableMap[String(v.id)]) {
8684          v.available = false;
8685        } else if (typeof v.available === 'undefined') {
8686          /* Storefront JSON may omit available — keep selectable when not explicitly blocked. */
8687          v.available = true;
8688        }
8689      }
8690      if (forceManualOos) p.available = false;
8691      return p;
8692    }
8693    var productForOptions = productJsonWithReserveAvailability({"id":15196697756011,"title":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook","handle":"on-mens-the-roger-clubhouse-pro-2-wash-brook","description":"\u003cp\u003eModern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSuits All Racquet Sports\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eStable Yet Agile\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeels Good\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\u003c\/p\u003e\n\u003cul class=\"prod_spec\"\u003e\n\u003cli\u003eHeel to toe drop: 5mm\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eHelion superfoam midsole for stability and long-term wear\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eSpeedboard for stability and responsiveness\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eLightweight, breathable upper\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eTPU toe cap for added durability\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eMolded medial piece protects against tearing during slides\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eVersatile herringbone grip, perfect for any racket sport.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eYear: 2026\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eWeight: 15 ounces (size 10.5)\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eColour: Wash\/Brook\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eStyle #: 3MG30075206\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2026-08-11T15:04:26-04:00","created_at":"2026-08-11T12:19:56-04:00","vendor":"On","type":"Shoe","tags":["14-1-oz","blue","clay-court","footwear","footwear-size-10","footwear-size-10-5","footwear-size-11","footwear-size-11-5","footwear-size-12","footwear-size-13","footwear-size-8","footwear-size-8-5","footwear-size-9","footwear-size-9-5","hard-court","hard-court-clay-court-shoes","in-stock","men","mens-court-shoes","mens-pickleball-footwear","mens-tennis-footwear","on","pickleball","regular-price","type-footwear"],"price":19999,"price_min":19999,"price_max":19999,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":53707206820203,"title":"8","option1":"8","option2":null,"option3":null,"sku":"119071","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8","public_title":"8","options":["8"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862422","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206852971,"title":"8.5","option1":"8.5","option2":null,"option3":null,"sku":"119072","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8.5","public_title":"8.5","options":["8.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":2,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862439","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206885739,"title":"9","option1":"9","option2":null,"option3":null,"sku":"119073","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9","public_title":"9","options":["9"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862446","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206918507,"title":"9.5","option1":"9.5","option2":null,"option3":null,"sku":"119074","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9.5","public_title":"9.5","options":["9.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862460","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206951275,"title":"10","option1":"10","option2":null,"option3":null,"sku":"119075","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10","public_title":"10","options":["10"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862491","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206984043,"title":"10.5","option1":"10.5","option2":null,"option3":null,"sku":"119076","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10.5","public_title":"10.5","options":["10.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862507","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207016811,"title":"11","option1":"11","option2":null,"option3":null,"sku":"119077","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11","public_title":"11","options":["11"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862514","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207049579,"title":"11.5","option1":"11.5","option2":null,"option3":null,"sku":"119078","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11.5","public_title":"11.5","options":["11.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862521","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207082347,"title":"12","option1":"12","option2":null,"option3":null,"sku":"119079","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 12","public_title":"12","options":["12"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":2,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862538","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207115115,"title":"13","option1":"13","option2":null,"option3":null,"sku":"119080","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 13","public_title":"13","options":["13"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862576","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000","\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock2a.jpg?v=1786474999","\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock3a.jpg?v=1786474999","\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock4a.jpg?v=1786474999"],"featured_image":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000","options":["Footwear Size"],"media":[{"alt":null,"id":48737592377707,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000","width":1080},{"alt":null,"id":48737592344939,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock2a.jpg?v=1786474999"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock2a.jpg?v=1786474999","width":1080},{"alt":null,"id":48737592312171,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock3a.jpg?v=1786474999"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock3a.jpg?v=1786474999","width":1080},{"alt":null,"id":48737592279403,"position":4,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock4a.jpg?v=1786474999"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock4a.jpg?v=1786474999","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eModern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSuits All Racquet Sports\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eStable Yet Agile\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinfor
8693cements keep your feet securely in place and protect against tears during slides.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeels Good\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\u003c\/p\u003e\n\u003cul class=\"prod_spec\"\u003e\n\u003cli\u003eHeel to toe drop: 5mm\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eHelion superfoam midsole for stability and long-term wear\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eSpeedboard for stability and responsiveness\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eLightweight, breathable upper\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eTPU toe cap for added durability\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eMolded medial piece protects against tearing during slides\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eVersatile herringbone grip, perfect for any racket sport.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eYear: 2026\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eWeight: 15 ounces (size 10.5)\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eColour: Wash\/Brook\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003eStyle #: 3MG30075206\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e"});
8694
8695    /* Avoid ?variant= being written then stripped (flash) when the page was not loaded with a variant in the URL */
8696    new Shopify.OptionSelectors("product-select", { product: productForOptions, onVariantSelected: selectCallback, enableHistoryState: !!window.__productInitialUrlHadVariant });
8697
8698    function syncProductGalleryToVariantId(variantId) {
8699      if (variantId == null || variantId === '' || typeof window.activateProductMediaGalleryIndex !== 'function') return;
8700      var map = window.__productVariantIdToGalleryIndex;
8701      if (!map) return;
8702      var ix = map[variantId];
8703      if (typeof ix !== 'number') ix = map[String(variantId)];
8704      if (typeof ix !== 'number') return;
8705      if (!jQuery('#product .product-media-gallery').length) return;
8706      window.activateProductMediaGalleryIndex(ix);
8707    }
8708    $(document).on('change', '#product-select', function() {
8709      syncProductGalleryToVariantId(this.value);
8710    });
8711
8712    function iWishRefreshFromMasterSelect() {
8713      var sel = document.getElementById('product-select');
8714      if (!sel || !sel.value) return;
8715      $('#wishlist_wrap .iWishAdd, .iwish-app-block-product .iWishAdd').attr('data-variant', String(sel.value));
8716      if (typeof window.iWishRefreshProductHeart === 'function') window.iWishRefreshProductHeart(sel.value);
8717    }
8718    /* Initial PDP: one paint-aligned pass + one retry after OptionSelectors / iWish DOM settle. Further retries run on window load (below). */
8719    requestAnimationFrame(function() {
8720      iWishRefreshFromMasterSelect();
8721    });
8722    setTimeout(function() {
8723      iWishRefreshFromMasterSelect();
8724    }, 400);
8725    
8726
8727            
8728              
8729              
8730                
8731                
8732                
8733                
8734              
8735                
8736                
8737                
8738                
8739              
8740                
8741                
8742                
8743                
8744              
8745                
8746                
8747                
8748                
8749              
8750                
8751                
8752                
8753                
8754              
8755                
8756                
8757                
8758                
8759              
8760                
8761                
8762                
8763                
8764              
8765                
8766                
8767                
8768                
8769              
8770                
8771                
8772                
8773                
8774              
8775                
8776                
8777                
8778                
8779              
8780                jQuery('.single-option-selector').trigger('change');
8781                requestAnimationFrame(function() {
8782                  if (typeof iWishRefreshFromMasterSelect === 'function') iWishRefreshFromMasterSelect();
8783                });
8784                setTimeout(function() {
8785                  if (typeof iWishRefreshFromMasterSelect === 'function') iWishRefreshFromMasterSelect();
8786                }, 400);
8787            
8788
8789
8790    
8791    // Add label if only one product option and it isn't 'Title' (only variant rows under .select, not quantity).
8792    
8793      $(VARIANT_OPTION_ROW_SEL).first().prepend('<label>Footwear Size</label>');
8794    
8795
8796    injectSomeOptionsSoldOutPill();
8797    requestAnimationFrame(function() {
8798      if (typeof window.refreshVariantOptionButtons === 'function') window.refreshVariantOptionButtons();
8799      injectSomeOptionsSoldOutPill();
8800    });
8801    setTimeout(injectSomeOptionsSoldOutPill, 120);
8802
8803    $(window).on('load.iwishProductHeart', function() {
8804      function rfLoad() {
8805        if (typeof window.iWishHydrateWishlistState === 'function') window.iWishHydrateWishlistState();
8806        var mergeEmpty = typeof window.iWishListMainForRead === 'function' && Object.keys(window.iWishListMainForRead()).length === 0;
8807        var cid = parseInt((typeof iwish_cid !== 'undefined' && iwish_cid !== '') ? iwish_cid : window.__iWishCustomerId, 10);
8808        if (mergeEmpty && !isNaN(cid) && cid > 0 && typeof window.iWishSyncFromServerIfLoggedIn === 'function') {
8809          window.iWishSyncFromServerIfLoggedIn();
8810        }
8811        if (typeof window.iWishRefreshProductHeart === 'function') {
8812          window.iWishRefreshProductHeart();
8813        }
8814      }
8815      /* After full page load (images, deferred scripts): one immediate-ish pass + one late retry for slow iWish/async layout. */
8816      setTimeout(rfLoad, 0);
8817      setTimeout(rfLoad, 800);
8818    });
8819
8820    });
8821
8822    
8823       
8824    </script>
8824
8825
8826    
8827
8828
8829
8830    
8830<script>
8831// (c) Copyright 2014 Caroline Schnapp. All Rights Reserved. Contact: [email protected]
8832// See http://docs.shopify.com/manual/configuration/store-customization/advanced-navigation/linked-product-options
8833
8834var Shopify = Shopify || {};
8835
8836Shopify.optionsMap = {};
8837
8838Shopify.updateOptionsInSelector = function(selectorIndex) {
8839    
8840  switch (selectorIndex) {
8841    case 0:
8842      var key = 'root';
8843      var selector = jQuery('.single-option-selector:eq(0)');
8844      break;
8845    case 1:
8846      var key = jQuery('.single-option-selector:eq(0)').val();
8847      var selector = jQuery('.single-option-selector:eq(1)');
8848      break;
8849    case 2:
8850      var key = jQuery('.single-option-selector:eq(0)').val();  
8851      key += ' / ' + jQuery('.single-option-selector:eq(1)').val();
8852      var selector = jQuery('.single-option-selector:eq(2)');
8853  }
8854  
8855  var initialValue = selector.val();
8856  var availableOptions = Shopify.optionsMap[key] || [];
8857  selector.empty();
8858  for (var i=0; i<availableOptions.length; i++) {
8859    var option = availableOptions[i];
8860    var newOption = jQuery('<option></option>').val(option).html(option);
8861    selector.append(newOption);
8862  }
8863  jQuery('.swatch[data-option-index="' + selectorIndex + '"] .swatch-element').each(function() {
8864    if (jQuery.inArray($(this).attr('data-value'), availableOptions) !== -1) {
8865      $(this).removeClass('soldout').show().find(':radio').removeAttr('disabled','disabled').removeAttr('checked');
8866    }
8867    else {
8868      $(this).addClass('soldout').hide().find(':radio').removeAttr('checked').attr('disabled','disabled');
8869    }
8870  });
8871  if (availableOptions.length && jQuery.inArray(initialValue, availableOptions) !== -1) {
8872    selector.val(initialValue);
8873  }
8874  selector.trigger('change');  
8875  
8876};
8877
8878Shopify.linkOptionSelectors = function(product) {
8879  // Building our mapping object.
8880  for (var i=0; i<product.variants.length; i++) {
8881    var variant = product.variants[i];
8882    if (variant.available) {
8883      // Gathering values for the 1st drop-down.
8884      Shopify.optionsMap['root'] = Shopify.optionsMap['root'] || [];
8885      Shopify.optionsMap['root'].push(variant.option1);
8886      Shopify.optionsMap['root'] = Shopify.uniq(Shopify.optionsMap['root']);
8887      // Gathering values for the 2nd drop-down.
8888      if (product.options.length > 1) {
8889        var key = variant.option1;
8890        Shopify.optionsMap[key] = Shopify.optionsMap[key] || [];
8891        Shopify.optionsMap[key].push(variant.option2);
8892        Shopify.optionsMap[key] = Shopify.uniq(Shopify.optionsMap[key]);
8893      }
8894      // Gathering values for the 3rd drop-down.
8895      if (product.options.length === 3) {
8896        var key = variant.option1 + ' / ' + variant.option2;
8897        Shopify.optionsMap[key] = Shopify.optionsMap[key] || [];
8898        Shopify.optionsMap[key].push(variant.option3);
8899        Shopify.optionsMap[key] = Shopify.uniq(Shopify.optionsMap[key]);
8900      }
8901    }
8902  }
8903  // Update options right away.
8904  Shopify.updateOptionsInSelector(0);
8905  if (product.options.length > 1) Shopify.updateOptionsInSelector(1);
8906  if (product.options.length === 3) Shopify.updateOptionsInSelector(2);
8907  // When there is an update in the first dropdown.
8908  jQuery(".single-option-selector:eq(0)").change(function() {
8909    Shopify.updateOptionsInSelector(1);
8910    if (product.options.length === 3) Shopify.updateOptionsInSelector(2);
8911    return true;
8912  });
8913  // When there is an update in the second dropdown.
8914  jQuery(".single-option-selector:eq(1)").change(function() {
8915    if (product.options.length === 3) Shopify.updateOptionsInSelector(2);
8916    return true;
8917  });
8918  
8919};
8920</script>
8920 
8921<!--BeginCFFPersistentCartCart-->
8922
8923
8924<script>
8925    window.cffPCLiquidPlaced = true
8926</script>
8926
8927
8928<!--EndCFFPersistentCartCart-->
8929<script type="text/javascript">
8930var SOCIAL_LOGIN_CUSTOMER_LOGGED_IN = false;
8931</script>
8931
8932
8933<section id="shopify-section-wishlist-app-settings" class="shopify-section iwish-app-block-settings">
8934
8935
8936
8937<style>
8938    .iWishAdd.st-1, .iWishAddColl {
8939      font-size: 14px;
8940      
8941          color: #5a2d84;
8942      
8943    }
8944    
8945    .iWishAdd.st-1 svg path, .iWishAddColl svg path {
8946        stroke: #5a2d84;
8947    }
8948    .iWishAdd.st-1.iwishAdded svg path, .iWishAddColl.iwishAdded svg path {
8949        fill: #5a2d84;
8950        stroke: #5a2d84;
8951    }
8952    
8953    
8954    .iWishAdd.st-1:hover, .iWishAddColl:hover, .iWishAddColl.iwishAdded, .iWishAdd.st-1.iwishAdded {
8955        color: 
8956    }
8957    .iWishAdd.st-1:hover svg path, .iWishAddColl:hover svg path {
8958      stroke: ;
8959    }
8960    .iWishAdd.st-1.iwishAdded svg path, .iWishAddColl.iwishAdded svg path {
8961        fill: ;
8962        stroke: ;
8963    }
8964    
8965  .iWishAddColl {
8966        
8967          position: absolute;
8968          z-index: 2;
8969          top: 5px;
8970          right: 5px;
8971        
8972        
8973            background-color: #eaeaea;
8974            border-radius: 50%;
8975            width: 28px;
8976            height: 28px;
8977            display: flex;
8978            justify-content: center;
8979            align-items: center;
8980        
8981  }
8982</style>
8983<script async type="text/javascript">
8984  var iWishData = window.iWishData || {};
8985  if(typeof window.iWishData.iwish_add_txt === 'undefined') {
8986    iWishData.iwish_add_txt = `
8987
8988  <svg viewBox="0 0 256 256" width="20" class="iwishOutline" xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="256" width="256"/><path d="M128,216S28,160,28,92A52,52,0,0,1,128,72h0A52,52,0,0,1,228,92C228,160,128,216,128,216Z" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
8989
8990 <span></span>`,
8991    iWishData.iwish_added_txt = `
8992
8993  <svg viewBox="0 0 256 256" width="20" class="iwishFill" xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="256" width="256"/><path d="M128,216S28,160,28,92A52,52,0,0,1,128,72h0A52,52,0,0,1,228,92C228,160,128,216,128,216Z" fill="#000000" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
8994
8995 <span></span>`;
8996    iWishData.theme_btn_class = ``;
8997  }
8998  iWishData = {...iWishData, iwish_add_txt_col: `
8999
9000  <svg viewBox="0 0 256 256" width="20" class="iwishOutline" xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="256" width="256"/><path d="M128,216S28,160,28,92A52,52,0,0,1,128,72h0A52,52,0,0,1,228,92C228,160,128,216,128,216Z" fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
9001
9002`, iwish_added_txt_col: `
9003
9004  <svg viewBox="0 0 256 256" width="20" class="iwishFill" xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="256" width="256"/><path d="M128,216S28,160,28,92A52,52,0,0,1,128,72h0A52,52,0,0,1,228,92C228,160,128,216,128,216Z" fill="#000000" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
9005
9006`, qv_wrapper: "", qv_button: "", qv_close_button: "" };
9007</script>
9007
9008<div class="section-wishlist-app-settings-padding">
9009  
9010</div>
9011
9012</section>
9013<link href="//www.merchantoftennis.com/cdn/shop/t/653/assets/iwish_styletweaks.css?v=32824972495534358601787005529" rel="stylesheet" type="text/css" media="all" />
9014
9015<div id="shopify-block-ATHBCb1I0VVp2UzBzW__6403324215520875301" class="shopify-block shopify-app-block"><link href="//cdn.shopify.com/extensions/01a0b473-8ee1-7695-acbe-604e6ba8eaa8/iwish-810/assets/v3-iwishlist.css" rel="stylesheet" type="text/css" media="all" />
9016
9017<script type="text/javascript">
9018    var changeDetect = {};
9019	var iWishData = window.iWishData || {};
9020	let route = window.Shopify ? window.Shopify.routes.root : "/";
9021	console.log("SHOPIFY localization::", "en");
9022	iWishData = {...iWishData, shop: "merchantoftennis.myshopify.com",  domain: "www.merchantoftennis.com", cust: "", currency: "CAD", money_format: '${{amount}}', locale: "en",route:route, multi_language:  "false", variant_selector: "[name=id]", option_selector: "[data-option=option1]",  empty_msg: "<h4>Your wishlist is empty!</h4> <p>Explore more and shortlist some items</p>", custom_checkiwish: "", checkiwish_delay: "300", cart_icon_cls: "", old_cur_convertor: "false",
9023	remove_msg: "Product removed successfully!",sold_out: "SOLD OUT",pre_order: "PRE ORDER"};
9024
9025	
9026</script>
9026
9027
9028
9029<script type="text/javascript">
9030iWishData = {...iWishData, click_type:2, multi_category: true, open_drawer_on: ".iwishDrawer, .iWishView, .iwish-float-icon", drawer_title: "My Wishlist", remove_all:"Remove All", add_to_cart: "Add To Cart", added_to_cart: "Added To Cart",  add_all_to_cart: "ADD ALL TO CART",added_all_to_cart: "ADDED ALL TO CART", remove: "Remove", cat_name: "Category name", add_new: "New Wishlist", save: "SAVE", transfer: "Transfer", close: "Close", cancel: "Cancel", main_cat: "Main Wishlist", login_msg: "Wishlist is not saved permanently yet. Please <a class=\"link-text\" href=\"/account/login\">log in</a> or <a class=\"link-text\" href=\"/account/register\">Create Account</a> to save and share it.", continue_shopping: "Continue Shopping", cat_save_msg: "Catgegory saved successfully!", cat_exist_msg: "Category name already exists.", select_category: "Select category", cat_trasfer_msg: "Product transfered successfully!" , added_msg: "Product added successfully!", add_new: "New Wishlist", modify_cat: "Modify", delele_cat: "Delete", delete_confirm: "Do you want to delete the category?", share_page_title: "Wishlist"};
9031</script>
9031
9032	
9033
9034
9035<script type="text/javascript">	
9036
9037	var iWishDataCustom = {"show_price_on_login": "false", "show_vendor": "false", "cart_counter": ".cart-count-bubble span:first-of-type", "custom_filters": "facet-filters-form, .facet-filters__sort", "custom_delay": "500"};
9038	iWishData = {...iWishData, ...iWishDataCustom};
9039
9040</script>
vendor: 1 bytes, line 9040
9040
9041<script type="text/javascript">
9042    var iWishEmailFormData = window.iWishEmailFormData || {};
9043	iWishEmailFormData = {...iWishEmailFormData, title: "Share Your Wishlist",  to_email_txt : "To Email", from_name_txt : "From Name", from_email_txt : "From Email", subject_txt : "Subject", message_txt : "Message", share_url_txt : "Url", send_email_txt : "Send Email", go_back_txt : "Go Back", "success_msg": "Mail sent successfully!", "invalid_mail_msg": "Invalid email!", "wait_msg": "Please wait for 60 seconds before sharing wishlist again!"};
9044</script>
vendor: 1 bytes, line 9044
9044
9045<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a0b473-8ee1-7695-acbe-604e6ba8eaa8/iwish-810/assets/v3-iwishlist.js" defer></script>
vendor: 1 bytes, line 9045
9045
9046<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a0b473-8ee1-7695-acbe-604e6ba8eaa8/iwish-810/assets/v3-iwishlist_qv.js" defer></script>
9046
9047<!-- 
9047<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a0b473-8ee1-7695-acbe-604e6ba8eaa8/iwish-810/assets/v3-iwishlist_pcount.js" defer></script>
9047-->
9048<script type="text/javascript">
9049	if(iWishData.showProductCount) {
9050		//const orgiWishinitFn = window.iWishinitFn;
9051		//window.iWishinitFn = function() {
9052			const script = document.createElement('script');			
9053			script.defer = true;
9054			script.src = `https://cdn.shopify.com/extensions/01a0b473-8ee1-7695-acbe-604e6ba8eaa8/iwish-810/assets/v3-iwishlist_pcount.js`;
9055			setTimeout(() => {
9056				document.body.appendChild(script);
9057			}, 500)			
9058			//if (typeof orgiWishinitFn === 'function') { orgiWishinitFn(); }
9059		//}
9060	}
9061</script>
9061
9062
9063
9064</div><div id="shopify-block-AWitpMC8rZDJCSlg4R__15573056287721514228" class="shopify-block shopify-app-block json-ld-for-seo"><!-- generated: 2026-10-05 01:51:20 -0400 -->
9065<!-- BEGIN app snippet: json_ld_for_seo_web_page -->
9065<script type="application/ld+json">
9066 {
9067   "@context": "https://schema.org",
9068   "@type": "WebPage",
9069   "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook#json-ld-for-seo-webpage",
9070   "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook",
9071   "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9072   "primaryImageOfPage": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9073   "dateCreated": "2026-08-11T12:19:56-0400",
9074   "datePublished": "2026-08-11T15:04:26-0400"
9075 }
9076</script>
9076
9077<!-- END app snippet -->
9078<!-- wp 0 --><!-- BEGIN app snippet: json_ld_for_seo_organization -->
9079<script type="application/ld+json">
9080{
9081    "@context": "https://schema.org",
9082    "@type": "SportingGoodsStore","@id": "https:\/\/www.merchantoftennis.com\/#org",
9083    "name": "Merchant of Tennis",
9084    "url": "https:\/\/www.merchantoftennis.com",
9085    "description": "Retail \u0026 online store specializing in Tennis, Pickleball, Squash \u0026 Badminton gear from leading brands. Competitive pricing. Expert knowledge. Professional stringing. Free shipping available.",
9086    "telephone": "888-932-2396",
9087    "logo": "https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/0337\/files\/2018_mot_logo_transparent_truesquare.png?v=1674586301",
9088    "image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0698\/0337\/files\/2018_mot_logo_transparent_truesquare.png?v=1674586301",
9089    "sameAs": ["http:\/\/instagram.com\/merchanttennis"," https:\/\/www.facebook.com\/MerchantTennis"," https:\/\/twitter.com\/MerchantTennis","https:\/\/www.facebook.com\/MerchantTennis","https:\/\/www.instagram.com\/merchanttennis\/","https:\/\/twitter.com\/MerchantTennis"],"hasMap": "https://www.google.com/maps/@43.713259,-79.3515551,16z",
9090    "priceRange": "$$","geo": {
9091        "@type": "GeoCoordinates",
9092        "latitude": 43.713259,
9093        "longitude": -79.3515551
9094    },"openingHoursSpecification": [],
9095    "address": {
9096        "@type": "PostalAddress",
9097        "streetAddress": "95 Research Rd, Unit 3",
9098        "addressLocality": "Toronto",
9099        "addressRegion": "Ontario",
9100        "postalCode": "M4G 2G8",
9101        "addressCountry": "CA"
9102    },
9103   "contactPoint": [
9104     {
9105       "@type": "ContactPoint",
9106       "telephone": "888-932-2396",
9107       "email": ""
9108     }
9109    ]}
9110</script>
9110
9111<!-- END app snippet --> <!-- o 2 --><!-- BEGIN app snippet: json_ld_for_seo_product_group -->
9111<script type="application/ld+json">
9112{
9113  "@context": "https://schema.org",
9114  "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook#json-ld-for-seo",
9115  "@type": "ProductGroup",
9116  "brand": {
9117    "@type": "Brand",
9118    "name": "On"
9119  },
9120  "productID": "119071",
9121  "productGroupID": "15196697756011",
9122  "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9123  "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook",
9124  "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook",
9125  "image": ["https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080","https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock2a.jpg?v=1786474999\u0026width=1080","https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock3a.jpg?v=1786474999\u0026width=1080","https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock4a.jpg?v=1786474999\u0026width=1080"],"hasVariant": [
9126{
9127      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206820203#json-ld-for-seo-product",
9128      "@type": "Product",
9129      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206820203",
9130      "inProductGroupWithID": "15196697756011",
9131      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 8",
9132      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9133      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9134      "sku": "119071",
9135      "mpn": "7615537862422","gtin": "7615537862422","gtin13": "7615537862422","category": ["Uncategorized"
9136],"weight": {
9137        "@type": "QuantitativeValue",
9138        "unitText": "kg",
9139        "value": 1.0
9140      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9141        "@type": "Offer",
9142        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206820203#json-ld-for-seo-variant",
9143        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 8",
9144        "price": "199.99",
9145        "priceCurrency": "CAD",
9146        "validFrom": "2026-10-04",
9147        "priceValidUntil": "2027-01-03","priceSpecification": {
9148          "@type": "UnitPriceSpecification",
9149          "price": "199.99",
9150          "priceCurrency": "CAD",
9151          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9152        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206820203",
9153        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9154        "sku": "119071",
9155        "mpn": "7615537862422",
9156        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862422","gtin13": "7615537862422","seller": {
9157          "@type": "Organization",
9158          "name": "Merchant of Tennis"
9159        }
9160      }]
9161    }
9162,{
9163      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206852971#json-ld-for-seo-product",
9164      "@type": "Product",
9165      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206852971",
9166      "inProductGroupWithID": "15196697756011",
9167      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 8.5",
9168      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9169      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinfor
9169cements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9170      "sku": "119072",
9171      "mpn": "7615537862439","gtin": "7615537862439","gtin13": "7615537862439","category": ["Uncategorized"
9172],"weight": {
9173        "@type": "QuantitativeValue",
9174        "unitText": "kg",
9175        "value": 1.0
9176      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9177        "@type": "Offer",
9178        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206852971#json-ld-for-seo-variant",
9179        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 8.5",
9180        "price": "199.99",
9181        "priceCurrency": "CAD",
9182        "validFrom": "2026-10-04",
9183        "priceValidUntil": "2027-01-03","priceSpecification": {
9184          "@type": "UnitPriceSpecification",
9185          "price": "199.99",
9186          "priceCurrency": "CAD",
9187          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9188        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206852971",
9189        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9190        "sku": "119072",
9191        "mpn": "7615537862439",
9192        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862439","gtin13": "7615537862439","seller": {
9193          "@type": "Organization",
9194          "name": "Merchant of Tennis"
9195        }
9196      }]
9197    }
9198,{
9199      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206885739#json-ld-for-seo-product",
9200      "@type": "Product",
9201      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206885739",
9202      "inProductGroupWithID": "15196697756011",
9203      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 9",
9204      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9205      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9206      "sku": "119073",
9207      "mpn": "7615537862446","gtin": "7615537862446","gtin13": "7615537862446","category": ["Uncategorized"
9208],"weight": {
9209        "@type": "QuantitativeValue",
9210        "unitText": "kg",
9211        "value": 1.0
9212      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9213        "@type": "Offer",
9214        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206885739#json-ld-for-seo-variant",
9215        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 9",
9216        "price": "199.99",
9217        "priceCurrency": "CAD",
9218        "validFrom": "2026-10-04",
9219        "priceValidUntil": "2027-01-03","priceSpecification": {
9220          "@type": "UnitPriceSpecification",
9221          "price": "199.99",
9222          "priceCurrency": "CAD",
9223          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9224        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206885739",
9225        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9226        "sku": "119073",
9227        "mpn": "7615537862446",
9228        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862446","gtin13": "7615537862446","seller": {
9229          "@type": "Organization",
9230          "name": "Merchant of Tennis"
9231        }
9232      }]
9233    }
9234,{
9235      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206918507#json-ld-for-seo-product",
9236      "@type": "Product",
9237      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206918507",
9238      "inProductGroupWithID": "15196697756011",
9239      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 9.5",
9240      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9241      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinfor
9241cements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9242      "sku": "119074",
9243      "mpn": "7615537862460","gtin": "7615537862460","gtin13": "7615537862460","category": ["Uncategorized"
9244],"weight": {
9245        "@type": "QuantitativeValue",
9246        "unitText": "kg",
9247        "value": 1.0
9248      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9249        "@type": "Offer",
9250        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206918507#json-ld-for-seo-variant",
9251        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 9.5",
9252        "price": "199.99",
9253        "priceCurrency": "CAD",
9254        "validFrom": "2026-10-04",
9255        "priceValidUntil": "2027-01-03","priceSpecification": {
9256          "@type": "UnitPriceSpecification",
9257          "price": "199.99",
9258          "priceCurrency": "CAD",
9259          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9260        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206918507",
9261        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9262        "sku": "119074",
9263        "mpn": "7615537862460",
9264        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862460","gtin13": "7615537862460","seller": {
9265          "@type": "Organization",
9266          "name": "Merchant of Tennis"
9267        }
9268      }]
9269    }
9270,{
9271      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206951275#json-ld-for-seo-product",
9272      "@type": "Product",
9273      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206951275",
9274      "inProductGroupWithID": "15196697756011",
9275      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 10",
9276      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9277      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9278      "sku": "119075",
9279      "mpn": "7615537862491","gtin": "7615537862491","gtin13": "7615537862491","category": ["Uncategorized"
9280],"weight": {
9281        "@type": "QuantitativeValue",
9282        "unitText": "kg",
9283        "value": 1.0
9284      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9285        "@type": "Offer",
9286        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206951275#json-ld-for-seo-variant",
9287        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 10",
9288        "price": "199.99",
9289        "priceCurrency": "CAD",
9290        "validFrom": "2026-10-04",
9291        "priceValidUntil": "2027-01-03","priceSpecification": {
9292          "@type": "UnitPriceSpecification",
9293          "price": "199.99",
9294          "priceCurrency": "CAD",
9295          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9296        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206951275",
9297        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9298        "sku": "119075",
9299        "mpn": "7615537862491",
9300        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862491","gtin13": "7615537862491","seller": {
9301          "@type": "Organization",
9302          "name": "Merchant of Tennis"
9303        }
9304      }]
9305    }
9306,{
9307      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206984043#json-ld-for-seo-product",
9308      "@type": "Product",
9309      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206984043",
9310      "inProductGroupWithID": "15196697756011",
9311      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 10.5",
9312      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9313      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinfor
9313cements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9314      "sku": "119076",
9315      "mpn": "7615537862507","gtin": "7615537862507","gtin13": "7615537862507","category": ["Uncategorized"
9316],"weight": {
9317        "@type": "QuantitativeValue",
9318        "unitText": "kg",
9319        "value": 1.0
9320      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9321        "@type": "Offer",
9322        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206984043#json-ld-for-seo-variant",
9323        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 10.5",
9324        "price": "199.99",
9325        "priceCurrency": "CAD",
9326        "validFrom": "2026-10-04",
9327        "priceValidUntil": "2027-01-03","priceSpecification": {
9328          "@type": "UnitPriceSpecification",
9329          "price": "199.99",
9330          "priceCurrency": "CAD",
9331          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9332        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707206984043",
9333        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9334        "sku": "119076",
9335        "mpn": "7615537862507",
9336        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862507","gtin13": "7615537862507","seller": {
9337          "@type": "Organization",
9338          "name": "Merchant of Tennis"
9339        }
9340      }]
9341    }
9342,{
9343      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207016811#json-ld-for-seo-product",
9344      "@type": "Product",
9345      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207016811",
9346      "inProductGroupWithID": "15196697756011",
9347      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 11",
9348      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9349      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9350      "sku": "119077",
9351      "mpn": "7615537862514","gtin": "7615537862514","gtin13": "7615537862514","category": ["Uncategorized"
9352],"weight": {
9353        "@type": "QuantitativeValue",
9354        "unitText": "kg",
9355        "value": 1.0
9356      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9357        "@type": "Offer",
9358        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207016811#json-ld-for-seo-variant",
9359        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 11",
9360        "price": "199.99",
9361        "priceCurrency": "CAD",
9362        "validFrom": "2026-10-04",
9363        "priceValidUntil": "2027-01-03","priceSpecification": {
9364          "@type": "UnitPriceSpecification",
9365          "price": "199.99",
9366          "priceCurrency": "CAD",
9367          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9368        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207016811",
9369        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9370        "sku": "119077",
9371        "mpn": "7615537862514",
9372        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862514","gtin13": "7615537862514","seller": {
9373          "@type": "Organization",
9374          "name": "Merchant of Tennis"
9375        }
9376      }]
9377    }
9378,{
9379      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207049579#json-ld-for-seo-product",
9380      "@type": "Product",
9381      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207049579",
9382      "inProductGroupWithID": "15196697756011",
9383      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 11.5",
9384      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9385      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinfor
9385cements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9386      "sku": "119078",
9387      "mpn": "7615537862521","gtin": "7615537862521","gtin13": "7615537862521","category": ["Uncategorized"
9388],"weight": {
9389        "@type": "QuantitativeValue",
9390        "unitText": "kg",
9391        "value": 1.0
9392      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9393        "@type": "Offer",
9394        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207049579#json-ld-for-seo-variant",
9395        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 11.5",
9396        "price": "199.99",
9397        "priceCurrency": "CAD",
9398        "validFrom": "2026-10-04",
9399        "priceValidUntil": "2027-01-03","priceSpecification": {
9400          "@type": "UnitPriceSpecification",
9401          "price": "199.99",
9402          "priceCurrency": "CAD",
9403          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9404        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207049579",
9405        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9406        "sku": "119078",
9407        "mpn": "7615537862521",
9408        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862521","gtin13": "7615537862521","seller": {
9409          "@type": "Organization",
9410          "name": "Merchant of Tennis"
9411        }
9412      }]
9413    }
9414,{
9415      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207082347#json-ld-for-seo-product",
9416      "@type": "Product",
9417      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207082347",
9418      "inProductGroupWithID": "15196697756011",
9419      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 12",
9420      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9421      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinforcements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9422      "sku": "119079",
9423      "mpn": "7615537862538","gtin": "7615537862538","gtin13": "7615537862538","category": ["Uncategorized"
9424],"weight": {
9425        "@type": "QuantitativeValue",
9426        "unitText": "kg",
9427        "value": 1.0
9428      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9429        "@type": "Offer",
9430        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207082347#json-ld-for-seo-variant",
9431        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 12",
9432        "price": "199.99",
9433        "priceCurrency": "CAD",
9434        "validFrom": "2026-10-04",
9435        "priceValidUntil": "2027-01-03","priceSpecification": {
9436          "@type": "UnitPriceSpecification",
9437          "price": "199.99",
9438          "priceCurrency": "CAD",
9439          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9440        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207082347",
9441        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9442        "sku": "119079",
9443        "mpn": "7615537862538",
9444        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862538","gtin13": "7615537862538","seller": {
9445          "@type": "Organization",
9446          "name": "Merchant of Tennis"
9447        }
9448      }]
9449    }
9450,{
9451      "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207115115#json-ld-for-seo-product",
9452      "@type": "Product",
9453      "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207115115",
9454      "inProductGroupWithID": "15196697756011",
9455      "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 13",
9456      "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9457      "description": "Modern look on a great racquet sport shoe, in wash and brook. A sleek, versatile court shoe with an enhanced fit, slide protection and stable, yet agile feel for multiple racquet sports.\nSuits All Racquet Sports\nTennis, padel or pickleball – this shoe does it all. With a renewed focus on fit and comfort, it's perfect for casual players and adapts to multiple racquet sports. Durable overlays on the upper ensure it's built to last.\nStable Yet Agile\nFor the perfect balance of stability and agility, On have added a 3\/4 nylon blend Speedboard in the heel and midfoot, allowing your forefoot to flex freely. Upper reinfor
9457cements keep your feet securely in place and protect against tears during slides.\nFeels Good\nSoft yet responsive, the Helion superfoam midsole provides dynamic support for the court and comfort for all-day wear. Adjustments to the shoe's shape and footbed further improve fit and comfort.\n\nHeel to toe drop: 5mm\n\nHelion superfoam midsole for stability and long-term wear\n\nSpeedboard for stability and responsiveness\n\nLightweight, breathable upper\n\nTPU toe cap for added durability\n\nMolded medial piece protects against tearing during slides\n\nVersatile herringbone grip, perfect for any racket sport.\n\nYear: 2026\n\nWeight: 15 ounces (size 10.5)\n\nColour: Wash\/Brook\n\nStyle #: 3MG30075206\n\n",
9458      "sku": "119080",
9459      "mpn": "7615537862576","gtin": "7615537862576","gtin13": "7615537862576","category": ["Uncategorized"
9460],"weight": {
9461        "@type": "QuantitativeValue",
9462        "unitText": "kg",
9463        "value": 1.0
9464      },"itemCondition": "https://schema.org/NewCondition","offers": [{
9465        "@type": "Offer",
9466        "@id": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207115115#json-ld-for-seo-variant",
9467        "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook 13",
9468        "price": "199.99",
9469        "priceCurrency": "CAD",
9470        "validFrom": "2026-10-04",
9471        "priceValidUntil": "2027-01-03","priceSpecification": {
9472          "@type": "UnitPriceSpecification",
9473          "price": "199.99",
9474          "priceCurrency": "CAD",
9475          "priceType": "https://schema.org/ListPrice"},"itemCondition": "https://schema.org/NewCondition",
9476        "url": "https:\/\/www.merchantoftennis.com\/products\/on-mens-the-roger-clubhouse-pro-2-wash-brook?variant=53707207115115",
9477        "image": "https:\/\/www.merchantoftennis.com\/cdn\/shop\/files\/3MG30075206_stock1a.jpg?v=1786475000\u0026width=1080",
9478        "sku": "119080",
9479        "mpn": "7615537862576",
9480        "availability": "https:\/\/schema.org\/InStock","gtin": "7615537862576","gtin13": "7615537862576","seller": {
9481          "@type": "Organization",
9482          "name": "Merchant of Tennis"
9483        }
9484      }]
9485    }
9486
9487]
9488}
9489</script>
9489<script type="application/ld+json"></script>
9489<!-- END app snippet -->
9490<!-- p 3 --><!-- BEGIN app snippet: json_ld_for_seo_breadcrumbs -->
9490<script type="application/ld+json">
9491 {
9492   "@context": "https://schema.org",
9493   "@type": "BreadcrumbList",
9494   "itemListElement": [{
9495     "@type": "ListItem",
9496     "position": 1,
9497     "name": "Merchant of Tennis",
9498     "item": "https:\/\/www.merchantoftennis.com\/"
9499   },{
9500     "@type": "ListItem",
9501     "position": 2,
9502     "name": "Footwear",
9503     "item": "https:\/\/www.merchantoftennis.com\/collections\/footwear"
9504   },{
9505     "@type": "ListItem",
9506     "position":3,
9507     "name": "On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook"
9508   }]
9509 }
9510</script>
9510
9511<!-- END app snippet --> <!-- A 7 -->
9512
9513
9514</div><div id="shopify-block-Aenh1NWExaGprVXFIQ__16156609502398088594" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: omega_multi_pixel --><div class='ot-multi-pixel'></div>
9515
9516    <meta
9517        property='omega:tags'
9518        content='14-1-oz, blue, clay-court, footwear, footwear-size-10, footwear-size-10-5, footwear-size-11, footwear-size-11-5, footwear-size-12, footwear-size-13, footwear-size-8, footwear-size-8-5, footwear-size-9, footwear-size-9-5, hard-court, hard-court-clay-court-shoes, in-stock, men, mens-court-shoes, mens-pickleball-footwear, mens-tennis-footwear, on, pickleball, regular-price, type-footwear, '
9519    >
9520    <meta property='omega:product' content='15196697756011'>
9521    <meta property='omega:product_type' content='Shoe'>
9522    <meta
9523        property='omega:collections'
9524        content='648261927275, 648261960043, 648261992811, 648262025579, 648262058347, 648262091115, 28834597, 30521801, 30521805, 30521809, 30521813, 27936817, 28834689, 420574356, 30429309, 276909031514, 28327573, 162603335770, 173862453338, 30429305, 634216808811, 180787271, 89557827674, 87550918746, 154817364058, 87323115610, 29497317, 277492170842, 174862532698, 276093468762, 641917419883, 276094025818, 269507887194, 87945183322, 329101575, 652010062187, '
9525    >
9526
9527    
9527<script>
9528    (function () {
9529      try {
9530        const productData = {
9531          id: "15196697756011",
9532          type: "Shoe",
9533          tags: ["14-1-oz","blue","clay-court","footwear","footwear-size-10","footwear-size-10-5","footwear-size-11","footwear-size-11-5","footwear-size-12","footwear-size-13","footwear-size-8","footwear-size-8-5","footwear-size-9","footwear-size-9-5","hard-court","hard-court-clay-court-shoes","in-stock","men","mens-court-shoes","mens-pickleball-footwear","mens-tennis-footwear","on","pickleball","regular-price","type-footwear"],
9534          variants: [{"id":53707206820203,"title":"8","option1":"8","option2":null,"option3":null,"sku":"119071","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8","public_title":"8","options":["8"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862422","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206852971,"title":"8.5","option1":"8.5","option2":null,"option3":null,"sku":"119072","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 8.5","public_title":"8.5","options":["8.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":2,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862439","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206885739,"title":"9","option1":"9","option2":null,"option3":null,"sku":"119073","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9","public_title":"9","options":["9"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862446","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206918507,"title":"9.5","option1":"9.5","option2":null,"option3":null,"sku":"119074","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 9.5","public_title":"9.5","options":["9.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862460","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206951275,"title":"10","option1":"10","option2":null,"option3":null,"sku":"119075","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10","public_title":"10","options":["10"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862491","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707206984043,"title":"10.5","option1":"10.5","option2":null,"option3":null,"sku":"119076","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 10.5","public_title":"10.5","options":["10.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862507","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207016811,"title":"11","option1":"11","option2":null,"option3":null,"sku":"119077","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11","public_title":"11","options":["11"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862514","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207049579,"title":"11.5","option1":"11.5","option2":null,"option3":null,"sku":"119078","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 11.5","public_title":"11.5","options":["11.5"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":3,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862521","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207082347,"title":"12","option1":"12","option2":null,"option3":null,"sku":"119079","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 12","public_title":"12","options":["12"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":2,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862538","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":53707207115115,"title":"13","option1":"13","option2":null,"option3":null,"sku":"119080","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"On Men's THE ROGER Clubhouse Pro 2 - Wash\/Brook - 13","public_title":"13","options":["13"],"price":19999,"weight":1000,"compare_at_price":null,"inventory_quantity":1,"inventory_management":"shopify","inventory_policy":"deny","barcode":"7615537862576","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],
9535          collections: [
9536            
9537              "648261927275",
9538            
9539              "648261960043",
9540            
9541              "648261992811",
9542            
9543              "648262025579",
9544            
9545              "648262058347",
9546            
9547              "648262091115",
9548            
9549              "28834597",
9550            
9551              "30521801",
9552            
9553              "30521805",
9554            
9555              "30521809",
9556            
9557              "30521813",
9558            
9559              "27936817",
9560            
9561              "28834689",
9562            
9563              "420574356",
9564            
9565              "30429309",
9566            
9567              "276909031514",
9568            
9569              "28327573",
9570            
9571              "162603335770",
9572            
9573              "173862453338",
9574            
9575              "30429305",
9576            
9577              "634216808811",
9578            
9579              "180787271",
9580            
9581              "89557827674",
9582            
9583              "87550918746",
9584            
9585              "154817364058",
9586            
9587              "87323115610",
9588            
9589              "29497317",
9590            
9591              "277492170842",
9592            
9593              "174862532698",
9594            
9595              "276093468762",
9596            
9597              "641917419883",
9598            
9599              "276094025818",
9600            
9601              "269507887194",
9602            
9603              "87945183322",
9604            
9605              "329101575",
9606            
9607              "652010062187"
9608            
9609          ]
9610        };
9611
9612        localStorage.setItem(
9613          "omega_product_context_save_to_theme_app",
9614          JSON.stringify(productData)
9615        );
9616      } catch (e) {
9617        console.error("Omega: save product context failed", e);
9618      }
9619    })();
9620  </script>
9620
9621
9622
9623
9624
9625
9626
9627        
9628        
9629
9630        
9631        
9632            
9632<script>
9633                var omegaFBSettings = {"settings":{"shop_id":12221,"plan_configs":"","is_enable_trigger":false,"attributes_window":7,"enable":true,"content_type_event":"product","capi_track_addtocart":true,"capi_track_addpaymentinfo":true,"capi_track_checkout":true,"capi_track_pageview":true,"capi_track_purchase":true,"capi_track_search":true,"capi_track_viewcontent":true,"pixel_track_addpaymentinfo":true,"pixel_track_addtocart":true,"pixel_track_checkout":true,"pixel_track_pageview":true,"pixel_track_purchase":true,"pixel_track_search":true,"pixel_track_viewcontent":true,"accept_permission_fb_ads":false,"is_enable_capi_pageview":false,"include_shipping_cost":false,"anti_spam_event":false,"plan_id":"","insights_enabled":true,"app_proxy_subpath":"/apps/otm"}};
9634                (function () {
9635                    try {
9636                      localStorage.setItem(
9637                        'omegaFBSettings',
9638                        JSON.stringify(omegaFBSettings)
9639                      );
9640                    } catch (e) {
9641                      console.error('Omega FB Settings parse error', e);
9642                    }
9643                })();
9644            </script>
9644
9645        
9646
9647
9648<script>
9649  var localizationOmega = {
9650    // ── country hiện tại ──
9651    country: {
9652      name:        "United States",
9653      iso_code:    "US",
9654      continent:   "North America",
9655      unit_system: "imperial",
9656      popular:     null,
9657      currency: {
9658        iso_code: "CAD",
9659        name:     "Canadian Dollar",
9660        symbol:   "$"
9661      }
9662    },
9663
9664    // ── language hiện tại ──
9665    language: {
9666      name:         "English",
9667      endonym_name: "English",
9668      iso_code:     "en",
9669      primary:      true,
9670      root_url:     "\/"
9671    },
9672
9673    // ── market hiện tại (market object bị cấm | json, lấy field con) ──
9674    market: {
9675      id:     646185050,
9676      handle: "international"
9677    },
9678
9679    // ── danh sách country khả dụng ──
9680    availableCountries: [{
9681        name:     "Afghanistan",
9682        iso_code: "AF",
9683        currency: "CAD"
9684      },{
9685        name:     "Åland Islands",
9686        iso_code: "AX",
9687        currency: "CAD"
9688      },{
9689        name:     "Albania",
9690        iso_code: "AL",
9691        currency: "CAD"
9692      },{
9693        name:     "Algeria",
9694        iso_code: "DZ",
9695        currency: "CAD"
9696      },{
9697        name:     "Andorra",
9698        iso_code: "AD",
9699        currency: "CAD"
9700      },{
9701        name:     "Angola",
9702        iso_code: "AO",
9703        currency: "CAD"
9704      },{
9705        name:     "Anguilla",
9706        iso_code: "AI",
9707        currency: "CAD"
9708      },{
9709        name:     "Antigua \u0026amp; Barbuda",
9710        iso_code: "AG",
9711        currency: "CAD"
9712      },{
9713        name:     "Argentina",
9714        iso_code: "AR",
9715        currency: "CAD"
9716      },{
9717        name:     "Armenia",
9718        iso_code: "AM",
9719        currency: "CAD"
9720      },{
9721        name:     "Aruba",
9722        iso_code: "AW",
9723        currency: "CAD"
9724      },{
9725        name:     "Ascension Island",
9726        iso_code: "AC",
9727        currency: "CAD"
9728      },{
9729        name:     "Australia",
9730        iso_code: "AU",
9731        currency: "CAD"
9732      },{
9733        name:     "Austria",
9734        iso_code: "AT",
9735        currency: "CAD"
9736      },{
9737        name:     "Azerbaijan",
9738        iso_code: "AZ",
9739        currency: "CAD"
9740      },{
9741        name:     "Bahamas",
9742        iso_code: "BS",
9743        currency: "CAD"
9744      },{
9745        name:     "Bahrain",
9746        iso_code: "BH",
9747        currency: "CAD"
9748      },{
9749        name:     "Bangladesh",
9750        iso_code: "BD",
9751        currency: "CAD"
9752      },{
9753        name:     "Barbados",
9754        iso_code: "BB",
9755        currency: "CAD"
9756      },{
9757        name:     "Belarus",
9758        iso_code: "BY",
9759        currency: "CAD"
9760      },{
9761        name:     "Belgium",
9762        iso_code: "BE",
9763        currency: "CAD"
9764      },{
9765        name:     "Belize",
9766        iso_code: "BZ",
9767        currency: "CAD"
9768      },{
9769        name:     "Benin",
9770        iso_code: "BJ",
9771        currency: "CAD"
9772      },{
9773        name:     "Bermuda",
9774        iso_code: "BM",
9775        currency: "CAD"
9776      },{
9777        name:     "Bhutan",
9778        iso_code: "BT",
9779        currency: "CAD"
9780      },{
9781        name:     "Bolivia",
9782        iso_code: "BO",
9783        currency: "CAD"
9784      },{
9785        name:     "Bosnia \u0026amp; Herzegovina",
9786        iso_code: "BA",
9787        currency: "CAD"
9788      },{
9789        name:     "Botswana",
9790        iso_code: "BW",
9791        currency: "CAD"
9792      },{
9793        name:     "Brazil",
9794        iso_code: "BR",
9795        currency: "CAD"
9796      },{
9797        name:     "British Indian Ocean Territory",
9798        iso_code: "IO",
9799        currency: "CAD"
9800      },{
9801        name:     "British Virgin Islands",
9802        iso_code: "VG",
9803        currency: "CAD"
9804      },{
9805        name:     "Brunei",
9806        iso_code: "BN",
9807        currency: "CAD"
9808      },{
9809        name:     "Bulgaria",
9810        iso_code: "BG",
9811        currency: "CAD"
9812      },{
9813        name:     "Burkina Faso",
9814        iso_code: "BF",
9815        currency: "CAD"
9816      },{
9817        name:     "Burundi",
9818        iso_code: "BI",
9819        currency: "CAD"
9820      },{
9821        name:     "Cambodia",
9822        iso_code: "KH",
9823        currency: "CAD"
9824      },{
9825        name:     "Cameroon",
9826        iso_code: "CM",
9827        currency: "CAD"
9828      },{
9829        name:     "Canada",
9830        iso_code: "CA",
9831        currency: "CAD"
9832      },{
9833        name:     "Cape Verde",
9834        iso_code: "CV",
9835        currency: "CAD"
9836      },{
9837        name:     "Caribbean Netherlands",
9838        iso_code: "BQ",
9839        currency: "CAD"
9840      },{
9841        name:     "Cayman Islands",
9842        iso_code: "KY",
9843        currency: "CAD"
9844      },{
9845        name:     "Central African Republic",
9846        iso_code: "CF",
9847        currency: "CAD"
9848      },{
9849        name:     "Chad",
9850        iso_code: "TD",
9851        currency: "CAD"
9852      },{
9853        name:     "Chile",
9854        iso_code: "CL",
9855        currency: "CAD"
9856      },{
9857        name:     "China",
9858        iso_code: "CN",
9859        currency: "CAD"
9860      },{
9861        name:     "Christmas Island",
9862        iso_code: "CX",
9863        currency: "CAD"
9864      },{
9865        name:     "Cocos (Keeling) Islands",
9866        iso_code: "CC",
9867        currency: "CAD"
9868      },{
9869        name:     "Colombia",
9870        iso_code: "CO",
9871        currency: "CAD"
9872      },{
9873        name:     "Comoros",
9874        iso_code: "KM",
9875        currency: "CAD"
9876      },{
9877        name:     "Congo - Brazzaville",
9878        iso_code: "CG",
9879        currency: "CAD"
9880      },{
9881        name:     "Congo - Kinshasa",
9882        iso_code: "CD",
9883        currency: "CAD"
9884      },{
9885        name:     "Cook Islands",
9886        iso_code: "CK",
9887        currency: "CAD"
9888      },{
9889        name:     "Costa Rica",
9890        iso_code: "CR",
9891        currency: "CAD"
9892      },{
9893        name:     "Côte d’Ivoire",
9894        iso_code: "CI",
9895        currency: "CAD"
9896      },{
9897        name:     "Croatia",
9898        iso_code: "HR",
9899        currency: "CAD"
9900      },{
9901        name:     "Curaçao",
9902        iso_code: "CW",
9903        currency: "CAD"
9904      },{
9905        name:     "Cyprus",
9906        iso_code: "CY",
9907        currency: "CAD"
9908      },{
9909        name:     "Czechia",
9910        iso_code: "CZ",
9911        currency: "CAD"
9912      },{
9913        name:     "Denmark",
9914        iso_code: "DK",
9915        currency: "CAD"
9916      },{
9917        name:     "Djibouti",
9918        iso_code: "DJ",
9919        currency: "CAD"
9920      },{
9921        name:     "Dominica",
9922        iso_code: "DM",
9923        currency: "CAD"
9924      },{
9925        name:     "Dominican Republic",
9926        iso_code: "DO",
9927        currency: "CAD"
9928      },{
9929        name:     "Ecuador",
9930        iso_code: "EC",
9931        currency: "CAD"
9932      },{
9933        name:     "Egypt",
9934        iso_code: "EG",
9935        currency: "CAD"
9936      },{
9937        name:     "El Salvador",
9938        iso_code: "SV",
9939        currency: "CAD"
9940      },{
9941        name:     "Equatorial Guinea",
9942        iso_code: "GQ",
9943        currency: "CAD"
9944      },{
9945        name:     "Eritrea",
9946        iso_code: "ER",
9947        currency: "CAD"
9948      },{
9949        name:     "Estonia",
9950        iso_code: "EE",
9951        currency: "CAD"
9952      },{
9953        name:     "Eswatini",
9954        iso_code: "SZ",
9955        currency: "CAD"
9956      },{
9957        name:     "Ethiopia",
9958        iso_code: "ET",
9959        currency: "CAD"
9960      },{
9961        name:     "Falkland Islands",
9962        iso_code: "FK",
9963        currency: "CAD"
9964      },{
9965        name:     "Faroe Islands",
9966        iso_code: "FO",
9967        currency: "CAD"
9968      },{
9969        name:     "Fiji",
9970        iso_code: "FJ",
9971        currency: "CAD"
9972      },{
9973        name:     "Finland",
9974        iso_code: "FI",
9975        currency: "CAD"
9976      },{
9977        name:     "France",
9978        iso_code: "FR",
9979        currency: "CAD"
9980      },{
9981        name:     "French Guiana",
9982        iso_code: "GF",
9983        currency: "CAD"
9984      },{
9985        name:     "French Polynesia",
9986        iso_code: "PF",
9987        currency: "CAD"
9988      },{
9989        name:     "French Southern Territories",
9990        iso_code: "TF",
9991        currency: "CAD"
9992      },{
9993        name:     "Gabon",
9994        iso_code: "GA",
9995        currency: "CAD"
9996      },{
9997        name:     "Gambia",
9998        iso_code: "GM",
9999        currency: "CAD"
10000      },{
10001        name:     "Georgia",
10002        iso_code: "GE",
10003        currency: "CAD"
10004      },{
10005        name:     "Germany",
10006        iso_code: "DE",
10007        currency: "CAD"
10008      },{
10009        name:     "Ghana",
10010        iso_code: "GH",
10011        currency: "CAD"
10012      },{
10013        name:     "Gibraltar",
10014        iso_code: "GI",
10015        currency: "CAD"
10016      },{
10017        name:     "Greece",
10018        iso_code: "GR",
10019        currency: "CAD"
10020      },{
10021        name:     "Greenland",
10022        iso_code: "GL",
10023        currency: "CAD"
10024      },{
10025        name:     "Grenada",
10026        iso_code: "GD",
10027        currency: "CAD"
10028      },{
10029        name:     "Guadeloupe",
10030        iso_code: "GP",
10031        currency: "CAD"
10032      },{
10033        name:     "Guatemala",
10034        iso_code: "GT",
10035        currency: "CAD"
10036      },{
10037        name:     "Guernsey",
10038        iso_code: "GG",
10039        currency: "CAD"
10040      },{
10041        name:     "Guinea",
10042        iso_code: "GN",
10043        currency: "CAD"
10044      },{
10045        name:     "Guinea-Bissau",
10046        iso_code: "GW",
10047        currency: "CAD"
10048      },{
10049        name:     "Guyana",
10050        iso_code: "GY",
10051        currency: "CAD"
10052      },{
10053        name:     "Haiti",
10054        iso_code: "HT",
10055        currency: "CAD"
10056      },{
10057        name:     "Honduras",
10058        iso_code: "HN",
10059        currency: "CAD"
10060      },{
10061        name:     "Hong Kong SAR",
10062        iso_code: "HK",
10063        currency: "CAD"
10064      },{
10065        name:     "Hungary",
10066        iso_code: "HU",
10067        currency: "CAD"
10068      },{
10069        name:     "Iceland",
10070        iso_code: "IS",
10071        currency: "CAD"
10072      },{
10073        name:     "India",
10074        iso_code: "IN",
10075        currency: "CAD"
10076      },{
10077        name:     "Indonesia",
10078        iso_code: "ID",
10079        currency: "CAD"
10080      },{
10081        name:     "Iraq",
10082        iso_code: "IQ",
10083        currency: "CAD"
10084      },{
10085        name:     "Ireland",
10086        iso_code: "IE",
10087        currency: "CAD"
10088      },{
10089        name:     "Isle of Man",
10090        iso_code: "IM",
10091        currency: "CAD"
10092      },{
10093        name:     "Israel",
10094        iso_code: "IL",
10095        currency: "CAD"
10096      },{
10097        name:     "Italy",
10098        iso_code: "IT",
10099        currency: "CAD"
10100      },{
10101        name:     "Jamaica",
10102        iso_code: "JM",
10103        currency: "CAD"
10104      },{
10105        name:     "Japan",
10106        iso_code: "JP",
10107        currency: "CAD"
10108      },{
10109        name:     "Jersey",
10110        iso_code: "JE",
10111        currency: "CAD"
10112      },{
10113        name:     "Jordan",
10114        iso_code: "JO",
10115        currency: "CAD"
10116      },{
10117        name:     "Kazakhstan",
10118        iso_code: "KZ",
10119        currency: "CAD"
10120      },{
10121        name:     "Kenya",
10122        iso_code: "KE",
10123        currency: "CAD"
10124      },{
10125        name:     "Kiribati",
10126        iso_code: "KI",
10127        currency: "CAD"
10128      },{
10129        name:     "Kosovo",
10130        iso_code: "XK",
10131        currency: "CAD"
10132      },{
10133        name:     "Kuwait",
10134        iso_code: "KW",
10135        currency: "CAD"
10136      },{
10137        name:     "Kyrgyzstan",
10138        iso_code: "KG",
10139        currency: "CAD"
10140      },{
10141        name:     "Laos",
10142        iso_code: "LA",
10143        currency: "CAD"
10144      },{
10145        name:     "Latvia",
10146        iso_code: "LV",
10147        currency: "CAD"
10148      },{
10149        name:     "Lebanon",
10150        iso_code: "LB",
10151        currency: "CAD"
10152      },{
10153        name:     "Lesotho",
10154        iso_code: "LS",
10155        currency: "CAD"
10156      },{
10157        name:     "Liberia",
10158        iso_code: "LR",
10159        currency: "CAD"
10160      },{
10161        name:     "Libya",
10162        iso_code: "LY",
10163        currency: "CAD"
10164      },{
10165        name:     "Liechtenstein",
10166        iso_code: "LI",
10167        currency: "CAD"
10168      },{
10169        name:     "Lithuania",
10170        iso_code: "LT",
10171        currency: "CAD"
10172      },{
10173        name:     "Luxembourg",
10174        iso_code: "LU",
10175        currency: "CAD"
10176      },{
10177        name:     "Macao SAR",
10178        iso_code: "MO",
10179        currency: "CAD"
10180      },{
10181        name:     "Madagascar",
10182        iso_code: "MG",
10183        currency: "CAD"
10184      },{
10185        name:     "Malawi",
10186        iso_code: "MW",
10187        currency: "CAD"
10188      },{
10189        name:     "Malaysia",
10190        iso_code: "MY",
10191        currency: "CAD"
10192      },{
10193        name:     "Maldives",
10194        iso_code: "MV",
10195        currency: "CAD"
10196      },{
10197        name:     "Mali",
10198        iso_code: "ML",
10199        currency: "CAD"
10200      },{
10201        name:     "Malta",
10202        iso_code: "MT",
10203        currency: "CAD"
10204      },{
10205        name:     "Martinique",
10206        iso_code: "MQ",
10207        currency: "CAD"
10208      },{
10209        name:     "Mauritania",
10210        iso_code: "MR",
10211        currency: "CAD"
10212      },{
10213        name:     "Mauritius",
10214        iso_code: "MU",
10215        currency: "CAD"
10216      },{
10217        name:     "Mayotte",
10218        iso_code: "YT",
10219        currency: "CAD"
10220      },{
10221        name:     "Mexico",
10222        iso_code: "MX",
10223        currency: "CAD"
10224      },{
10225        name:     "Moldova",
10226        iso_code: "MD",
10227        currency: "CAD"
10228      },{
10229        name:     "Monaco",
10230        iso_code: "MC",
10231        currency: "CAD"
10232      },{
10233        name:     "Mongolia",
10234        iso_code: "MN",
10235        currency: "CAD"
10236      },{
10237        name:     "Montenegro",
10238        iso_code: "ME",
10239        currency: "CAD"
10240      },{
10241        name:     "Montserrat",
10242        iso_code: "MS",
10243        currency: "CAD"
10244      },{
10245        name:     "Morocco",
10246        iso_code: "MA",
10247        currency: "CAD"
10248      },{
10249        name:     "Mozambique",
10250        iso_code: "MZ",
10251        currency: "CAD"
10252      },{
10253        name:     "Myanmar (Burma)",
10254        iso_code: "MM",
10255        currency: "CAD"
10256      },{
10257        name:     "Namibia",
10258        iso_code: "NA",
10259        currency: "CAD"
10260      },{
10261        name:     "Nauru",
10262        iso_code: "NR",
10263        currency: "CAD"
10264      },{
10265        name:     "Nepal",
10266        iso_code: "NP",
10267        currency: "CAD"
10268      },{
10269        name:     "Netherlands",
10270        iso_code: "NL",
10271        currency: "CAD"
10272      },{
10273        name:     "New Caledonia",
10274        iso_code: "NC",
10275        currency: "CAD"
10276      },{
10277        name:     "New Zealand",
10278        iso_code: "NZ",
10279        currency: "CAD"
10280      },{
10281        name:     "Nicaragua",
10282        iso_code: "NI",
10283        currency: "CAD"
10284      },{
10285        name:     "Niger",
10286        iso_code: "NE",
10287        currency: "CAD"
10288      },{
10289        name:     "Nigeria",
10290        iso_code: "NG",
10291        currency: "CAD"
10292      },{
10293        name:     "Niue",
10294        iso_code: "NU",
10295        currency: "CAD"
10296      },{
10297        name:     "Norfolk Island",
10298        iso_code: "NF",
10299        currency: "CAD"
10300      },{
10301        name:     "North Macedonia",
10302        iso_code: "MK",
10303        currency: "CAD"
10304      },{
10305        name:     "Norway",
10306        iso_code: "NO",
10307        currency: "CAD"
10308      },{
10309        name:     "Oman",
10310        iso_code: "OM",
10311        currency: "CAD"
10312      },{
10313        name:     "Pakistan",
10314        iso_code: "PK",
10315        currency: "CAD"
10316      },{
10317        name:     "Palestinian Territories",
10318        iso_code: "PS",
10319        currency: "CAD"
10320      },{
10321        name:     "Panama",
10322        iso_code: "PA",
10323        currency: "CAD"
10324      },{
10325        name:     "Papua New Guinea",
10326        iso_code: "PG",
10327        currency: "CAD"
10328      },{
10329        name:     "Paraguay",
10330        iso_code: "PY",
10331        currency: "CAD"
10332      },{
10333        name:     "Peru",
10334        iso_code: "PE",
10335        currency: "CAD"
10336      },{
10337        name:     "Philippines",
10338        iso_code: "PH",
10339        currency: "CAD"
10340      },{
10341        name:     "Pitcairn Islands",
10342        iso_code: "PN",
10343        currency: "CAD"
10344      },{
10345        name:     "Poland",
10346        iso_code: "PL",
10347        currency: "CAD"
10348      },{
10349        name:     "Portugal",
10350        iso_code: "PT",
10351        currency: "CAD"
10352      },{
10353        name:     "Qatar",
10354        iso_code: "QA",
10355        currency: "CAD"
10356      },{
10357        name:     "Réunion",
10358        iso_code: "RE",
10359        currency: "CAD"
10360      },{
10361        name:     "Romania",
10362        iso_code: "RO",
10363        currency: "CAD"
10364      },{
10365        name:     "Russia",
10366        iso_code: "RU",
10367        currency: "CAD"
10368      },{
10369        name:     "Rwanda",
10370        iso_code: "RW",
10371        currency: "CAD"
10372      },{
10373        name:     "Samoa",
10374        iso_code: "WS",
10375        currency: "CAD"
10376      },{
10377        name:     "San Marino",
10378        iso_code: "SM",
10379        currency: "CAD"
10380      },{
10381        name:     "São Tomé \u0026amp; Príncipe",
10382        iso_code: "ST",
10383        currency: "CAD"
10384      },{
10385        name:     "Saudi Arabia",
10386        iso_code: "SA",
10387        currency: "CAD"
10388      },{
10389        name:     "Senegal",
10390        iso_code: "SN",
10391        currency: "CAD"
10392      },{
10393        name:     "Serbia",
10394        iso_code: "RS",
10395        currency: "CAD"
10396      },{
10397        name:     "Seychelles",
10398        iso_code: "SC",
10399        currency: "CAD"
10400      },{
10401        name:     "Sierra Leone",
10402        iso_code: "SL",
10403        currency: "CAD"
10404      },{
10405        name:     "Singapore",
10406        iso_code: "SG",
10407        currency: "CAD"
10408      },{
10409        name:     "Sint Maarten",
10410        iso_code: "SX",
10411        currency: "CAD"
10412      },{
10413        name:     "Slovakia",
10414        iso_code: "SK",
10415        currency: "CAD"
10416      },{
10417        name:     "Slovenia",
10418        iso_code: "SI",
10419        currency: "CAD"
10420      },{
10421        name:     "Solomon Islands",
10422        iso_code: "SB",
10423        currency: "CAD"
10424      },{
10425        name:     "Somalia",
10426        iso_code: "SO",
10427        currency: "CAD"
10428      },{
10429        name:     "South Africa",
10430        iso_code: "ZA",
10431        currency: "CAD"
10432      },{
10433        name:     "South Georgia \u0026amp; South Sandwich Islands",
10434        iso_code: "GS",
10435        currency: "CAD"
10436      },{
10437        name:     "South Korea",
10438        iso_code: "KR",
10439        currency: "CAD"
10440      },{
10441        name:     "South Sudan",
10442        iso_code: "SS",
10443        currency: "CAD"
10444      },{
10445        name:     "Spain",
10446        iso_code: "ES",
10447        currency: "CAD"
10448      },{
10449        name:     "Sri Lanka",
10450        iso_code: "LK",
10451        currency: "CAD"
10452      },{
10453        name:     "St. Barthélemy",
10454        iso_code: "BL",
10455        currency: "CAD"
10456      },{
10457        name:     "St. Helena",
10458        iso_code: "SH",
10459        currency: "CAD"
10460      },{
10461        name:     "St. Kitts \u0026amp; Nevis",
10462        iso_code: "KN",
10463        currency: "CAD"
10464      },{
10465        name:     "St. Lucia",
10466        iso_code: "LC",
10467        currency: "CAD"
10468      },{
10469        name:     "St. Martin",
10470        iso_code: "MF",
10471        currency: "CAD"
10472      },{
10473        name:     "St. Pierre \u0026amp; Miquelon",
10474        iso_code: "PM",
10475        currency: "CAD"
10476      },{
10477        name:     "St. Vincent \u0026amp; Grenadines",
10478        iso_code: "VC",
10479        currency: "CAD"
10480      },{
10481        name:     "Sudan",
10482        iso_code: "SD",
10483        currency: "CAD"
10484      },{
10485        name:     "Suriname",
10486        iso_code: "SR",
10487        currency: "CAD"
10488      },{
10489        name:     "Svalbard \u0026amp; Jan Mayen",
10490        iso_code: "SJ",
10491        currency: "CAD"
10492      },{
10493        name:     "Sweden",
10494        iso_code: "SE",
10495        currency: "CAD"
10496      },{
10497        name:     "Switzerland",
10498        iso_code: "CH",
10499        currency: "CAD"
10500      },{
10501        name:     "Taiwan",
10502        iso_code: "TW",
10503        currency: "CAD"
10504      },{
10505        name:     "Tajikistan",
10506        iso_code: "TJ",
10507        currency: "CAD"
10508      },{
10509        name:     "Tanzania",
10510        iso_code: "TZ",
10511        currency: "CAD"
10512      },{
10513        name:     "Thailand",
10514        iso_code: "TH",
10515        currency: "CAD"
10516      },{
10517        name:     "Timor-Leste",
10518        iso_code: "TL",
10519        currency: "CAD"
10520      },{
10521        name:     "Togo",
10522        iso_code: "TG",
10523        currency: "CAD"
10524      },{
10525        name:     "Tokelau",
10526        iso_code: "TK",
10527        currency: "CAD"
10528      },{
10529        name:     "Tonga",
10530        iso_code: "TO",
10531        currency: "CAD"
10532      },{
10533        name:     "Trinidad \u0026amp; Tobago",
10534        iso_code: "TT",
10535        currency: "CAD"
10536      },{
10537        name:     "Tristan da Cunha",
10538        iso_code: "TA",
10539        currency: "CAD"
10540      },{
10541        name:     "Tunisia",
10542        iso_code: "TN",
10543        currency: "CAD"
10544      },{
10545        name:     "Türkiye",
10546        iso_code: "TR",
10547        currency: "CAD"
10548      },{
10549        name:     "Turkmenistan",
10550        iso_code: "TM",
10551        currency: "CAD"
10552      },{
10553        name:     "Turks \u0026amp; Caicos Islands",
10554        iso_code: "TC",
10555        currency: "CAD"
10556      },{
10557        name:     "Tuvalu",
10558        iso_code: "TV",
10559        currency: "CAD"
10560      },{
10561        name:     "U.S. Outlying Islands",
10562        iso_code: "UM",
10563        currency: "CAD"
10564      },{
10565        name:     "Uganda",
10566        iso_code: "UG",
10567        currency: "CAD"
10568      },{
10569        name:     "Ukraine",
10570        iso_code: "UA",
10571        currency: "CAD"
10572      },{
10573        name:     "United Arab Emirates",
10574        iso_code: "AE",
10575        currency: "CAD"
10576      },{
10577        name:     "United Kingdom",
10578        iso_code: "GB",
10579        currency: "CAD"
10580      },{
10581        name:     "United States",
10582        iso_code: "US",
10583        currency: "CAD"
10584      },{
10585        name:     "Uruguay",
10586        iso_code: "UY",
10587        currency: "CAD"
10588      },{
10589        name:     "Uzbekistan",
10590        iso_code: "UZ",
10591        currency: "CAD"
10592      },{
10593        name:     "Vanuatu",
10594        iso_code: "VU",
10595        currency: "CAD"
10596      },{
10597        name:     "Vatican City",
10598        iso_code: "VA",
10599        currency: "CAD"
10600      },{
10601        name:     "Venezuela",
10602        iso_code: "VE",
10603        currency: "CAD"
10604      },{
10605        name:     "Vietnam",
10606        iso_code: "VN",
10607        currency: "CAD"
10608      },{
10609        name:     "Wallis \u0026amp; Futuna",
10610        iso_code: "WF",
10611        currency: "CAD"
10612      },{
10613        name:     "Western Sahara",
10614        iso_code: "EH",
10615        currency: "CAD"
10616      },{
10617        name:     "Yemen",
10618        iso_code: "YE",
10619        currency: "CAD"
10620      },{
10621        name:     "Zambia",
10622        iso_code: "ZM",
10623        currency: "CAD"
10624      },{
10625        name:     "Zimbabwe",
10626        iso_code: "ZW",
10627        currency: "CAD"
10628      }],
10629
10630    // ── danh sách language khả dụng ──
10631    availableLanguages: [{
10632        name:         "English",
10633        endonym_name: "English",
10634        iso_code:     "en",
10635        primary:      true
10636      }]
10637  };
10638
10639  // Ghi market của phiên vào localStorage để web pixel đọc lại lúc register()
10640  // (event xem hàng không có market — phải bắt ở storefront). Best-effort.
10641  try {
10642    localStorage.setItem(
10643      "omega_market_context",
10644      JSON.stringify({
10645        handle: localizationOmega.market && localizationOmega.market.handle,
10646        id: localizationOmega.market && localizationOmega.market.id,
10647        country: localizationOmega.country && localizationOmega.country.iso_code
10648      })
10649    );
10650  } catch (e) {
10651    console.error("Omega: save market context failed", e);
10652  }
10653
10654  // Ghi currency đang hiển thị (Shopify.currency.active, vd "USD") để web pixel đọc lại.
10655  try {
10656    var omegaCurrency = window.Shopify && window.Shopify.currency && window.Shopify.currency.active;
10657    if (omegaCurrency) localStorage.setItem("omega_currency", omegaCurrency);
10658  } catch (e) {
10659    console.error("Omega: save currency failed", e);
10660  }
10661</script>
10661
10662
10663
10664
10665<!-- END app snippet -->
10665<script src="https://cdn.shopify.com/extensions/01a0f5bf-8c1f-70b3-9197-d772595f02a0/facebook-pixel-5-542/assets/omega-init.js" defer></script>
vendor: 1 bytes, line 10665
10665
10666<script
10667  type="text/javascript"
10668  src="https://cdn.shopify.com/extensions/01a0f5bf-8c1f-70b3-9197-d772595f02a0/facebook-pixel-5-542/assets/omega-storefront.js"
10669  defer
10670></script>
10670<script>
10671    window.__OT_BUNDLE_ATC__ = {
10672      enabled: true,
10673      window_ms: 400,
10674      hold_max_ms: 8000,
10675    };
10676  </script>
10676
10677  
10677<script src="https://cdn.shopify.com/extensions/01a0f5bf-8c1f-70b3-9197-d772595f02a0/facebook-pixel-5-542/assets/omega-atc.js"></script>
10677
10678  
10679<script>
10680    window.__OTICS__ = {
10681      enabled: true,
10682      app: "SPF001",
10683      proxy: "\/apps\/otm", // subpath first-party -> collector POST {proxy}/signal -> backend /cab/<app_code>/signal
10684      shop: "merchantoftennis.myshopify.com"
10685    };
10686  </script>
10686<script>
10687  window.__OT_GATE__ = {
10688    regions: "",
10689    liquidCountry: "US",
10690    modules: {
10691      // 🔴 `allow_false: true` là BẮT BUỘC. Bộ lọc `default` của Liquid coi `false` là "không có
10692      // giá trị" và thay bằng mặc định — nên `false | default: true` ra TRUE. Thiếu tham số này
10693      // thì tắt cờ ở admin không có tác dụng gì: module vẫn được nạp, im lặng.
10694      // Định danh khách. Nạp TRƯỚC collector.js (thứ tự trong object = thứ tự chèn, và các
10695      // module `defer` chạy theo đúng thứ tự chèn) để collector thấy được window.OTVisitorId.
10696      // Vắng module ⇒ beacon consent vẫn gửi, chỉ thiếu phần định danh.
10697      visitor_id: true,
10698      consent_signal: true,
10699      cart_attrs: true
10700    },
10701    assets: {
10702      visitor_id: { src: "https:\/\/cdn.shopify.com\/extensions\/01a0f5bf-8c1f-70b3-9197-d772595f02a0\/facebook-pixel-5-542\/assets\/ot-visitor-id.js", defer: true },
10703      consent_signal: { src: "https:\/\/cdn.shopify.com\/extensions\/01a0f5bf-8c1f-70b3-9197-d772595f02a0\/facebook-pixel-5-542\/assets\/collector.js", defer: true },
10704      cart_attrs: { src: "https:\/\/cdn.shopify.com\/extensions\/01a0f5bf-8c1f-70b3-9197-d772595f02a0\/facebook-pixel-5-542\/assets\/ot-cart-attrs.js", defer: true }
10705    },
10706    // Luôn nạp, KỂ CẢ khi khu vực bị chặn — đó chính là lúc cần dọn nhất.
10707    cleanup: { src: "https:\/\/cdn.shopify.com\/extensions\/01a0f5bf-8c1f-70b3-9197-d772595f02a0\/facebook-pixel-5-542\/assets\/ot-cleanup.js", defer: true }
10708  };
10709</script>
10709<script src="https://cdn.shopify.com/extensions/01a0f5bf-8c1f-70b3-9197-d772595f02a0/facebook-pixel-5-542/assets/ot-region-gate.js" defer></script>
10709
10710
10711
10712</div>
10712<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
10712
10713</body>
10714</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.