PageSourceSearch

https://www.threepiece.us/shop/

html threepiece.us collected 2026-10-04 04:09:28 UTC 379,141 bytes, 7,026 lines download raw bytes

1    <!DOCTYPE html>
2<html class="no-js" lang="en">
3  <head>
4    <title>Shop 3 Piece Wheels — In Stock, Free Shipping | ThreePiece.us</title>
5    <meta name="description" content="Shop 3 piece wheels at ThreePiece.us — forged lips, barrels, and centers in every size, offset, and finish. In stock with free shipping and expert fitment help."><link rel='canonical' href='https://www.threepiece.us/shop/' /><meta name='platform' content='bigcommerce.stencil' />
6        <link rel="dns-prefetch preconnect" href="https://cdn11.bigcommerce.com/s-8zxb6tk" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.googleapis.com/" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.gstatic.com/" crossorigin>  
7
8<meta property="og:type" content="website">
9<meta property="og:title" content="Shop | ThreePiece.us">
10<meta property="og:url" content="https://www.threepiece.us/shop/">
11<meta property="og:site_name" content="ThreePiece.us">
12
13 
14<link rel="next" href="https://www.threepiece.us/shop/?page&#x3D;2" />
15<script>
16  (function(){
17    var m = window.location.search.match(/[?&]page=(\d+)/);
18    if (m && parseInt(m[1], 10) > 5) {
19      var t = document.createElement('meta');
20      t.name = 'robots';
21      t.content = 'noindex, follow';
22      document.head.appendChild(t);
23    }
24  })();
25</script>
vendor: 1 bytes, line 25
25
26<script type="application/ld+json">
27{
28  "@context": "https://schema.org",
29  "@type": "AutoPartsStore",
30  "@id": "https://www.threepiece.us/#organization",
31  "name": "ThreePiece.us",
32  "legalName": "ThreePiece.us LLC",
33  "alternateName": "ThreePiece",
34  "description": "Premium aftermarket wheel and tire specialist with over 10 years of expertise in custom fitment. Largest selection of Work Wheels, SSR, Weds, Volk Racing, Enkei, and BBS performance wheels. Expert fitment support and free shipping on packages.",
35  "url": "https://www.threepiece.us",
36  "telephone": "+1-813-535-5801",
37  "email": "[email protected]",
38  "logo": {
39    "@type": "ImageObject",
40    "url": "https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/original/threepiece-logo.png",
41    "width": "250",
42    "height": "60",
43    "caption": "ThreePiece.us - Premium Custom Wheels & Performance Rims"
44  },
45  "image": {
46    "@type": "ImageObject",
47    "url": "https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/original/image-manager/updated-header.jpg",
48    "width": "1200",
49    "height": "630",
50    "caption": "ThreePiece.us Custom Wheels and Performance Rims Showroom"
51  },
52  "foundingDate": "2014",
53  "slogan": "From Mild to Wild - Expert Wheel Fitment for Every Build",
54  "priceRange": "$$-$$$",
55  "currenciesAccepted": "USD",
56  "paymentAccepted": "Credit Card, Debit Card, PayPal, Affirm, Klarna, Snap Finance",
57  "areaServed": {
58    "@type": "Country",
59    "name": "United States"
60  },
61  "address": {
62    "@type": "PostalAddress",
63    "addressCountry": "US"
64  },
65  "contactPoint": [
66    {
67      "@type": "ContactPoint",
68      "telephone": "+1-813-535-5801",
69      "contactType": "customer service",
70      "email": "[email protected]",
71      "areaServed": "US",
72      "availableLanguage": ["English"]
73    },
74    {
75      "@type": "ContactPoint",
76      "contactType": "technical support",
77      "email": "[email protected]",
78      "areaServed": "US",
79      "availableLanguage": ["English"]
80    }
81  ],
82  "sameAs": [
83    "https://www.instagram.com/threepiece.us",
84    "https://www.youtube.com/@ThreepieceUs",
85    "https://www.facebook.com/threepieceus",
86    "https://www.tiktok.com/@threepiece.us"
87  ],
88  "subjectOf": [
89    {
90      "@type": "ContactPage",
91      "name": "Contact ThreePiece.us",
92      "url": "https://www.threepiece.us/contact-us/"
93    },
94    {
95      "@type": "WebPage",
96      "name": "Shipping and Returns",
97      "url": "https://www.threepiece.us/shipping-return/"
98    },
99    {
100      "@type": "WebPage",
101      "name": "Price Match Guarantee",
102      "url": "https://www.threepiece.us/price-match-guarantee/"
103    },
104    {
105      "@type": "WebPage",
106      "name": "Privacy Policy",
107      "url": "https://www.threepiece.us/privacy-policy/"
108    },
109    {
110      "@type": "WebPage",
111      "name": "Terms and Conditions",
112      "url": "https://www.threepiece.us/terms-and-conditions/"
113    },
114    {
115      "@type": "WebPage",
116      "name": "Accessibility",
117      "url": "https://www.threepiece.us/accessibility/"
118    }
119  ],
120  "hasMerchantReturnPolicy": {
121    "@type": "MerchantReturnPolicy",
122    "name": "ThreePiece.us Shipping and Returns",
123    "url": "https://www.threepiece.us/shipping-return/",
124    "applicableCountry": "US"
125  },
126  "knowsAbout": [
127    "Wheel Fitment",
128    "Custom Wheels",
129    "Performance Rims",
130    "Tire Packages",
131    "Offset Calculation",
132    "Bolt Pattern Matching",
133    "Wheel Sizing",
134    "Stance Setup",
135    "JDM Wheels",
136    "Forged Wheels",
137    "Work Wheels",
138    "SSR Wheels",
139    "Weds Wheels"
140  ]
141}
142</script>
vendor: 1 bytes, line 142
142
143<script type="application/ld+json">
144{
145  "@context": "https://schema.org",
146  "@type": "WebSite",
147  "name": "ThreePiece.us",
148  "url": "https://www.threepiece.us",
149  "potentialAction": {
150    "@type": "SearchAction",
151    "target": "https://www.threepiece.us/search?query={search_term_string}",
152    "query-input": "required name=search_term_string"
153  }
154}
155</script>
155
156
157
158    <link rel="preconnect" href="https://tracking.threepiece.us">
159    <link rel="preconnect" href="https://sdk.helloextend.com">
160    <link rel="preconnect" href="https://attribution.threepiece.us">
161    <link rel="dns-prefetch" href="https://www.katapult.com">
162    <link rel="dns-prefetch" href="https://code.jquery.com">
163    <link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
164    <link rel="dns-prefetch" href="https://attribution.threepiece.us">
165    <link rel="dns-prefetch" href="https://static.klaviyo.com">
166
167    <link href="https://cdn11.bigcommerce.com/s-8zxb6tk/product_images/rsz_threepieceuslogo2.jpg?t&#x3D;1605213824" rel="shortcut icon" />
168    <meta
169      name="viewport"
170      content="width=device-width, initial-scale=1"
171    />
172
173    
173<script>
174      document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
175    </script>
175
176
177    
177<script>
178(function () {
179  'use strict';
180
181  try {
182    if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') {
183      window.__tpTrackingBridgeOwner = 'bc-script';
184      return;
185    }
186
187    var COOKIE_MAX_AGE = 90;
188    var ATTRIBUTION_BASE_URL = 'https://attribution.threepiece.us';
189    var PAGE_TYPE = '' || '';
190    var CHANNEL_ID = '' || '';
191    var CART_ID = '' || '';
192    var VISITOR_COOKIE = 'tp_vid';
193    var SESSION_STORAGE_KEY = 'tp_sid';
194
195    window.dataLayer = window.dataLayer || [];
196
197    function encode(value) {
198      return encodeURIComponent(String(value));
199    }
200
201    function decode(value) {
202      try {
203        return decodeURIComponent(value);
204      } catch (err) {
205        return value;
206      }
207    }
208
209    function getCookie(name) {
210      var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
211      return match ? decode(match[1]) : null;
212    }
213
214    function setCookie(name, value, days) {
215      var expires = new Date(Date.now() + days * 864e5).toUTCString();
216      document.cookie = name + '=' + encode(value) +
217        '; expires=' + expires + '; path=/; SameSite=Lax';
218    }
219
220    function getSessionValue(key) {
221      try {
222        return window.sessionStorage ? window.sessionStorage.getItem(key) : null;
223      } catch (err) {
224        return null;
225      }
226    }
227
228    function setSessionValue(key, value) {
229      try {
230        if (window.sessionStorage) {
231          window.sessionStorage.setItem(key, value);
232        }
233      } catch (err) {
234        // Attribution should never break the theme if storage is blocked.
235      }
236    }
237
238    function randomId(prefix) {
239      var value = Math.random().toString(36).slice(2, 10) + Date.now().toString(36);
240      return prefix + value;
241    }
242
243    function ensureVisitorId() {
244      var current = getCookie(VISITOR_COOKIE);
245      if (current) return current;
246
247      current = randomId('v_');
248      setCookie(VISITOR_COOKIE, current, COOKIE_MAX_AGE);
249      return current;
250    }
251
252    function ensureSessionId() {
253      var current = getSessionValue(SESSION_STORAGE_KEY);
254      if (current) return current;
255
256      current = randomId('s_');
257      setSessionValue(SESSION_STORAGE_KEY, current);
258      return current;
259    }
260
261    function getGaClientId() {
262      var gaCookie = getCookie('_ga');
263      if (!gaCookie) return null;
264
265      var parts = gaCookie.split('.');
266      if (parts.length < 4) return null;
267      return parts.slice(-2).join('.');
268    }
269
270    function getGaSessionId() {
271      var cookies = document.cookie.split(';');
272      for (var i = 0; i < cookies.length; i++) {
273        var pair = cookies[i].trim().split('=');
274        var key = pair[0] || '';
275
276        if (key.indexOf('_ga_') !== 0) continue;
277
278        var value = decode(pair[1] || '');
279        var pieces = value.split('.');
280        if (pieces.length < 3) continue;
281        return pieces[2] || null;
282      }
283
284      return null;
285    }
286
287    function getClickIds() {
288      var mapping = {
289        gclid: '_tp_gclid',
290        fbclid: '_tp_fbclid',
291        ttclid: '_tp_ttclid',
292        msclkid: '_tp_msclkid',
293        li_fat_id: '_tp_li_fat_id',
294        twclid: '_tp_twclid'
295      };
296      var result = {};
297
298      Object.keys(mapping).forEach(function (key) {
299        var value = getCookie(mapping[key]);
300        if (value) result[key] = value;
301      });
302
303      return result;
304    }
305
306    function getUtmData() {
307      var utmKeys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id'];
308      var result = {};
309
310      utmKeys.forEach(function (key) {
311        var value = getCookie('_tp_' + key);
312        if (value) result[key] = value;
313      });
314
315      return result;
316    }
317
318    function getPlatformIds() {
319      return {
320        fbp: getCookie('_fbp'),
321        fbc: getCookie('_fbc'),
322        ga_client_id: getGaClientId(),
323        ga_session_id: getGaSessionId()
324      };
325    }
326
327    function buildEventId(eventName) {
328      return eventName + ':' + Date.now() + ':' + Math.random().toString(36).slice(2, 8);
329    }
330
331    function getAttributionSnapshot() {
332      return {
333        visitor_id: ensureVisitorId(),
334        session_id: ensureSessionId(),
335        click_ids: getClickIds(),
336        utm_data: getUtmData(),
337        platform_ids: getPlatformIds(),
338        page_type: PAGE_TYPE,
339        page_location: window.location.href,
340        page_path: window.location.pathname,
341        referrer: document.referrer || null,
342        channel_id: CHANNEL_ID || null,
343        cart_id: CART_ID || null,
344        timestamp: new Date().toISOString()
345      };
346    }
347
348    function buildEventMeta(eventName, overrides) {
349      var snapshot = getAttributionSnapshot();
350      var custom = overrides || {};
351
352      return {
353        event_id: custom.event_id || buildEventId(eventName),
354        event_time: custom.event_time || snapshot.timestamp,
355        page_type: custom.page_type || snapshot.page_type,
356        page_location: custom.page_location || snapshot.page_location,
357        page_path: custom.page_path || snapshot.page_path,
358        visitor_id: custom.visitor_id || snapshot.visitor_id,
359        session_id: custom.session_id || snapshot.session_id,
360        cart_id: custom.cart_id || snapshot.cart_id,
361        source: custom.source || 'theme'
362      };
363    }
364
365    function sanitizePayload(payload) {
366      var sanitized = {};
367
368      Object.keys(payload || {}
368).forEach(function (key) {
369        var value = payload[key];
370        if (value === undefined) return;
371        sanitized[key] = value;
372      });
373
374      return sanitized;
375    }
376
377    function pushEvent(eventName, payload) {
378      var safePayload = payload || {};
379      var eventMeta = buildEventMeta(eventName, safePayload.event_meta);
380      var snapshot = getAttributionSnapshot();
381      var eventPayload = sanitizePayload({
382        event: eventName,
383        event_meta: eventMeta,
384        click_ids: snapshot.click_ids,
385        utm_data: snapshot.utm_data,
386        platform_ids: snapshot.platform_ids,
387        user_data: safePayload.user_data || null,
388        ecommerce: safePayload.ecommerce || null,
389        extra: safePayload.extra || null
390      });
391
392      if (safePayload.ecommerce) {
393        window.dataLayer.push({ ecommerce: null });
394      }
395
396      window.dataLayer.push(eventPayload);
397      return eventPayload;
398    }
399
400    function postJSON(path, payload) {
401      var url = ATTRIBUTION_BASE_URL + path;
402      var body = JSON.stringify(payload);
403
404      if (navigator.sendBeacon) {
405        var blob = new Blob([body], { type: 'application/json' });
406        if (navigator.sendBeacon(url, blob)) return true;
407      }
408
409      if (window.fetch) {
410        window.fetch(url, {
411          method: 'POST',
412          headers: { 'Content-Type': 'application/json' },
413          body: body,
414          credentials: 'include',
415          keepalive: true
416        }).catch(function () {});
417        return true;
418      }
419
420      return false;
421    }
422
423    function identify(userData, eventMeta) {
424      if (!userData || (!userData.email && !userData.phone_number && !userData.external_id)) {
425        return false;
426      }
427
428      return postJSON('/v1/identify', {
429        event_meta: buildEventMeta('identify', eventMeta),
430        user_data: userData,
431        attribution: getAttributionSnapshot()
432      });
433    }
434
435    window.__tpTrackingBridgeOwner = 'theme';
436    window.__tpTracking = {
437      config: {
438        attributionBaseUrl: ATTRIBUTION_BASE_URL,
439        pageType: PAGE_TYPE,
440        channelId: CHANNEL_ID,
441        cartId: CART_ID || null
442      },
443      getCookie: getCookie,
444      setCookie: setCookie,
445      ensureVisitorId: ensureVisitorId,
446      ensureSessionId: ensureSessionId,
447      getAttributionSnapshot: getAttributionSnapshot,
448      buildEventMeta: buildEventMeta,
449      pushEvent: pushEvent,
450      postJSON: postJSON,
451      identify: identify
452    };
453
454    ensureVisitorId();
455    ensureSessionId();
456  } catch (err) {
457    window.__tpTracking = null;
458    window.__tpTrackingBridgeOwner = 'theme:error';
459    if (window.console && typeof window.console.warn === 'function') {
460      window.console.warn('ThreePiece attribution context disabled.', err);
461    }
462  }
463})();
464</script>
464
465    
465<script>
466(function () {
467  'use strict';
468  window.dataLayer = window.dataLayer || [];
469  var tracking = window.__tpTracking;
470
471})();
472</script>
472
473    
473<script>
474(function () {
475  'use strict';
476
477  try {
478    if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') {
479      return;
480    }
481
482    var COOKIE_DAYS_CLICK = 90;
483    var COOKIE_DAYS_UTM = 30;
484    var tracking = window.__tpTracking;
485    var endpoint = '/v1/click-ids';
486
487    function setCookie(name, value, days) {
488      if (tracking && typeof tracking.setCookie === 'function') {
489        tracking.setCookie(name, value, days);
490        return;
491      }
492
493      var exp = new Date(Date.now() + days * 864e5).toUTCString();
494      document.cookie = name + '=' + encodeURIComponent(value) +
495        '; expires=' + exp + '; path=/; SameSite=Lax';
496    }
497
498    function getCookie(name) {
499      if (tracking && typeof tracking.getCookie === 'function') {
500        return tracking.getCookie(name);
501      }
502
503      var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
504      return match ? decodeURIComponent(match[1]) : null;
505    }
506
507    function getParam(name) {
508      var match = location.search.match(new RegExp('[?&]' + name + '=([^&#]*)'));
509      return match ? decodeURIComponent(match[1].replace(/\+/g, ' ')) : null;
510    }
511
512    var clickIdDefs = [
513      { param: 'gclid', cookie: '_tp_gclid', days: COOKIE_DAYS_CLICK },
514      { param: 'fbclid', cookie: '_tp_fbclid', days: COOKIE_DAYS_CLICK },
515      { param: 'ttclid', cookie: '_tp_ttclid', days: COOKIE_DAYS_CLICK },
516      { param: 'msclkid', cookie: '_tp_msclkid', days: COOKIE_DAYS_CLICK },
517      { param: 'li_fat_id', cookie: '_tp_li_fat_id', days: COOKIE_DAYS_CLICK },
518      { param: 'twclid', cookie: '_tp_twclid', days: COOKIE_DAYS_CLICK },
519      { param: 'oppref', cookie: '_tp_oppref', days: COOKIE_DAYS_CLICK }
520    ];
521
522    var clickIds = {};
523    var freshClickFound = false;
524
525    clickIdDefs.forEach(function (definition) {
526      var fresh = getParam(definition.param);
527      if (fresh) {
528        setCookie(definition.cookie, fresh, definition.days);
529        clickIds[definition.param] = fresh;
530        freshClickFound = true;
531      } else {
532        var stored = getCookie(definition.cookie);
533        if (stored) clickIds[definition.param] = stored;
534      }
535    });
536
537    var utmDefs = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id'];
538    var utmData = {};
539
540    utmDefs.forEach(function (key) {
541      var fresh = getParam(key);
542      if (fresh) {
543        setCookie('_tp_' + key, fresh, COOKIE_DAYS_UTM);
544        utmData[key] = fresh;
545      } else {
546        var stored = getCookie('_tp_' + key);
547        if (stored) utmData[key] = stored;
548      }
549    });
550
551    var emailFromUrl = getParam('email') || getParam('_ke') || getCookie('_tp_email_from_url') || '';
552    if (emailFromUrl) {
553      setCookie('_tp_email_from_url', emailFromUrl, COOKIE_DAYS_CLICK);
554    }
555
556    window.dataLayer = window.dataLayer || [];
557
558    if (tracking && typeof tracking.pushEvent === 'function') {
559      tracking.pushEvent('tracking_context', {
560        event_meta: {
561          source: 'theme:click-id-capture'
562        },
563        extra: {
564          email_from_url: emailFromUrl || null
565        }
566      });
567    } else {
568      if (Object.keys(clickIds).length) {
569        window.dataLayer.push({ click_ids: clickIds });
570      }
571      if (Object.keys(utmData).length) {
572        window.dataLayer.push({ utm_data: utmData });
573      }
574      if (emailFromUrl) {
575        window.dataLayer.push({ email_from_url: emailFromUrl });
576      }
577    }
578
579    if (freshClickFound || emailFromUrl) {
580      var payload = {
581        click_ids: clickIds,
582        utm_data: utmData,
583        email_from_url: emailFromUrl || null,
584        page_url: location.href,
585        referrer: document.referrer || null,
586        timestamp: new Date().toISOString()
587      };
588
589      if (tracking && typeof tracking.postJSON === 'function') {
590        tracking.postJSON(endpoint, payload);
591      } else if (navigator.sendBeacon) {
592        var blob = new Blob([JSON.stringify(payload)], { type: 'application/json' });
593        navigator.sendBeacon('https://attribution.threepiece.us' + endpoint, blob);
594      }
595    }
596  } catch (err) {
597    if (window.console && typeof window.console.warn === 'function') {
598      window.console.warn('ThreePiece click capture disabled.', err);
599    }
600  }
601})();
602</script>
602
603    
603<script>
604    function browserSupportsAllFeatures() {
605        return window.Promise
606            && window.fetch
607            && window.URL
608            && window.URLSearchParams
609            && window.WeakMap
610            // object-fit support
611            && ('objectFit' in document.documentElement.style);
612    }
613
614    function loadScript(src) {
615        var js = document.createElement('script');
616        js.src = src;
617        js.onerror = function () {
618            console.error('Failed to load polyfill script ' + src);
619        };
620        document.head.appendChild(js);
621    }
622
623    if (!browserSupportsAllFeatures()) {
624        loadScript('https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.polyfills.js');
625    }
626</script>
626
627 <!-- NEW Google Tag Manager -->
628<script>
629  (function (w, d, s, l, i) {
630    w[l] = w[l] || [];
631    w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
632    var f = d.getElementsByTagName(s)[0],
633      j = d.createElement(s),
634      dl = l != "dataLayer" ? "&l=" + l : "";
635    j.async = true;
636    j.src = "https://tracking.threepiece.us/gtm.js?id=" + i + dl;
637    f.parentNode.insertBefore(j, f);
638  })(window, document, "script", "dataLayer", "GTM-PJLMLB8F");
639</script>
639
640<!-- End Google Tag Manager -->
641
642    <!-- Extend - Render Extend Configuration Script -->
643    
643<script>
644  document.addEventListener('DOMContentLoaded', function() {
645    if (typeof Extend !== 'undefined') {
646      Extend.integration = Extend.integration || {};
647      Extend.integration.analytics = true;
648    }
649  });
650</script>
650
651    <!--  Extend - End Extend Code -->
652
653    
653<script>
654      window.consentManagerTranslations = `{"locale":"en","locales":{"consent_manager.data_collection_warning":"en","consent_manager.accept_all_cookies":"en","consent_manager.gdpr_settings":"en","consent_manager.data_collection_preferences":"en","consent_manager.manage_data_collection_preferences":"en","consent_manager.use_data_by_cookies":"en","consent_manager.data_categories_table":"en","consent_manager.allow":"en","consent_manager.accept":"en","consent_manager.deny":"en","consent_manager.dismiss":"en","consent_manager.reject_all":"en","consent_manager.category":"en","consent_manager.purpose":"en","consent_manager.functional_category":"en","consent_manager.functional_purpose":"en","consent_manager.analytics_category":"en","consent_manager.analytics_purpose":"en","consent_manager.targeting_category":"en","consent_manager.advertising_category":"en","consent_manager.advertising_purpose":"en","consent_manager.essential_category":"en","consent_manager.esential_purpose":"en","consent_manager.yes":"en","consent_manager.no":"en","consent_manager.not_available":"en","consent_manager.cancel":"en","consent_manager.save":"en","consent_manager.back_to_preferences":"en","consent_manager.close_without_changes":"en","consent_manager.unsaved_changes":"en","consent_manager.by_using":"en","consent_manager.agree_on_data_collection":"en","consent_manager.change_preferences":"en","consent_manager.cancel_dialog_title":"en","consent_manager.privacy_policy":"en","consent_manager.allow_category_tracking":"en","consent_manager.disallow_category_tracking":"en"},"translations":{"consent_manager.data_collection_warning":"We use cookies (and other similar technologies) to collect data to improve your shopping experience.","consent_manager.accept_all_cookies":"Accept All Cookies","consent_manager.gdpr_settings":"Settings","consent_manager.data_collection_preferences":"Website Data Collection Preferences","consent_manager.manage_data_collection_preferences":"Manage Website Data Collection Preferences","consent_manager.use_data_by_cookies":" uses data collected by cookies and JavaScript libraries to improve your shopping experience.","consent_manager.data_categories_table":"The table below outlines how we use this data by category. To opt out of a category of data collection, select 'No' and save your preferences.","consent_manager.allow":"Allow","consent_manager.accept":"Accept","consent_manager.deny":"Deny","consent_manager.dismiss":"Dismiss","consent_manager.reject_all":"Reject all","consent_manager.category":"Category","consent_manager.purpose":"Purpose","consent_manager.functional_category":"Functional","consent_manager.functional_purpose":"Enables enhanced functionality, such as videos and live chat. If you do not allow these, then some or all of these functions may not work properly.","consent_manager.analytics_category":"Analytics","consent_manager.analytics_purpose":"Provide statistical information on site usage, e.g., web analytics so we can improve this website over time.","consent_manager.targeting_category":"Targeting","consent_manager.advertising_category":"Advertising","consent_manager.advertising_purpose":"Used to create profiles or personalize content to enhance your shopping experience.","consent_manager.essential_category":"Essential","consent_manager.esential_purpose":"Essential for the site and any requested services to work, but do not perform any additional or secondary function.","consent_manager.yes":"Yes","consent_manager.no":"No","consent_manager.not_available":"N/A","consent_manager.cancel":"Cancel","consent_manager.save":"Save","consent_manager.back_to_preferences":"Back to Preferences","consent_manager.close_without_changes":"You have unsaved changes to your data collection preferences. Are you sure you want to close without saving?","consent_manager.unsaved_changes":"You have unsaved changes","consent_manager.by_using":"By using our website, you're agreeing to our","consent_manager.agree_on_data_collection":"By using our website, you're agreeing to the collection of data as described in our ","consent_manager.change_preferences":"You can change your preferences at any time","consent_manager.cancel_dialog_title":"Are you sure you want to cancel?","consent_manager.privacy_policy":"Privacy Policy","consent_manager.allow_category_tracking":"Allow [CATEGORY_NAME] tracking","consent_manager.disallow_category_tracking":"Disallow [CATEGORY_NAME] tracking"}}`;
655    </script>
655
656
657    
657<script>
658      window.lazySizesConfig = window.lazySizesConfig || {};
659      window.lazySizesConfig.loadMode = 2;
660    </script>
660
661    
661<script
662      async
663      src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.head_async.js"
664    ></script>
664
665
666    <link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400,600%7COswald:400%7CBarlow:700%7CRoboto:700,900&display=swap" rel="stylesheet">
667
668    
668<script async src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.font.js"></script>
668
669
670    <link data-stencil-stylesheet href="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/css/theme-2e6f8bb0-a0c6-013f-040e-0280335ba2c1.css" rel="stylesheet"> <!-- Start Tracking Code for analytics_siteverification -->
671
672<meta name="google-site-verification" content="hMeQwRU5wec8fJuWfsLq2x2wdnJb2tAN6v1BeNHa6kM" />
673
674<!-- End Tracking Code for analytics_siteverification -->
675
676
677<script type="text/javascript" src="https://checkout-sdk.bigcommerce.com/v1/loader.js" defer ></script>
vendor: 1 bytes, line 677
677
678<script type="text/javascript">
679var BCData = {};
680</script>
vendor: 1 bytes, line 680
680
681<script src='https://sdk.helloextend.com/extend-sdk-client/v1/extend-sdk-client.min.js' ></script>
681<script src='https://sdk.helloextend.com/extend-sdk-client-bigcommerce-addon/v1/extend-sdk-client-bigcommerce-addon.min.js' ></script>
681<script>
682    Extend.config({ storeId: '7d25bc8c-caa8-4e5b-b0be-0c079d2e3018', environment: 'production' })
683  </script>
683<script type="text/javascript" id="cookieinfo"
684	src="//cookieinfoscript.com/js/cookieinfo.min.js"
685	data-bg="#3D3B40"
686	data-fg="#FFFFFF"
687	data-link="#40A2E3"
688  data-divlinkbg="#40A2E3"                
689  data-cookie="cookieconsent"
690	data-text-align="left"
691  data-mask=true
692  data-mask-background="#111111"
693  data-mask-opacity="0.8"
694  data-accept-on-scroll=true
695  data-linkmsg="Learn More"
696  data-moreinfo="/privacy-policy/"
697>
698</script>
698<script>  
699window.dataLayer = window.dataLayer || [];      
700</script>
700<script async>
701!function(s) {
702  var o = s.createElement('script'), u = s.getElementsByTagName('script')[0];
703  o.src = 'https://cdn.aggle.net/oir/oir.min.js';
704  o.async = !0, o.setAttribute('oirtyp', '6311ae17'), o.setAttribute('oirid', '92E4910F');
705  u.parentNode.insertBefore(o, u);
706}(document);
707</script>
vendor: 1 bytes, line 707
707
708<script async>
709!function(e) {
710  var t = {  };
711  (e._oirtrk = e._oirtrk || []).push(['track', 'on-site', t]);
712}(window);
713</script>
713<script type="text/javascript">
714!function(){var geq=window.geq=window.geq||[];if(geq.initialize) return;if (geq.invoked){if (window.console && console.error) {console.error("GE snippet included twice.");}return;}geq.invoked = true;geq.methods = ["page", "suppress", "track", "doNotTrack", "trackOrder", "identify", "addToCart", "callBack", "event"];geq.factory = function(method){return function(){var args = Array.prototype.slice.call(arguments);args.unshift(method);geq.push(args);return geq;};};for (var i = 0; i < geq.methods.length; i++) {var key = geq.methods[i];geq[key] = geq.factory(key);} geq.load = function(key){var script = document.createElement("script");script.type = "text/javascript";script.async = true; if (location.href.includes("vge=true")) {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math.random();} else {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";} var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};geq.SNIPPET_VERSION = "1.6.1";
715geq.load("R18H31G9");}();
716</script>
vendor: 1 bytes, line 716
716
717<script>geq.page()</script>
717<script type="text/javascript">
718!function(){var geq=window.geq=window.geq||[];if(geq.initialize) return;if (geq.invoked){if (window.console && console.error) {console.error("GE snippet included twice.");}return;}geq.invoked = true;geq.methods = ["page", "suppress", "track", "doNotTrack", "trackOrder", "identify", "addToCart", "callBack", "event"];geq.factory = function(method){return function(){var args = Array.prototype.slice.call(arguments);args.unshift(method);geq.push(args);return geq;};};for (var i = 0; i < geq.methods.length; i++) {var key = geq.methods[i];geq[key] = geq.factory(key);} geq.load = function(key){var script = document.createElement("script");script.type = "text/javascript";script.async = true; if (location.href.includes("vge=true")) {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math.random();} else {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";} var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};geq.SNIPPET_VERSION = "1.6.1";
719geq.load("R18H31G9");}();
720</script>
vendor: 1 bytes, line 720
720
721<script>geq.suppress()</script>
721<script type="text/javascript">
722    (function(c,l,a,r,i,t,y){
723        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
724        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
725        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
726    })(window, document, "clarity", "script", "vsucc8lxuu");
727</script>
727<script>
728(function () {
729  'use strict';
730
731  if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') return;
732  window.__TP_ATTRIBUTION_BRIDGE__ = 'bc-script';
733  window.__tpTrackingBridgeOwner = 'bc-script';
734
735  var BASE_URL = 'https://attribution.threepiece.us';
736  var VISITOR_COOKIE = 'tp_vid';
737  var SESSION_KEY = 'tp_sid';
738  var PAGE_COUNT_KEY = 'tp_pages_this_session';
739  var COOKIE_DAYS_CLICK = 90;
740  var COOKIE_DAYS_UTM = 30;
741
742  window.dataLayer = window.dataLayer || [];
743
744  function encode(value) {
745    return encodeURIComponent(String(value));
746  }
747
748  function decode(value) {
749    try {
750      return decodeURIComponent(value);
751    } catch (err) {
752      return value;
753    }
754  }
755
756  function getCookie(name) {
757    var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
758    return match ? decode(match[1]) : null;
759  }
760
761  function setCookie(name, value, days) {
762    var expires = new Date(Date.now() + days * 864e5).toUTCString();
763    document.cookie = name + '=' + encode(value) + '; expires=' + expires + '; path=/; SameSite=Lax';
764  }
765
766  function randomId(prefix) {
767    return prefix + Math.random().toString(36).slice(2, 10) + Date.now().toString(36);
768  }
769
770  function ensureVisitorId() {
771    var current = getCookie(VISITOR_COOKIE);
772    if (current) return current;
773    current = randomId('v_');
774    setCookie(VISITOR_COOKIE, current, COOKIE_DAYS_CLICK);
775    return current;
776  }
777
778  function ensureSessionId() {
779    var current = sessionStorage.getItem(SESSION_KEY);
780    if (current) return current;
781    current = randomId('s_');
782    sessionStorage.setItem(SESSION_KEY, current);
783    return current;
784  }
785
786  function getParam(name) {
787    var m = location.search.match(new RegExp('[?&]' + name + '=([^&#]*)'));
788    return m ? decodeURIComponent(m[1].replace(/\+/g, ' ')) : null;
789  }
790
791  function getGaClientId() {
792    var gaCookie = getCookie('_ga');
793    if (!gaCookie) return null;
794    var parts = gaCookie.split('.');
795    return parts.length >= 4 ? parts.slice(-2).join('.') : null;
796  }
797
798  function getGaSessionId() {
799    var cookies = document.cookie.split(';');
800    for (var i = 0; i < cookies.length; i++) {
801      var pair = cookies[i].trim().split('=');
802      var key = pair[0] || '';
803      if (key.indexOf('_ga_') !== 0) continue;
804      var value = decode(pair[1] || '');
805      var pieces = value.split('.');
806      if (pieces.length >= 3) return pieces[2] || null;
807    }
808    return null;
809  }
810
811  function getClickIds() {
812    var mapping = {
813      gclid: '_tp_gclid',
814      fbclid: '_tp_fbclid',
815      ttclid: '_tp_ttclid',
816      msclkid: '_tp_msclkid',
817      li_fat_id: '_tp_li_fat_id',
818      twclid: '_tp_twclid'
819    };
820    var result = {};
821    Object.keys(mapping).forEach(function (key) {
822      var value = getCookie(mapping[key]);
823      if (value) result[key] = value;
824    });
825    return result;
826  }
827
828  function getUtmData() {
829    var keys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id'];
830    var result = {};
831    keys.forEach(function (key) {
832      var value = getCookie('_tp_' + key);
833      if (value) result[key] = value;
834    });
835    return result;
836  }
837
838  function getPlatformIds() {
839    return {
840      fbp: getCookie('_fbp'),
841      fbc: getCookie('_fbc'),
842      ga_client_id: getGaClientId(),
843      ga_session_id: getGaSessionId()
844    };
845  }
846
847  function getPageType() {
848    if (window.BCData && BCData.page_type) return BCData.page_type;
849    if (window.page_type) return window.page_type;
850    if (location.pathname.indexOf('/checkout') === 0) return 'checkout';
851    return 'storefront';
852  }
853
854  function getSnapshot() {
855    return {
856      visitor_id: ensureVisitorId(),
857      session_id: ensureSessionId(),
858      click_ids: getClickIds(),
859      utm_data: getUtmData(),
860      platform_ids: getPlatformIds(),
861      page_type: getPageType(),
862      page_location: location.href,
863      page_path: location.pathname,
864      referrer: document.referrer || null,
865      timestamp: new Date().toISOString()
866    };
867  }
868
869  function buildEventMeta(eventName, overrides) {
870    var snapshot = getSnapshot();
871    var custom = overrides || {};
872    return {
873      event_id: custom.event_id || (eventName + ':' + Date.now() + ':' + Math.random().toString(36).slice(2, 8)),
874      event_time: custom.event_time || snapshot.timestamp,
875      page_type: custom.page_type || snapshot.page_type,
876      page_location: custom.page_location || snapshot.page_location,
877      page_path: custom.page_path || snapshot.page_path,
878      visitor_id: custom.visitor_id || snapshot.visitor_id,
879      session_id: custom.session_id || snapshot.session_id,
880      source: custom.source || 'bc-script'
881    };
882  }
883
884  function postJSON(path, payload) {
885    var url = BASE_URL + path;
886    var body = JSON.stringify(payload);
887
888    if (navigator.sendBeacon) {
889      var blob = new Blob([body], { type: 'application/json' });
890      if (navigator.sendBeacon(url, blob)) return true;
891    }
892
893    if (window.fetch) {
894      window.fetch(url, {
895        method: 'POST',
896        headers: { 'Content-Type': 'application/json' },
897        body: body,
898        credentials: 'include',
899        keepalive: true
900      }).catch(function () {});
901      return true;
902    }
903
904    return false;
905  }
906
907  function identify(userData, source) {
908    if (!userData || (!userData.email && !userData.phone_number && !userData.external_id)) return;
909    postJSON('/v1/identify', {
910      event_meta: buildEventMeta('identify', { source: source || 'bc-script:identify' }),
911      user_data: userData,
912      attribution: getSnapshot()
913    });
914  }
915
916  function pushEvent(eventName, payload) {
917    var snapshot = getSnapshot();
918    var safePayload = payload || {};
919    var eventPayload = {
920      event: eventName,
921      event_meta: buildEventMeta(eventName, safePayload.event_meta),
922      click_ids: snapshot.click_ids,
923      utm_data: snapshot.utm_data,
924      platform_ids: snapshot.platform_ids,
925      user_data: safePayload.user_data || null,
926      ecommerce: safePayload.ecommerce || null,
927      extra: safePayload.extra || null
928    };
929
930    if (safePayload.ecommerce) {
931      window.dataLayer.push({ ecommerce: null });
932    }
933    window.dataLayer.push(eventPayload);
934    return eventPayload;
935  }
936
937  window.__tpTracking = {
938    getCookie: getCookie,
939    setCookie: setCookie,
940    ensureVisitorId: ensureVisitorId,
941    ensureSessionId: ensureSessionId,
942    getAttributionSnapshot: getSnapshot,
943    buildEventMeta: buildEventMeta,
944    postJSON: postJSON,
945    pushEvent: pushEvent,
946    identify: identify
947  };
948
949  var clickIdDefs = [
950    { param: 'gclid', cookie: '_tp_gclid', days: COOKIE_DAYS_CLICK },
951    { param: 'fbclid', cookie: '_tp_fbclid', days: COOKIE_DAYS_CLICK },
952    { param: 'ttclid', cookie: '_tp_ttclid', days: COOKIE_DAYS_CLICK },
953    { param: 'msclkid', cookie: '_tp_msclkid', days: COOKIE_DAYS_CLICK },
954    { param: 'li_fat_id', cookie: '_tp_li_fat_id', days: COOKIE_DAYS_CLICK },
955    { param: 'twclid', cookie: '_tp_twclid', days: COOKIE_DAYS_CLICK }
956  ];
957  var utmDefs = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id'];
958  var clickIds = {};
959  var utmData = {};
960  var freshClickFound = false;
961  var emailFromUrl = getParam('email') || getParam('_ke') || getCookie('_tp_email_from_url') || '';
962  var maxScroll = 0;
963  var pageCount = parseInt(sessionStorage.getItem(PAGE_COUNT_KEY) || '0', 10) + 1;
964
965  sessionStorage.setItem(PAGE_COUNT_KEY, String(pageCount));
966  ensureVisitorId();
967  ensureSessionId();
968
969  clickIdDefs.forEach(function (def) {
970    var fresh = getParam(def.param);
971    if (fresh) {
972      setCookie(def.cookie, fresh, def.days);
973      clickIds[def.param] = fresh;
974      freshClickFound = true;
975    } else {
976      var stored = getCookie(def.cookie);
977      if (stored) clickIds[def.param] = stored;
978    }
979  });
980
981  utmDefs.forEach(function (key) {
982    var fresh = getParam(key);
983    if (fresh) {
984      setCookie('_tp_' + key, fresh, COOKIE_DAYS_UTM);
985      utmData[key] = fresh;
986    } else {
987      var stored = getCookie('_tp_' + key);
988      if (stored) utmData[key] = stored;
989    }
990  });
991
992  if (emailFromUrl) {
993    setCookie('_tp_email_from_url', emailFromUrl, COOKIE_DAYS_CLICK);
994  }
995
996  pushEvent('tracking_context', {
997    event_meta: { source: 'bc-script:tracking-context' },
998    extra: { email_from_url: emailFromUrl || null }
999  });
1000
1001  if (freshClickFound || emailFromUrl) {
1002    postJSON('/v1/click-ids', {
1003      click_ids: clickIds,
1004      utm_data: utmData,
1005      email_from_url: emailFromUrl || null,
1006      page_url: location.href,
1007      referrer: document.referrer || null,
1008      timestamp: new Date().toISOString()
1009    });
1010  }
1011
1012  function updateScroll() {
1013    var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
1014    var docHeight = Math.max(
1015      document.body.scrollHeight,
1016      document.documentElement.scrollHeight
1017    ) - window.innerHeight;
1018    if (docHeight <= 0) return;
1019    var percent = Math.round((scrollTop / docHeight) * 100);
1020    if (percent > maxScroll) maxScroll = percent;
1021  }
1022
1023  function trackVisit() {
1024    var snapshot = getSnapshot();
1025    postJSON('/v1/visits', {
1026      event_meta: buildEventMeta('page_visit', { source: 'bc-script:visit' }),
1027      page: {
1028        location: snapshot.page_location,
1029        path: snapshot.page_path,
1030        referrer: snapshot.referrer,
1031        page_type: snapshot.page_type
1032      },
1033      attribution: snapshot,
1034      visit_metrics: {
1035        pages_this_session: pageCount,
1036        scroll_depth: maxScroll,
1037        screen_resolution: screen.width + 'x' + screen.height,
1038        timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
1039        user_agent: navigator.userAgent
1040      }
1041    });
1042  }
1043
1044  var originalPush = window.dataLayer.push;
1045  window.dataLayer.push = function () {
1046    for (var i = 0; i < arguments.length; i++) {
1047      var entry = arguments[i];
1048      if (entry && entry.user_data) {
1049        identify(entry.user_data, 'bc-script:data-layer');
1050      }
1051    }
1052    return originalPush.apply(window.dataLayer, arguments);
1053  };
1054
1055  for (var i = window.dataLayer.length - 1; i >= 0; i--) {
1056    var existing = window.dataLayer[i];
1057    if (existing && existing.user_data) {
1058      identify(existing.user_data, 'bc-script:existing-data-layer');
1059      break;
1060    }
1061  }
1062
1063  window.addEventListener('scroll', updateScroll, { passive: true });
1064
1065  if (document.readyState === 'complete') {
1066    setTimeout(trackVisit, 1500);
1067  } else {
1068    window.addEventListener('load', function () {
1069      setTimeout(trackVisit, 1500);
1070    });
1071  }
1072})();
1073</script>
vendor: 1 bytes, line 1073
1073
1074<script type="text/javascript">
1075!function(){var geq=window.geq=window.geq||[];if(geq.initialize) return;if (geq.invoked){if (window.console && console.error) {console.error("GE snippet included twice.");}return;}geq.invoked = true;geq.methods = ["page", "suppress", "track", "doNotTrack", "trackOrder", "identify", "addToCart", "callBack", "event"];geq.factory = function(method){return function(){var args = Array.prototype.slice.call(arguments);args.unshift(method);geq.push(args);return geq;};};for (var i = 0; i < geq.methods.length; i++) {var key = geq.methods[i];geq[key] = geq.factory(key);} geq.load = function(key){var script = document.createElement("script");script.type = "text/javascript";script.async = true; if (location.href.includes("vge=true")) {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math.random();} else {script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";} var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};geq.SNIPPET_VERSION = "1.6.1";
1076geq.load("R18H31G9");}();
1077</script>
1077<script>
1078/* TP chat opt-in take-over (2026-09-28, email rebuild item 9, Jake-approved).
1079   Tells the old control-panel chat script to stand down, so the opt-in version
1080   ("TP Live Chat Opt-in v2", footer) is the only chat that renders.
1081   Undo: disable BOTH this script and the footer one; the old chat returns by itself. */
1082window.__TP_LIVE_CHAT_LOADED__ = 'optin-v2';
1083</script>
vendor: 1 bytes, line 1083
1083
1084<script>
1085/* TP Klaviyo tracking repair (2026-09-28, email rebuild item 5, Jake-approved).
1086   The control-panel Klaviyo snippets send "Viewed Product" on every page (blank
1087   off product pages) and send the Add-to-Cart button instead of the product.
1088   This sits in front of window._learnq.push:
1089   - ['track','Viewed Product',x] / ['trackViewedItem',x] with no product id: dropped
1090   - ['track','Added to Cart',<not a product>]: rebuilt from window.item, or dropped
1091     when the page has no product
1092   - everything else passes through untouched, return value included.
1093   Keeps working when Klaviyo's script takes over _learnq or its push.
1094   Undo: disable this script. */
1095(function () {
1096  'use strict';
1097  var W = window, DROP = {};
1098  if (W.__TP_KL_FILTER__) return;
1099  W.__TP_KL_FILTER__ = '2026-09-28';
1100  function s(v) { return v == null ? '' : String(v).replace(/^\s+|\s+$/g, ''); }
1101  function isObj(v) { return !!v && typeof v === 'object' && typeof v.nodeType !== 'number'; }
1102  function isArr(v) { return Object.prototype.toString.call(v) === '[object Array]'; }
1103  function cartItem() {
1104    var it = W.item;
1105    if (!isObj(it) || !s(it.ProductID)) return null;
1106    return { Name: it.Name, ProductID: it.ProductID, URL: it.URL, ImageURL: it.ImageURL,
1107      Brand: it.Brand, Categories: it.Categories, Price: it.Price, $value: parseFloat(it.Price) || 0 };
1108  }
1109  function fix(a) {
1110    try {
1111      if (!isArr(a)) return a;
1112      if (a[0] === 'trackViewedItem') return isObj(a[1]) && s(a[1].ItemId) ? a : DROP;
1113      if (a[0] !== 'track') return a;
1114      if (a[1] === 'Viewed Product') return isObj(a[2]) && s(a[2].ProductID) ? a : DROP;
1115      if (a[1] === 'Added to Cart') {
1116        if (isObj(a[2]) && s(a[2].ProductID)) return a;
1117        var c = cartItem(), b;
1118        if (!c) return DROP;
1119        b = a.slice(); b[2] = c;
1120        return b;
1121      }
1122    } catch (e) {}
1123    return a;
1124  }
1125  function wrap(q) {
1126    if (!q || typeof q !== 'object' || q.__tpKlWrapped) return q;
1127    var inner = q.push;
1128    function push() {
1129      var out = [], i, r;
1130      for (i = 0; i < arguments.length; i++) { r = fix(arguments[i]); if (r !== DROP) out.push(r); }
1131      if (!out.length) return undefined;
1132      return (typeof inner === 'function' ? inner : Array.prototype.push).apply(q, out);
1133    }
1134    try {
1135      Object.defineProperty(q, 'push', { configurable: true, enumerable: false,
1136        get: function () { return push; }, set: function (f) { inner = f; } });
1137      Object.defineProperty(q, '__tpKlWrapped', { value: true });
1138    } catch (e) {}
1139    return q;
1140  }
1141  var cur = wrap(W._learnq || []);
1142  try {
1143    Object.defineProperty(W, '_learnq', { configurable: true, enumerable: true,
1144      get: function () { return cur; }, set: function (v) { cur = wrap(v); } });
1145  } catch (e) { W._learnq = cur; }
1146})();
1147</script>
1147
1148
1149 
1149<script data-cfasync="false" src="https://microapps.bigcommerce.com/bodl-events/1.9.4/index.js" integrity="sha256-Y0tDj1qsyiKBRibKllwV0ZJ1aFlGYaHHGl/oUFoXJ7Y=" nonce="" crossorigin="anonymous"></script>
1149
1150 
1150<script data-cfasync="false" nonce="">
1151
1152 (function() {
1153    function decodeBase64(base64) {
1154       const text = atob(base64);
1155       const length = text.length;
1156       const bytes = new Uint8Array(length);
1157       for (let i = 0; i < length; i++) {
1158          bytes[i] = text.charCodeAt(i);
1159       }
1160       const decoder = new TextDecoder();
1161       return decoder.decode(bytes);
1162    }
1163    window.bodl = JSON.parse(decodeBase64("eyJzZXNzaW9uIjp7ImlkIjoiMDdiNGIwYmEtZDVhNS00ZGJjLWEyZTItZmY1ZmZlODI2ZWRlIiwiZmlyc3RfdG91Y2hfdGltZXN0YW1wIjoiMjAyNi0xMC0wNFQwNDowOToyNCIsImZpcnN0X3RvdWNoX3JlZmVycmFsX3VybCI6IiIsImZpcnN0X3RvdWNoX3JlcXVlc3RfdXJsIjoiaHR0cHM6Ly93d3cudGhyZWVwaWVjZS51cy9zaG9wLyJ9LCJzaG9wcGVyIjp7InZpc2l0b3JfaWQiOiIiLCJjdXN0b21lcl9pZCI6bnVsbCwiZW1haWwiOm51bGwsImZpcnN0X25hbWUiOm51bGwsImxhc3RfbmFtZSI6bnVsbH0sImRhdGFfY29uc2VudCI6eyJmdW5jdGlvbmFsIjp0cnVlLCJhbmFseXRpY3MiOnRydWUsImFkdmVydGlzaW5nIjp0cnVlfSwiZXZlbnRzIjpbeyJib2RsX3YxX3Byb2R1Y3RfY2F0ZWdvcnlfdmlld2VkIjp7ImV2ZW50X2lkIjoiMDFkNDk4YTAtZTRhOC00NjY3LTkzZWQtN2UyOTdmZDcxYTFiIiwiY2hhbm5lbF9pZCI6MSwiY2F0ZWdvcnlfaWQiOjczMzcsImNhdGVnb3J5X25hbWUiOiJTaG9wIiwibGluZV9pdGVtcyI6W3sicHJvZHVjdF9pZCI6Ijc4NTc0OCIsInNrdSI6IlZSMDcxNTgwOEgwQksiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJWb3JzIFZSNyA0eDEwMC80eDExNC4zIDE1eDggICswIEFsbCBCbGFjayBHb2xkIFJpdmV0IiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6MTY1LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjYwLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjAsImJyYW5kX25hbWUiOiJWb3JzIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6Ijc4NTY2NyIsInNrdSI6IlZSMDIxNTgwNDAwMjBTIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiVm9ycyBWUjIgNHgxMDAgMTV4OCAgKzIwIFNpbHZlciBNYWNoaW5lIEZhY2UgTGlwIENocm9tZSBSaXZldCIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjE2NS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjozMywiZGlzY291bnQiOm51bGwsImNvdXBvbl9hbW91bnQiOm51bGwsImluZGV4IjoxLCJicmFuZF9uYW1lIjoiVm9ycyIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiI3ODUyNzgiLCJza3UiOiJUUjA0MTk5NTUxNDIySEItNTEyIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiVm9ycyBUUjQgNXgxMTIgMTl4OS41ICArMjIgSHlwZXIgQmxhY2siLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjoyODguNTUsInNhbGVfcHJpY2UiOjI4OC41NSwiYmFzZV9wcmljZSI6MjkwLjAsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjYwLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjIsImJyYW5kX25hbWUiOiJWb3JzIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6Ijc4NTIxNSIsInNrdSI6IlRSMDQxODk1NTE0MzVXIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiVm9ycyBUUjQgNXgxMTQuMyAxOHg5LjUgICszNSBXaGl0ZSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjIzNS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5Ijo2MCwiZGlzY291bnQiOm51bGwsImNvdXBvbl9hbW91bnQiOm51bGwsImluZGV4IjozLCJicmFuZF9uYW1lIjoiVm9ycyIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiI3ODUxNTkiLCJza3UiOiJUUjA0MTg4NTUxNDM1VyIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IlZvcnMgVFI0IDV4MTE0LjMgMTh4OC41ICArMzUgV2hpdGUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjoyNjMuNjgsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjYwLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjQsImJyYW5kX25hbWUiOiJWb3JzIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6Ijc1NjM3MyIsInNrdSI6IkRTMjE5MTE1MTE0MjJWVyIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkFvZGhhbiBEUzAyIDV4MTE0LjMgMTl4MTErMjIgVmFjdXVtIENocm9tZSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjMzNy4yNSwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6NjQsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6NSwiYnJhbmRfbmFtZSI6IkFvZGhhbiIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiI3NTYzMTciLCJza3UiOiJEUzIxODg1NTExNDM1SEIiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJBb2RoYW4gRFMwMiA1eDExNC4zIDE4eDguNSszNSBIeXBlciBCbGFjayIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjI0OC41LCJzYWxlX3ByaWNlIjoyNDguNSwiYmFzZV9wcmljZSI6MjQ5Ljc1LCJyZXRhaWxfcHJpY2UiOjI0OS43NSwicXVhbnRpdHkiOjE2LCJkaXNjb3VudCI6MS4yNSwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjYsImJyYW5kX25hbWUiOiJBb2RoYW4iLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY4NiIsInNrdSI6IkJVU0hJRE9NNTEyMDE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMjAgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbW
1163UiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6NywiYnJhbmRfbmFtZSI6Ikhlcml0YWdlIFdoZWVsIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6IjExMTk2ODQiLCJza3UiOiJCVVNISURPTTUxMjAxODk1MzhDSFIiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJIRVJJVEFHRSBXSEVFTCBCVVNISURPIE1PTk9DIDV4MTIwIDE4eDkuNSArMzggQ0hST01FIiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6Mzk5LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjIsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6OCwiYnJhbmRfbmFtZSI6Ikhlcml0YWdlIFdoZWVsIiwiY2F0ZWdvcnlfbmFtZXMiOlsiU2hvcCJdLCJjdXJyZW5jeSI6IlVTRCJ9LHsicHJvZHVjdF9pZCI6IjExMTk2ODAiLCJza3UiOiJCVVNISURPTTUxMTUxODk1MTJDSFIiLCJ2YXJpYW50X2lkIjpudWxsLCJwcm9kdWN0X25hbWUiOiJIRVJJVEFHRSBXSEVFTCBCVVNISURPIE1PTk9DIDV4MTE1IDE4eDkuNSArMTIgQ0hST01FIiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6Mzk5LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjI2LCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjksImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5Njc4Iiwic2t1IjoiQlVTSElET001MTE1MTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDExNSAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjEwLCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY3NCIsInNrdSI6IkJVU0hJRE9NNTExMjE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMTIgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTEsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjcyIiwic2t1IjoiQlVTSElET001MTEyMTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDExMiAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjEyLCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY2OCIsInNrdSI6IkJVU0hJRE9NNTExMDE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMTAgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTMsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjY2Iiwic2t1IjoiQlVTSElET001MTEwMTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDExMCAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjE0LCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY2MiIsInNrdSI6IkJVU0hJRE9NNTEwODE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMDggMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbW
1163UiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjYsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTUsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjYwIiwic2t1IjoiQlVTSElET001MTA4MTg5NTM4Q0hSIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDEwOCAxOHg5LjUgKzM4IENIUk9NRSIsImdpZnRfY2VydGlmaWNhdGVfaWQiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfbmFtZSI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV90aGVtZSI6bnVsbCwicHVyY2hhc2VfcHJpY2UiOjM5OS4wLCJzYWxlX3ByaWNlIjpudWxsLCJiYXNlX3ByaWNlIjpudWxsLCJyZXRhaWxfcHJpY2UiOm51bGwsInF1YW50aXR5IjoyLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjE2LCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY1NiIsInNrdSI6IkJVU0hJRE9NNTEwNTE4OTUxMkNIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMDUgMTh4OS41ICsxMiBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjIsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTcsImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifSx7InByb2R1Y3RfaWQiOiIxMTE5NjU1Iiwic2t1IjoiQlVTSElET001MTA1MTg5NTEyV0hUIiwidmFyaWFudF9pZCI6bnVsbCwicHJvZHVjdF9uYW1lIjoiSEVSSVRBR0UgV0hFRUwgQlVTSElETyBNT05PQyA1eDEwNSAxOHg5LjUgKzEyIFdISVRFIiwiZ2lmdF9jZXJ0aWZpY2F0ZV9pZCI6bnVsbCwiZ2lmdF9jZXJ0aWZpY2F0ZV9uYW1lIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX3RoZW1lIjpudWxsLCJwdXJjaGFzZV9wcmljZSI6MzM5LjAsInNhbGVfcHJpY2UiOm51bGwsImJhc2VfcHJpY2UiOm51bGwsInJldGFpbF9wcmljZSI6bnVsbCwicXVhbnRpdHkiOjIxLCJkaXNjb3VudCI6bnVsbCwiY291cG9uX2Ftb3VudCI6bnVsbCwiaW5kZXgiOjE4LCJicmFuZF9uYW1lIjoiSGVyaXRhZ2UgV2hlZWwiLCJjYXRlZ29yeV9uYW1lcyI6WyJTaG9wIl0sImN1cnJlbmN5IjoiVVNEIn0seyJwcm9kdWN0X2lkIjoiMTExOTY1NCIsInNrdSI6IkJVU0hJRE9NNTEwNTE4OTUzOENIUiIsInZhcmlhbnRfaWQiOm51bGwsInByb2R1Y3RfbmFtZSI6IkhFUklUQUdFIFdIRUVMIEJVU0hJRE8gTU9OT0MgNXgxMDUgMTh4OS41ICszOCBDSFJPTUUiLCJnaWZ0X2NlcnRpZmljYXRlX2lkIjpudWxsLCJnaWZ0X2NlcnRpZmljYXRlX25hbWUiOm51bGwsImdpZnRfY2VydGlmaWNhdGVfdGhlbWUiOm51bGwsInB1cmNoYXNlX3ByaWNlIjozOTkuMCwic2FsZV9wcmljZSI6bnVsbCwiYmFzZV9wcmljZSI6bnVsbCwicmV0YWlsX3ByaWNlIjpudWxsLCJxdWFudGl0eSI6MjAsImRpc2NvdW50IjpudWxsLCJjb3Vwb25fYW1vdW50IjpudWxsLCJpbmRleCI6MTksImJyYW5kX25hbWUiOiJIZXJpdGFnZSBXaGVlbCIsImNhdGVnb3J5X25hbWVzIjpbIlNob3AiXSwiY3VycmVuY3kiOiJVU0QifV19fV19"));
1164 })()
1165
1166 </script>
1166
1167
1168<script nonce="">
1169(function () {
1170    var xmlHttp = new XMLHttpRequest();
1171    
1172    xmlHttp.open('POST', 'https://bes.gcp.data.bigcommerce.com/nobot');
1173    xmlHttp.setRequestHeader('Content-Type', 'application/json');
1174    xmlHttp.send('{"store_id":"846354","timezone_offset":"-8.0","timestamp":"2026-10-04T04:09:24.58240500Z","visit_id":"428693f4-d3c0-4dbe-872b-10387ceb56fd","channel_id":1}');
1175})();
1176</script>
1176
1177 
1178
1179    
1179<script>
1180      var theme_settings = {
1181          show_fast_cart: true,
1182          linksPerCol: 10,
1183      };
1184    </script>
1184 
1185    <link
1186      rel="preload"
1187      href="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.main.js"
1188      as="script"
1189    />
1190    <link
1191      rel="stylesheet"
1192      href="https://www.katapult.com/plugin/css/katapult.css"
1193      media="print"
1194      onload="this.media='all'"
1195    />
1196    <noscript><link rel="stylesheet" href="https://www.katapult.com/plugin/css/katapult.css"></noscript>
1197  </head>
1198  <body>
1199    
1200    <svg
1201      data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/icon-sprite.svg"
1202      class="icons-svg-sprite"
1203    ></svg>
1204
1205    <div class="announcementBar" aria-label="Store announcements">
1206    <div class="announcementBar-track">
1207        <span class="announcementBar-msg">Free Shipping on All Wheel &amp; Tire Packages</span>
1208        <span class="announcementBar-msg">Authorized Dealer &mdash; 100% Genuine Wheels</span>
1209        <span class="announcementBar-msg">Price Match Guarantee on All Products</span>
1210        <span class="announcementBar-msg">Expert Fitment Support &mdash; 10,000+ Customers Served</span>
1211        <span class="announcementBar-msg"><a href="/financing/">Pay Over Time with Affirm &mdash; 0% APR Available</a></span>
1212    </div>
1213</div>
1214<style>
1215.announcementBar {
1216    background: #1a1a1a;
1217    overflow: hidden;
1218    height: 32px;
1219    line-height: 32px;
1220    text-align: center;
1221    position: relative;
1222}
1223.announcementBar-track {
1224    display: flex;
1225    animation: announcementRotate 25s infinite;
1226    flex-direction: column;
1227    height: 100%;
1228}
1229.announcementBar-msg {
1230    color: #d4af37;
1231    font-size: 0.75rem;
1232    font-weight: 600;
1233    letter-spacing: 1px;
1234    text-transform: uppercase;
1235    white-space: nowrap;
1236    height: 32px;
1237    line-height: 32px;
1238    flex-shrink: 0;
1239}
1240.announcementBar-msg a {
1241    color: inherit;
1242    text-decoration: none;
1243}
1244@keyframes announcementRotate {
1245    0%, 16%   { transform: translateY(0); }
1246    20%, 36%  { transform: translateY(-32px); }
1247    40%, 56%  { transform: translateY(-64px); }
1248    60%, 76%  { transform: translateY(-96px); }
1249    80%, 96%  { transform: translateY(-128px); }
1250    100%      { transform: translateY(-160px); }
1251}
1252</style>
1253<div class="phoneBanner">
1254    <a href="tel:8135355801" class="phoneBanner-link">
1255        QUESTIONS? CALL OR TEXT OUR TEAM <strong>813-535-5801</strong>
1256    </a>
1257</div>
1258<style>
1259.phoneBanner {
1260    background-color: #000;
1261    text-align: center;
1262    padding: 8px 16px;
1263    min-height: 38px; /* Prevent CLS - reserves space before text renders */
1264}
1265.phoneBanner-link {
1266    color: #fff;
1267    text-decoration: none;
1268    font-size: 0.85rem;
1269    font-weight: 500;
1270    letter-spacing: 0.5px;
1271}
1272.phoneBanner-link strong {
1273    font-weight: 700;
1274}
1275.phoneBanner-link:hover {
1276    text-decoration: underline;
1277    color: #fff;
1278}
1279</style>
1280<header class="header" role="banner">
1281    <button class="mobileMenu-toggle" data-mobile-menu-toggle="menu" aria-label="Open navigation menu" aria-expanded="false" aria-controls="menu">
1282        <span class="mobileMenu-toggleIcon" aria-hidden="true"></span>
1283    </button>
1284
1285    <div class="header-logo--wrap">
1286        <div class="header-logo">
1287            
1288            <div class="logo-and-toggle">
1289                <div class="desktopMenu-toggle">
1290                    <button class="mobileMenu-toggle" aria-label="Open navigation menu" aria-expanded="false" aria-controls="menu">
1291                        <span class="mobileMenu-toggleIcon" aria-hidden="true"></span>
1292                    </button>
1293                </div>
1294                
1295                <div class="logo-wrap"><a href="https://www.threepiece.us/" class="header-logo__link" data-header-logo-link aria-label="ThreePiece.us - Custom Wheels and Performance Rims Specialists">
1296        <div class="header-logo-image-container">
1297            <img class="header-logo-image"
1298                 src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/100x45/threepiece-logo_1713917723__25054.original.png"
1299                 srcset="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/100x45/threepiece-logo_1713917723__25054.original.png 1x, https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/200x90/threepiece-logo_1713917723__25054.original.png 2x"
1300                 alt="ThreePiece.us - Premium Custom Wheels, Performance Rims & Tire Packages - Work Wheels, SSR, Weds, Volk Racing Specialists"
1301                 title="ThreePiece.us - Custom Wheels & Performance Rims Since 2014">
1302        </div>
1303</a>
1304</div>
1305            </div>
1306            
1307            <div class="quickSearchWrap" id="quickSearch" aria-hidden="true" tabindex="-1" data-prevent-quick-search-close>
1308                <div>
1309    <!-- snippet location forms_search -->
1310    <form class="form" action="https://www.threepiece.us/search.php" role="search" aria-label="Site search">
1311        <fieldset class="form-fieldset">
1312            <div class="form-field">
1313                <label class="is-srOnly" for="search_query">Search</label>
1314                <input class="form-input" data-search-quick name="search_query" id="search_query" data-error-message="Search field cannot be empty." placeholder="What are you looking for?" autocomplete="off">
1315                <button type="submit" class="form-button" aria-label="Search">
1316                    <i class="icon" aria-hidden="true">
1317                        <svg><use xlink:href="#icon-search" /></svg>
1318                    </i>
1319                </button>
1320            </div>
1321        </fieldset>
1322    </form>
1323    <section class="quickSearchResults" data-bind="html: results"></section>
1324    <p role="status"
1325       aria-live="polite"
1326       class="aria-description--hidden"
1327       data-search-aria-message-predefined-text="product results for"
1328    ></p>
1329</div>
1330            </div>
1331            <div class="navUser-wrap">
1332                <nav class="navUser" aria-label="User account and cart">
1333    <ul class="navUser-section navUser-section--alt">
1334        <li class="navUser-item navUser-item--account">
1335            <i class="icon" aria-hidden="true">
1336                <svg><use xlink:href="#icon-user" /></svg>
1337            </i>
1338                <a class="navUser-action"
1339                   href="https://www.threepiece.us/login.php"
1340                   aria-label="Sign in"
1341                >
1342                    Sign in
1343                </a>
1344                    <span>or</span> <a class="navUser-action" href="https://www.threepiece.us/login.php?action&#x3D;create_account">Register</a>
1345        </li>
1346                <li class="navUser-item navUser-item--mobile-search">
1347            <i class="icon" aria-hidden="true">
1348                <svg><use xlink:href="#icon-search" /></svg>
1349            </i>
1350        </li>
1351        <li class="navUser-item navUser-item--cart">
1352            <a
1353                class="navUser-action"
1354                data-cart-preview
1355                data-dropdown="cart-preview-dropdown"
1356                data-options="align:right"
1357                href="https://www.threepiece.us/cart.php"
1358                aria-label="Cart with 0 items"
1359            >
1360                <i class="icon" aria-hidden="true">
1361                    <svg><use xlink:href="#icon-cart" /></svg>
1362                </i>
1363                (<span class=" cart-quantity"></span>)
1364            </a>
1365
1366            <div class="dropdown-menu" id="cart-preview-dropdown" data-dropdown-content aria-hidden="true"></div>
1367        </li>
1368    </ul>
1369</nav>
1370            </div>
1371        </div>
1372    </div>
1373
1374    <div class="navPages-container" id="menu" data-menu>
1375        <button class="mobile-closeNav" aria-label="Close navigation menu">
1376    <i class="icon" aria-hidden="true">
1377        <svg><use xlink:href="#icon-close-large" /></svg>
1378    </i>
1379    <span class="sr-only">Close</span>
1380</button>
1381<nav class="navPages" aria-label="Main menu">
1382    <ul class="navPages-list navPages-list--user 5765697a656e20596f756e67">
1383            <li class="navPages-item">
1384                <i class="icon" aria-hidden="true">
1385                    <svg><use xlink:href="#icon-user" /></svg>
1386                </i>
1387                <a class="navPages-action" href="https://www.threepiece.us/login.php">Sign in</a>
1388                    or
1389                    <a class="navPages-action"
1390                       href="https://www.threepiece.us/login.php?action&#x3D;create_account"
1391                       aria-label="Register"
1392                    >
1393                        Register
1394                    </a>
1395            </li>
1396    </ul>
1397    <ul class="navPages-list navPages-mega navPages-mainNav">
1398            <li class="navPages-item" >
1399                <a class="navPages-action"
1400   href="https://www.threepiece.us/custom-wheel-tire-package-builder/"
1401   aria-label="Custom Wheel &amp; Tire Package Builder"
1402>
1403    Custom Wheel &amp; Tire Package Builder
1404</a>
1405            </li>
1406            <li class="navPages-item" >
1407                <a class="navPages-action has-subMenu activePage"
1408   href="https://www.threepiece.us/shop/"
1409   data-collapsible="navPages-7337"
1410>
1411    Shop
1412    <i class="icon navPages-action-moreIcon" aria-hidden="true">
1413        <svg><use xlink:href="#icon-chevron-down" /></svg>
1414    </i>
1415</a>
1416<div class="column-menu navPage-subMenu" id="navPages-7337" aria-hidden="true" tabindex="-1">
1417    <ul class="navPage-subMenu-list">
1418            <li class="navPage-subMenu-item">
1419                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1420                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/best-deals/">BEST DEALS</a>
1421            </li>
1422            <li class="navPage-subMenu-item">
1423                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1424                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/exhaust">Exhaust</a>
1425            </li>
1426            <li class="navPage-subMenu-item">
1427                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1428                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/shop/lifestyle/">Lifestyle</a>
1429            </li>
1430            <li class="navPage-subMenu-item">
1431                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1432                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/new-wheels">Wheels</a>
1433            </li>
1434            <li class="navPage-subMenu-item">
1435                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1436                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/tires/">Tires</a>
1437            </li>
1438            <li class="navPage-subMenu-item">
1439                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1440                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/suspension/">Suspension</a>
1441            </li>
1442            <li class="navPage-subMenu-item">
1443                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1444                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/brakes/">Brakes</a>
1445            </li>
1446            <li class="navPage-subMenu-item">
1447                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1448                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/exterior/">Exterior</a>
1449            </li>
1450            <li class="navPage-subMenu-item">
1451                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1452                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/wheel-accessories/">Wheel Parts</a>
1453            </li>
1454            <li class="navPage-subMenu-item">
1455                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1456                <a class="navPage-subMenu-action navPages-action" href="https://www.threepiece.us/sale/">SALE</a>
1457            </li>
1458    </ul>
1459</div>
1460            </li>
1461                <li class="navPages-item">
1462                    <a class="navPages-action has-subMenu "
1463                    href="/brands"
1464                    data-collapsible="navPages-7337"
1465                    >
1466                        Brands
1467                        <i class="icon navPages-action-moreIcon" aria-hidden="true">
1468                        <svg><use xlink:href="#icon-chevron-down" /></svg>
1469                        </i>
1470                    </a>
1471
1472                    <div class="column-menu navPage-subMenu" id="navPages-7337" aria-hidden="true" tabindex="-1">
1473                        <ul class="navPage-subMenu-list">
1474                            <li class="navPage-subMenu-item">
1475                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1476                                <a class="navPage-subMenu-action navPages-action activePage" href="/brands">All Brands</a>
1477                            </li>
1478                            <li class="navPage-subMenu-item">
1479                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1480                                <a class="navPage-subMenu-action navPages-action activePage" href="/brands/wheels">Wheels</a>
1481                            </li>
1482                            <li class="navPage-subMenu-item">
1483                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1484                                <a class="navPage-subMenu-action navPages-action activePage" href="/brands/tires">Tires</a>
1485                            </li>
1486                        </ul>
1487                    </div>
1488                </li>
1489            <li class="navPages-item" >
1490                <a class="navPages-action"
1491   href="https://www.threepiece.us/heritage-wheel/"
1492   aria-label="Heritage Wheel"
1493>
1494    Heritage Wheel
1495</a>
1496            </li>
1497            <li class="navPages-item" >
1498                <a class="navPages-action"
1499   href="https://www.threepiece.us/mounted-packages/"
1500   aria-label="Wheel &amp; Tire Packages"
1501>
1502    Wheel &amp; Tire Packages
1503</a>
1504            </li>
1505            <li class="navPages-item"  style="display:none;" >
1506                <a class="navPages-action"
1507   href="https://www.threepiece.us/finish-your-installation-kit/"
1508   aria-label="Finish Your Installation Kit"
1509>
1510    Finish Your Installation Kit
1511</a>
1512            </li>
1513        <li class="navPages-item navPages-item--fitment">
1514            <a class="navPages-action has-subMenu" href="/new-wheels" data-collapsible="navPages-fitment">
1515                Shop by Fitment
1516                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-down" /></svg></i>
1517            </a>
1518            <div class="column-menu navPage-subMenu" id="navPages-fitment" aria-hidden="true" tabindex="-1">
1519                <ul class="navPage-subMenu-list">
1520                            <li class="navPage-subMenu-item">
1521                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1522                                <a class="navPage-subMenu-action navPages-action" href="/5x114-3-wheels/">5x114.3 wheels</a>
1523                            </li>
1524                            <li class="navPage-subMenu-item">
1525                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1526                                <a class="navPage-subMenu-action navPages-action" href="/5x120-bolt-pattern-wheels/">5x120 wheels</a>
1527                            </li>
1528                            <li class="navPage-subMenu-item">
1529                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1530                                <a class="navPage-subMenu-action navPages-action" href="/5x112-bolt-pattern-wheels/">5x112 wheels</a>
1531                            </li>
1532                            <li class="navPage-subMenu-item">
1533                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1534                                <a class="navPage-subMenu-action navPages-action" href="/5x100-bolt-pattern-wheels/">5x100 wheels</a>
1535                            </li>
1536                            <li class="navPage-subMenu-item">
1537                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1538                                <a class="navPage-subMenu-action navPages-action" href="/5x115-wheels/">5x115 wheels</a>
1539                            </li>
1540                            <li class="navPage-subMenu-item">
1541                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1542                                <a class="navPage-subMenu-action navPages-action" href="/5x108-bolt-pattern-wheels/">5x108 wheels</a>
1543                            </li>
1544                            <li class="navPage-subMenu-item">
1545                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1546                                <a class="navPage-subMenu-action navPages-action" href="/4x100-wheels/">4x100 wheels</a>
1547                            </li>
1548                            <li class="navPage-subMenu-item">
1549                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1550                                <a class="navPage-subMenu-action navPages-action" href="/6x139-7-wheels/">6x139.7 wheels</a>
1551                            </li>
1552                            <li class="navPage-subMenu-item">
1553                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1554                                <a class="navPage-subMenu-action navPages-action" href="/6x135-bolt-pattern-wheels/">6x135 wheels</a>
1555                            </li>
1556                            <li class="navPage-subMenu-item">
1557                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1558                                <a class="navPage-subMenu-action navPages-action" href="/15-inch-wheels/">15 inch wheels</a>
1559                            </li>
1560                            <li class="navPage-subMenu-item">
1561                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1562                                <a class="navPage-subMenu-action navPages-action" href="/16-inch-wheels/">16 inch wheels</a>
1563                            </li>
1564                            <li class="navPage-subMenu-item">
1565                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1566                                <a class="navPage-subMenu-action navPages-action" href="/17-inch-wheels/">17 inch wheels</a>
1567                            </li>
1568                            <li class="navPage-subMenu-item">
1569                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1570                                <a class="navPage-subMenu-action navPages-action" href="/18-inch-wheels/">18 inch wheels</a>
1571                            </li>
1572                            <li class="navPage-subMenu-item">
1573                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1574                                <a class="navPage-subMenu-action navPages-action" href="/19-inch-wheels/">19 inch wheels</a>
1575                            </li>
1576                            <li class="navPage-subMenu-item">
1577                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /
1577></svg></i>
1578                                <a class="navPage-subMenu-action navPages-action" href="/20-inch-wheels/">20 inch wheels</a>
1579                            </li>
1580                            <li class="navPage-subMenu-item">
1581                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1582                                <a class="navPage-subMenu-action navPages-action" href="/21-inch-wheels/">21 inch wheels</a>
1583                            </li>
1584                            <li class="navPage-subMenu-item">
1585                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1586                                <a class="navPage-subMenu-action navPages-action" href="/22-inch-wheels/">22 inch wheels</a>
1587                            </li>
1588                            <li class="navPage-subMenu-item">
1589                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1590                                <a class="navPage-subMenu-action navPages-action" href="/24-inch-wheels/">24 inch wheels</a>
1591                            </li>
1592                            <li class="navPage-subMenu-item">
1593                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1594                                <a class="navPage-subMenu-action navPages-action" href="/26-inch-wheels/">26 inch wheels</a>
1595                            </li>
1596                            <li class="navPage-subMenu-item">
1597                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1598                                <a class="navPage-subMenu-action navPages-action" href="/28-inch-wheels/">28 inch wheels</a>
1599                            </li>
1600                            <li class="navPage-subMenu-item">
1601                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1602                                <a class="navPage-subMenu-action navPages-action" href="/30-inch-wheels/">30 inch wheels</a>
1603                            </li>
1604                            <li class="navPage-subMenu-item">
1605                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1606                                <a class="navPage-subMenu-action navPages-action" href="/truck-wheels/">Truck wheels</a>
1607                            </li>
1608                            <li class="navPage-subMenu-item">
1609                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1610                                <a class="navPage-subMenu-action navPages-action" href="/custom-wheel-tire-package-builder/">Wheel &amp; tire package builder</a>
1611                            </li>
1612                            <li class="navPage-subMenu-item">
1613                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1614                                <a class="navPage-subMenu-action navPages-action" href="/tire-size-calculator/">Tire size calculator</a>
1615                            </li>
1616                            <li class="navPage-subMenu-item">
1617                                <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-right" /></svg></i>
1618                                <a class="navPage-subMenu-action navPages-action" href="/wheel-offset-backspacing-calculator/">Wheel offset calculator</a>
1619                            </li>
1620                </ul>
1621            </div>
1622        </li>
1623                <li class="navPages-item navPages-item--content-first">
1624                        <a class="navPages-action"
1625   href="https://www.threepiece.us/faq/"
1626   aria-label="FAQ"
1627>
1628    FAQ
1629</a>
1630                </li>
1631                <li class="navPages-item">
1632                        <a class="navPages-action"
1633   href="https://visualizer.threepiece.us/"
1634   aria-label="Wheel Visualizer"
1635>
1636    Wheel Visualizer
1637</a>
1638                </li>
1639                <li class="navPages-item">
1640                        <a class="navPages-action"
1641   href="https://gallery.threepiece.us/"
1642   aria-label="Threepieceus Gallery"
1643>
1644    Threepieceus Gallery
1645</a>
1646                </li>
1647                <li class="navPages-item">
1648                        <a class="navPages-action"
1649   href="https://www.threepiece.us/add-vehicle/"
1650   aria-label="Add Your Ride"
1651>
1652    Add Your Ride
1653</a>
1654                </li>
1655                <li class="navPages-item">
1656                        <a class="navPages-action"
1657   href="https://www.threepiece.us/blog/"
1658   aria-label="Fitment Info"
1659>
1660    Fitment Info
1661</a>
1662                </li>
1663                <li class="navPages-item">
1664                        <a class="navPages-action"
1665   href="https://www.threepiece.us/about-us/"
1666   aria-label="About Us"
1667>
1668    About Us
1669</a>
1670                </li>
1671    </ul>
1672    <ul class="navPages-list navPages-list--user">
1673    </ul>
1674</nav>
1675    </div>
1676</header>
1677
1678
1679
1680<div data-content-region="header_bottom--global"><div data-layout-id="707f0e0e-f78e-440c-8218-24ad4eaa719f">       <div data-sub-layout-container="4b870010-7657-44ae-81cd-8ad7c042f17c" data-layout-name="Layout">
1681    <style data-container-styling="4b870010-7657-44ae-81cd-8ad7c042f17c">
1682        [data-sub-layout-container="4b870010-7657-44ae-81cd-8ad7c042f17c"] {
1683            box-sizing: border-box;
1684            display: flex;
1685            flex-wrap: wrap;
1686            z-index: 0;
1687            position: relative;
1688            height: ;
1689            padding-top: 0px;
1690            padding-right: 0px;
1691            padding-bottom: 0px;
1692            padding-left: 0px;
1693            margin-top: 0px;
1694            margin-right: 0px;
1695            margin-bottom: 0px;
1696            margin-left: 0px;
1697            border-width: 0px;
1698            border-style: solid;
1699            border-color: #333333;
1700        }
1701
1702        [data-sub-layout-container="4b870010-7657-44ae-81cd-8ad7c042f17c"]:after {
1703            display: block;
1704            position: absolute;
1705            top: 0;
1706            left: 0;
1707            bottom: 0;
1708            right: 0;
1709            background-size: cover;
1710            z-index: auto;
1711        }
1712    </style>
1713
1714    <div data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3">
1715        <style data-column-styling="8cbafe36-f698-440b-80a0-ffe9da3b5ee3">
1716            [data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"] {
1717                display: flex;
1718                flex-direction: column;
1719                box-sizing: border-box;
1720                flex-basis: 100%;
1721                max-width: 100%;
1722                z-index: 0;
1723                position: relative;
1724                height: ;
1725                padding-top: 0px;
1726                padding-right: 0px;
1727                padding-bottom: 0px;
1728                padding-left: 0px;
1729                margin-top: 0px;
1730                margin-right: 0px;
1731                margin-bottom: 0px;
1732                margin-left: 0px;
1733                border-width: 0px;
1734                border-style: solid;
1735                border-color: #333333;
1736                justify-content: center;
1737            }
1738            [data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"]:after {
1739                display: block;
1740                position: absolute;
1741                top: 0;
1742                left: 0;
1743                bottom: 0;
1744                right: 0;
1745                background-size: cover;
1746                z-index: auto;
1747            }
1748            @media only screen and (max-width: 700px) {
1749                [data-sub-layout="8cbafe36-f698-440b-80a0-ffe9da3b5ee3"] {
1750                    flex-basis: 100%;
1751                    max-width: 100%;
1752                }
1753            }
1754        </style>
1755        <div data-widget-id="efb1ba86-4bdd-46d3-a5e1-53d6b281a163" data-placement-id="bb208f0b-2b33-40b3-845b-d16f90c39d40" data-placement-status="ACTIVE"><style>
1756/* ThreePiece.us BFCM Sale Page Styles */
1757.tp-bfcm-container {
1758    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
1759    max-width: 100%;
1760    margin: 0;
1761    padding: 0;
1762    background: #000;
1763    color: #fff;
1764}
1765
1766/* Hero Section with Background Image */
1767.tp-bfcm-hero {
1768    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.7)), url('YOUR-WHEEL-BACKGROUND-IMAGE.jpg') center/cover;
1769    /* REPLACE url above with a dramatic wheel/car photo from your inventory */
1770    min-height: 500px;
1771    display: flex;
1772    align-items: center;
1773    justify-content: center;
1774    text-align: center;
1775    padding: 80px 20px;
1776    position: relative;
1777}
1778
1779.tp-bfcm-hero-content {
1780    max-width: 900px;
1781    z-index: 2;
1782}
1783
1784.tp-bfcm-badge {
1785    display: inline-block;
1786    background: #1a1a1a;
1787    border: 2px solid #fff;
1788    color: #fff;
1789    padding: 10px 25px;
1790    font-weight: 700;
1791    font-size: 14px;
1792    letter-spacing: 2px;
1793    margin-bottom: 25px;
1794    text-transform: uppercase;
1795}
1796
1797.tp-bfcm-hero h1 {
1798    font-size: 72px;
1799    font-weight: 900;
1800    margin: 0 0 20px 0;
1801    line-height: 1;
1802    color: #fff;
1803    text-transform: uppercase;
1804    letter-spacing: -1px;
1805}
1806
1807.tp-bfcm-hero .discount-text {
1808    font-size: 56px;
1809    font-weight: 900;
1810    color: #fff;
1811    margin: 20px 0;
1812    letter-spacing: 2px;
1813}
1814
1815.tp-bfcm-hero .subtitle {
1816    font-size: 20px;
1817    margin: 20px 0 40px 0;
1818    color: #ddd;
1819    font-weight: 400;
1820}
1821
1822/* Countdown Timer */
1823.tp-countdown-timer {
1824    display: flex;
1825    justify-content: center;
1826    gap: 20px;
1827    margin: 35px 0 0 0;
1828    flex-wrap: wrap;
1829}
1830
1831.tp-countdown-item {
1832    background: rgba(255,255,255,0.1);
1833    border: 2px solid rgba(255,255,255,0.2);
1834    backdrop-filter: blur(10px);
1835    padding: 20px 25px;
1836    min-width: 90px;
1837}
1838
1839.tp-countdown-number {
1840    font-size: 40px;
1841    font-weight: 900;
1842    color: #fff;
1843    display: block;
1844    line-height: 1;
1845}
1846
1847.tp-countdown-label {
1848    font-size: 12px;
1849    text-transform: uppercase;
1850    letter-spacing: 1.5px;
1851    margin-top: 8px;
1852    color: #ccc;
1853    font-weight: 600;
1854}
1855
1856/* Urgency Bar */
1857.tp-urgency-bar {
1858    background: #fff;
1859    color: #000;
1860    text-align: center;
1861    padding: 18px 20px;
1862    font-weight: 700;
1863    font-size: 15px;
1864    letter-spacing: 0.5px;
1865}
1866
1867/* Browse Deals Buttons */
1868.tp-deal-nav {
1869    background: #000;
1870    padding: 50px 20px 30px;
1871    text-align: center;
1872}
1873
1874.tp-deal-nav h2 {
1875    font-size: 42px;
1876    font-weight: 900;
1877    margin-bottom: 35px;
1878    color: #fff;
1879    text-transform: uppercase;
1880    letter-spacing: 1px;
1881}
1882
1883.tp-deal-buttons {
1884    display: flex;
1885    justify-content: center;
1886    gap: 20px;
1887    flex-wrap: wrap;
1888    max-width: 800px;
1889    margin: 0 auto;
1890}
1891
1892.tp-deal-btn {
1893    background: #fff;
1894    color: #000;
1895    padding: 18px 40px;
1896    font-size: 16px;
1897    font-weight: 700;
1898    text-transform: uppercase;
1899    letter-spacing: 1px;
1900    border: none;
1901    cursor: pointer;
1902    transition: all 0.3s ease;
1903    text-decoration: none;
1904    display: inline-block;
1905}
1906
1907.tp-deal-btn:hover {
1908    background: #000;
1909    color: #fff;
1910    border: 2px solid #fff;
1911    padding: 16px 38px;
1912    text-decoration: none;
1913}
1914
1915/* Products Section */
1916.tp-products-section {
1917    background: #0a0a0a;
1918    padding: 60px 20px 80px;
1919}
1920
1921.tp-section-title {
1922    text-align: center;
1923    font-size: 42px;
1924    font-weight: 900;
1925    margin-bottom: 50px;
1926    color: #fff;
1927    text-transform: uppercase;
1928    letter-spacing: 1px;
1929}
1930
1931.tp-product-grid {
1932    display: grid;
1933    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
1934    gap: 30px;
1935    max-width: 1200px;
1936    margin: 0 auto;
1937}
1938
1939.tp-product-card {
1940    background: #1a1a1a;
1941    border: 1px solid #2a2a2a;
1942    overflow: hidden;
1943    transition: all 0.3s ease;
1944    position: relative;
1945}
1946
1947.tp-product-card:hover {
1948    border-color: #fff;
1949    transform: translateY(-5px);
1950}
1951
1952.tp-discount-badge {
1953    position: absolute;
1954    top: 20px;
1955    right: 20px;
1956    background: #fff;
1957    color: #000;
1958    padding: 12px 20px;
1959    font-weight: 900;
1960    font-size: 18px;
1961    z-index: 2;
1962    letter-spacing: 1px;
1963}
1964
1965.tp-product-image {
1966    width: 100%;
1967    height: 350px;
1968    background: #000;
1969    display: flex;
1970    align-items: center;
1971    justify-content: center;
1972    overflow: hidden;
1973    position: relative;
1974}
1975
1976.tp-product-image img {
1977    width: 100%;
1978    height: 100%;
1979    object-fit: cover;
1980    transition: transform 0.4s ease;
1981}
1982
1983.tp-product-card:hover .tp-product-image img {
1984    transform: scale(1.08);
1985}
1986
1987.tp-product-info {
1988    padding: 30px;
1989}
1990
1991.tp-product-name {
1992    font-size: 22px;
1993    font-weight: 700;
1994    margin-bottom: 12px;
1995    color: #fff;
1996    text-transform: uppercase;
1997    letter-spacing: 0.5px;
1998}
1999
2000.tp-product-specs {
2001    font-size: 14px;
2002    color: #999;
2003    margin-bottom: 18px;
2004    line-height: 1.6;
2005}
2006
2007.tp-product-pricing {
2008    display: flex;
2009    align-items: baseline;
2010    gap: 15px;
2011    margin-bottom: 20px;
2012}
2013
2014.tp-original-price {
2015    font-size: 18px;
2016    color: #666;
2017    text-decoration: line-through;
2018}
2019
2020.tp-sale-price {
2021    font-size: 32px;
2022    font-weight: 900;
2023    color: #fff;
2024}
2025
2026.tp-stock-alert {
2027    background: #1a1a1a;
2028    border-left: 3px solid #fff;
2029    padding: 12px 15px;
2030    margin-bottom: 20px;
2031    font-size: 13px;
2032    font-weight: 700;
2033    color: #fff;
2034    letter-spacing: 0.5px;
2035}
2036
2037.tp-shop-btn {
2038    width: 100%;
2039    padding: 16px;
2040    background: #fff;
2041    color: #000;
2042    border: none;
2043    font-size: 15px;
2044    font-weight: 700;
2045    cursor: pointer;
2046    transition: all 0.3s ease;
2047    text-transform: uppercase;
2048    letter-spacing: 1px;
2049    text-decoration: none;
2050    display: block;
2051    text-align: center;
2052}
2053
2054.tp-shop-btn:hover {
2055    background: #000;
2056    color: #fff;
2057    border: 2px solid #fff;
2058    text-decoration: none;
2059}
2060
2061/* Brand Grid Section */
2062.tp-brand-grid-section {
2063    background: #fff;
2064    padding: 70px 20px;
2065    color: #000;
2066}
2067
2068.tp-brand-grid-section h2 {
2069    text-align: center;
2070    font-size: 42px;
2071    font-weight: 900;
2072    margin-bottom: 50px;
2073    color: #000;
2074    text-transform: uppercase;
2075}
2076
2077.tp-brand-grid {
2078    display: grid;
2079    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
2080    gap: 30px;
2081    max-width: 1200px;
2082    margin: 0 auto;
2083}
2084
2085.tp-brand-card {
2086    background: #fff;
2087    border: 2px solid #e0e0e0;
2088    padding: 40px 20px;
2089    text-align: center;
2090    transition: all 0.3s ease;
2091    cursor: pointer;
2092}
2093
2094.tp-brand-card:hover {
2095    border-color: #000;
2096    transform: translateY(-5px);
2097}
2098
2099.tp-brand-logo {
2100    font-size: 28px;
2101    font-weight: 900;
2102    margin-bottom: 15px;
2103    color: #000;
2104    text-transform: uppercase;
2105}
2106
2107.tp-brand-discount {
2108    font-size: 36px;
2109    font-weight: 900;
2110    color: #000;
2111    margin: 10px 0;
2112}
2113
2114.tp-brand-label {
2115    font-size: 14px;
2116    color: #666;
2117    text-transform: uppercase;
2118    letter-spacing: 1px;
2119}
2120
2121/* Social Proof */
2122.tp-social-proof {
2123    background: #000;
2124    padding: 60px 20px;
2125    text-align: center;
2126    border-top: 1px solid #333;
2127}
2128
2129.tp-social-proof h3 {
2130    font-size: 32px;
2131    margin-bottom: 40px;
2132    color: #fff;
2133    text-transform: uppercase;
2134    font-weight: 700;
2135    letter-spacing: 1px;
2136}
2137
2138.tp-stats {
2139    display: flex;
2140    justify-content: center;
2141    gap: 80px;
2142    flex-wrap: wrap;
2143}
2144
2145.tp-stat-item {
2146    text-align: center;
2147}
2148
2149.tp-stat-number {
2150    font-size: 48px;
2151    font-weight: 900;
2152    color: #fff;
2153    display: block;
2154}
2155
2156.tp-stat-label {
2157    font-size: 13px;
2158    color: #999;
2159    text-transform: uppercase;
2160    letter-spacing: 1.5px;
2161    margin-top: 8px;
2162    font-weight: 600;
2163}
2164
2165/* Sticky Banner */
2166.tp-sticky-banner {
2167    position: fixed;
2168    bottom: 0;
2169    left: 0;
2170    right: 0;
2171    background: #fff;
2172    color: #000;
2173    padding: 18px 20px;
2174    display: flex;
2175    justify-content: space-between;
2176    align-items: center;
2177    z-index: 99999;
2178    border-top: 3px solid #000;
2179    transform: translateY(100%);
2180    animation: tp-slideUp 0.5s ease forwards;
2181    animation-delay: 1.5s;
2182}
2183
2184@keyframes tp-slideUp {
2185    to { transform: translateY(0); }
2186}
2187
2188.tp-sticky-content {
2189    display: flex;
2190    align-items: center;
2191    gap: 25px;
2192    flex-wrap: wrap;
2193    font-weight: 700;
2194}
2195
2196.tp-sticky-timer {
2197    display: flex;
2198    gap: 12px;
2199}
2200
2201.tp-sticky-timer-item {
2202    background: #000;
2203    color: #fff;
2204    padding: 8px 14px;
2205    font-weight: 900;
2206    font-size: 16px;
2207}
2208
2209.tp-sticky-cta {
2210    padding: 14px 35px;
2211    background: #000;
2212    color: #fff;
2213    border: 2px solid #000;
2214    font-weight: 900;
2215    cursor: pointer;
2216    transition: all 0.3s ease;
2217    text-transform: uppercase;
2218    text-decoration: none;
2219    font-size: 14px;
2220    letter-spacing: 1px;
2221}
2222
2223.tp-sticky-cta:hover {
2224    background: #fff;
2225    color: #000;
2226    text-decoration: none;
2227}
2228
2229/* Mobile Responsiveness */
2230@media (max-width: 768px) {
2231    .tp-bfcm-hero h1 {
2232        font-size: 42px;
2233    }
2234    
2235    .tp-bfcm-hero .discount-text {
2236        font-size: 36px;
2237    }
2238    
2239    .tp-countdown-item {
2240        min-width: 75px;
2241        padding: 15px 18px;
2242    }
2243    
2244    .tp-countdown-number {
2245        font-size: 32px;
2246    }
2247    
2248    .tp-deal-nav h2,
2249    .tp-section-title,
2250    .tp-brand-grid-section h2 {
2251        font-size: 28px;
2252    }
2253    
2254    .tp-product-grid {
2255        grid-template-columns: 1fr;
2256    }
2257    
2258    .tp-sticky-banner {
2259        flex-direction: column;
2260        gap: 15px;
2261        padding: 15px;
2262    }
2263    
2264    .tp-stats {
2265        gap: 40px;
2266    }
2267    
2268    .tp-brand-grid {
2269        grid-template-columns: 1fr;
2270    }
2271}
2272</style>
2273</div>
2274    </div>
2275</div>
2276
2277</div></div>
2278<div data-content-region="header_bottom"><div data-layout-id=""></div><div data-widget-id="b760d4d1-c068-4cfb-9df3-27fa09a042a7" data-placement-id="4c49da1d-b0a3-4294-8329-f0c2c2282976" data-placement-status="ACTIVE"><style id="tpc-style">
2279@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@500;600;700&display=swap');
2280/* ThreePiece collection pages restyle 2026-09-28: results pages (body.cm_category), the "choose a category" page
2281   (body.cm_parts) and brand pages (body.cm_brand). Same look as the homepage and product pages. Looks only:
2282   no wording, links, products or filter logic change. Landing pages with #pk have body.cm_unknown and are untouched. */
2283body{--h-ink:#0a0a0b;--h-ink2:#141416;--h-gold:#e0a830;--h-gold-hi:#f4c14f;--h-gold-deep:#8a6410;--h-text:#141416;--h-muted:#5d6068;--h-line:#e4e1da;--h-cream:#f4f1ea;--h-plinth:#f1eee8;--h-green:#2e7d32;--h-disp:'Barlow Condensed','Roboto Condensed','Arial Narrow',Arial,sans-serif;--h-ui:Barlow,'Roboto Condensed',Arial,sans-serif}
2284
2285/* ================= shared: breadcrumbs + page top ================= */
2286body.cm_category #main-content,body.cm_parts #main-content,body.cm_brand #main-content{margin-top:0!important}
2287:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs{margin-bottom:0!important}
2288:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label,:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label span{font-family:var(--h-ui)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.1em;text-transform:uppercase;color:var(--h-muted)!important}
2289:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb.is-active .breadcrumb-label span{color:var(--h-text)!important}
2290
2291/* results pages: breadcrumbs, heading and intro on one cream band; brand/category tile strip moved under the intro */
2292body.cm_category .page--category>div.page-content{display:flex;flex-direction:column;background:var(--h-cream);box-shadow:0 0 0 100vmax var(--h-cream);clip-path:inset(0 -100vmax);padding-top:30px!important;padding-bottom:30px!important;margin-bottom:30px!important}
2293body.cm_category .page--category>div.page-content>#cm_category-page-category-tiles{order:1}
2294body.cm_category .page--category .page-heading{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(40px,4.4vw,62px)!important;line-height:.95!important;letter-spacing:.005em!important;text-transform:uppercase;color:var(--h-text)!important;margin:16px 0 14px!important;text-align:left!important}
2295body.cm_category .page--category .category-intro{max-width:820px;margin:0!important;font-size:15px;line-height:1.65;color:var(--h-muted)}
2296body.cm_category .page--category .category-intro p{margin:0 0 10px!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important}
2297body.cm_category .page--category .category-intro strong{color:var(--h-text)}
2298body.cm_category .page--category .category-intro p:not(.tp-related-links) a,body.cm_category .category-description-full p:not(.tp-related-links) a{color:var(--h-text)!important;font-weight:600;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px}
2299
2300/* tile strip (brands or categories): smaller white tiles, solid black round arrows */
2301body.cm_category #cm_category-page-category-tiles{margin-top:22px}
2302body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories{position:relative}
2303body.cm_category #cm_category-page-category-tiles .cmRepeater_hierarchicalGroups{grid-template-columns:none!important;grid-template-rows:auto!important;grid-auto-columns:146px!important;gap:10px!important;margin:0!important;padding:0 0 8px!important;scrollbar-width:thin;scrollbar-color:#cfc8b8 transparent}
2304body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-wrapper{width:auto!important;height:auto!important}
2305body.cm_category #cm_category-page-category-tiles a.cm_vehicle-categories_category-container{height:100%!important;padding:10px 10px 12px!important;background:#fff!important;border:1px solid var(--h-line)!important;border-radius:3px!important;box-shadow:none!important;transition:border-color .2s}
2306body.cm_category #cm_category-page-category-tiles a.cm_vehicle-categories_category-container:hover{border-color:var(--h-gold)!important}
2307body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image-container{width:100%!important;height:72px!important}
2308body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image{width:100%!important;height:72px!important;object-fit:contain!important;background:transparent!important}
2309body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-title-container{width:100%!important;padding:0!important}
2310body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-title{font-family:var(--h-disp)!important;font-weight:700!important;font-size:15px!important;line-height:1.05!important;letter-spacing:.02em!important;text-transform:uppercase;color:var(--h-text)!important;margin:9px 0 0!important}
2311body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button{width:40px!important;height:40px!important;border:0!important;border-radius:50%!important;opacity:1!important;box-shadow:0 4px 14px rgba(0,0,0,.25)!important;background:#0a0a0b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/18px no-repeat!important;transition:background-color .2s}
2312body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button_left{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E")!important}
2313body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button:before,body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button:after{display:none!important}
2314body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button:hover:not([disabled]){background-color:var(--h-gold)!important}
2315body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button[disabled]{opacity:.28!important;cursor:default}
2316
2317/* "results are filtered to your vehicle" notice */
2318body.cm_category .cm_vehicle-widget__message .cm_message>div{background:#fff!important;border:1px solid var(--h-line)!important;border-left:3px solid var(--h-gold)!important;border-radius:2px!important;padding:13px 18px!important;font-size:14px!important;line-height:1.5!important;color:var(--h-muted)!important}
2319body.cm_category .cm_vehicle-widget__message .cm_message>div span{color:var(--h-text)!important;font-weight:700!important}
2320body.cm_category .cm_vehicle-widget__message .cm_message a.cm_discard-vehicle{color:var(--h-text)!important;font-weight:600;cursor:pointer;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px}
2321
2322/* ================= results pages: filter column ================= */
2323body.cm_category .cm_SearchPage>.cm_FacetPanel{border:0!important;padding:0 6px 0 0!important}
2324body.cm_category .cm_FacetPanel .facetholder{border-top:1px solid var(--h-line)!important}
2325body.cm_category .cm_FacetPanel .facettitle,body.cm_category .cm_FacetPanel .facettitle span,body.cm_category .cm_FacetPanel .cm_vehicle-widget__facet-bar .cm_vehicle-widget_title{font-family:var(--h-ui)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.16em!important;line-height:1.4!important;text-transform:uppercase;color:var(--h-text)!important}
2326body.cm_category .cm_FacetPanel .facettitle svg{fill:var(--h-gold-deep)!important;width:14px;height:14px}
2327body.cm_category .cm_FacetPanel .facetdiv{font-size:14px!important;color:var(--h-text)!important}
2328body.cm_category .cm_FacetPanel .facetentrykey{color:var(--h-text)!important}
2329body.cm_category .cm_FacetPanel .facetdiv:hover .facetentrykey{text-decoration:underline;text-decoration-color:var(--h-gold);text-underline-offset:3px}
2330body.cm_category .cm_FacetPanel .facetentryval{font-family:var(--h-ui)!important;font-size:12px!important;font-weight:600!important;color:var(--h-muted)!important}
2331body.cm_category .cm_FacetPanel input.cm_facet_checkbox{accent-color:var(--h-ink)}
2332body.cm_category .cm_FacetPanel a.cm_show-all{display:inline-block;font-family:var(--h-ui)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--h-text)!important;text-decoration:none!important;border-bottom:2px solid var(--h-gold);padding-bottom:2px;line-height:1.4}
2333body.cm_category .cm_FacetPanel input.cm_filterInput,body.cm_category .cm_FacetPanel .cm_Inputs input{height:38px!important;border:1px solid #d6d1c6!important;border-radius:2px!important;font-size:14px!important;padding:0 10px!important;background:#fff!important;color:var(--h-text)!important;box-shadow:none!important}
2334body.cm_category .cm_FacetPanel .cm_Inputs{align-items:center}
2335body.cm_category .cm_FacetPanel .cm_Inputs .cm_btn{height:38px!important;background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12.5px!important;letter-spacing:.1em!important}
2336
2337/* vehicle picker + vehicle sizes (sidebar, phone pop-up) */
2338body.cm_category .cm_vehicle-widget__search .cm_vehicle-widget_title,body.cm_category .cm_vehicle-widget__dialog .cm_vehicle-widget_title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:24px!important;line-height:1.05!important;text-transform:uppercase;letter-spacing:.01em!important;color:var(--h-text)!important;margin-bottom:12px!important}
2339body.cm_category .cm_vehicle-widget select{height:44px!important;padding-left:12px!important;font-size:15px!important;background-color:#fff!important;color:var(--h-text)!important;border:1px solid #d6d1c6!important;border-radius:2px!important;opacity:1!important}
2340body.cm_category .cm_vehicle-widget select:disabled{background-color:#f3f0ea!important;color:#8b8e95!important}
2341body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button{min-height:44px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:13.5px!important;letter-spacing:.14em!important;line-height:1.2!important;text-transform:uppercase;opacity:1!important;box-shadow:none!important}
2342body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button__go{background:var(--h-gold)!important;color:#111!important;border:0!important}
2343body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button__go[disabled]:not([disabled="false"]){background:#3a3b40!important;color:#c9ccd3!important}
2344body.cm_category .cm_vehicle-widget .cm_vehicle-widget_button__clear{background:#fff!important;color:var(--h-text)!important;border:1px solid var(--h-text)!important}
2345body.cm_category .cm_vehicle-widget .cmTemplate_locked .cm_vehicle-widget_button{width:100%;background:var(--h-ink)!important;color:#fff!important;border:0!important;padding:10px 14px!important;gap:10px}
2346body.cm_category .cm_vehicle-widget .cmTemplate_locked .cm_vehicle-widget_button:before,body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button:before{content:"";display:block;position:static!important;transform:none!important;margin:0!important;flex:0 0 22px;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4c14f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11l1.5-4.5A2 2 0 0 1 8.4 5h7.2a2 2 0 0 1 1.9 1.5L19 11'/%3E%3Cpath d='M3 16.5v-3.5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5'/%3E%3Ccircle cx='7.5' cy='16.5' r='2'/%3
2346E%3Ccircle cx='16.5' cy='16.5' r='2'/%3E%3Cpath d='M9.5 16.5h5'/%3E%3C/svg%3E") center/22px no-repeat}
2347body.cm_category .cm_wheel-tire-vehicle-info_inner-container{background:var(--h-cream)!important;border-radius:3px!important}
2348body.cm_category .cm_wheel-tire-vehicle-info_title-vehicle{font-family:var(--h-disp)!important;font-weight:800!important;font-size:19px!important;text-transform:uppercase;letter-spacing:.01em;color:var(--h-text)!important}
2349body.cm_category .cm_wheel-tire-vehicle-info_recommended-fitment__label{font-family:var(--h-ui)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--h-gold-deep)!important}
2350body.cm_category .cm_wheel-tire-vehicle-info_size-item__label{color:var(--h-muted)!important}
2351body.cm_category .cm_wheel-tire-vehicle-info_size-item__value{color:var(--h-text)!important}
2352
2353/* results header: count + sort */
2354body.cm_category .cm_total-hits span{font-family:var(--h-ui)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;color:var(--h-muted)!important}
2355body.cm_category .cm_sort{border:1px solid #d6d1c6!important;border-radius:2px!important;background:#fff!important}
2356body.cm_category .cm_sort .sort-label{font-family:var(--h-ui)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase;color:var(--h-muted)!important}
2357body.cm_category .cm_sort select{font-size:14px!important;color:var(--h-text)!important;border:0!important;background-color:transparent!important}
2358body.cm_category .cm_facetDialogButton .cm_dialogButton{background:#fff!important;color:var(--h-text)!important;border:1px solid var(--h-text)!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:13px!important;letter-spacing:.12em!important;text-transform:uppercase}
2359body.cm_category .cm_facetDialogButton .cm_dialogButton svg{fill:var(--h-text)!important}
2360body.cm_category .cm_vehicle-widget__search-dialog-button .cm_vehicle-widget_button{background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:13px!important;letter-spacing:.12em!important;text-transform:uppercase}
2361
2362/* phone pop-ups: Filters + Vehicle */
2363body.cm_category #cm_FacetDialog .dialog-header{border-bottom:1px solid var(--h-line)!important}
2364body.cm_category #cm_FacetDialog .dialog-title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:24px!important;line-height:1!important;text-transform:uppercase;letter-spacing:.01em;color:var(--h-text)!important}
2365body.cm_category #cm_FacetDialog .total-hits{font-family:var(--h-ui)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.1em;text-transform:uppercase;color:var(--h-muted)!important}
2366body.cm_category #cm_FacetDialog .dialog-header .cm_button{border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12px!important;letter-spacing:.12em!important;text-transform:uppercase}
2367body.cm_category #cm_FacetDialog .cm_facet-dialog_button-done{background:var(--h-gold)!important;color:#111!important;border:1px solid var(--h-gold)!important}
2368body.cm_category #cm_FacetDialog .cm_facet-dialog_button-clear{background:#fff!important;color:var(--h-text)!important;border:1px solid var(--h-text)!important}
2369body.cm_category #cm_VehicleWidgetDialog .dialog-content{border-radius:3px}
2370
2371/* ================= product cards (results + brand pages) ================= */
2372:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card{background:none!important;border:0!important;box-shadow:none!important}
2373:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure{background:var(--h-plinth)!important;border:0!important;border-radius:3px!important;box-shadow:none!important}
2374:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure img{mix-blend-mode:multiply;background:transparent!important;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
2375:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card:hover .card-figure img{transform:scale(1.04)}
2376/* hover "Add to Cart" bar: shows over the bottom of the photo (was a white box sliding over the name and price) */
2377:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card:hover .card-figcaption{top:auto!important;bottom:10px!important;left:10px!important;right:10px!important;width:auto!important;height:auto!important;padding:0!important;background:transparent!important}
2378:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card:hover .card-figcaption-body{top:0!important;bottom:auto!important;width:100%!important}
2379:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figcaption-button{background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12px!important;letter-spacing:.12em!important;text-transform:uppercase}
2380:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figcaption-button:hover{background:var(--h-gold)!important;color:#111!important}
2381:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge,body.cm_brand #product-listing-container .sale-flag-side{background:var(--h-gold)!important;color:#111!important;border-radius:2px!important;padding:4px 9px!important;top:8px!important;left:8px!important;box-shadow:none!important}
2382:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge *,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge:after,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge *:after,body.cm_brand #product-listing-container .sale-flag-side *{font-family:var(--h-ui)!important;font-weight:800!important;font-size:11.5px!important;letter-spacing:.1em!important;line-height:1.3!important;text-transform:uppercase;color:#111!important}
2383:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .stock-badge{background:var(--h-ink)!important;border-radius:2px!important;top:8px!important;right:8px!important;padding:4px 9px!important}
2384:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .stock-badge *{font-family:var(--h-ui)!important;font-weight:700!important;font-size:11px!important;letter-spacing:.08em!important;line-height:1.3!important;text-transform:uppercase;color:#fff!important}
2385:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-body{padding:14px 2px 0!important;text-align:left!important}
2386:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title{margin:0 0 6px!important}
2387:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title a{font-family:var(--h-disp)!important;font-weight:800!important;font-size:18px!important;line-height:1.1!important;letter-spacing:.01em!important;text-transform:uppercase;color:var(--h-text)!important}
2388:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title a:hover{color:var(--h-gold-deep)!important}
2389:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price{font-family:var(--h-ui)!important;font-weight:700!important;font-size:17px!important;color:var(--h-text)!important}
2390:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price--non-sale,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price--rrp{font-size:13px!important;font-weight:500!important;color:#8b8e95!important;margin-left:3px}
2391:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .non-sale-price--withoutTax,:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .rrp-price--withoutTax{font-size:13px!important;color:#8b8e95!important}
2392:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-free-shipping{font-family:var(--h-ui)!important;font-size:12px!important;font-weight:600!important;color:var(--h-green)!important;margin-top:4px!important}
2393
2394/* ================= pagination ================= */
2395body.cm_category .cm_pagination{margin:30px 0 10px!important}
2396body.cm_category .cm_pagination-repeater,body.cm_brand .pagination-list{display:flex!important;flex-wrap:wrap;gap:6px;justify-content:center;float:none!important;margin:0!important;padding:0!important}
2397body.cm_brand nav.pagination{display:block;height:auto!important;margin:30px 0 10px!important}
2398body.cm_brand .pagination-item{margin:0!important}
2399body.cm_category .cm_pagination-button{width:auto!important;min-width:40px;height:40px!important;padding:0!important;margin:0!important;border:1px solid var(--h-line)!important;border-radius:2px!important;background:#fff;display:flex!important;align-items:center;justify-content:center}
2400body.cm_category .cm_pagination-button .cm_pagination-page,body.cm_brand .pagination-link{display:flex!important;align-items:center;justify-content:center;gap:6px;min-width:40px;height:100%;padding:0 12px!important;font-family:var(--h-ui)!important;font-weight:700!important;font-size:14px!important;color:var(--h-text)!important;text-decoration:none!important;border:0!important}
2401body.cm_brand .pagination-link{height:40px!important;border:1px solid var(--h-line)!important;border-radius:2px!important;background:#fff}
2402body.cm_category .cm_pagination-active,body.cm_brand .pagination-item--current .pagination-link{background:var(--h-ink)!important;border-color:var(--h-ink)!important}
2403body.cm_category .cm_pagination-active .cm_pagination-page,body.cm_brand .pagination-item--current .pagination-link{color:#fff!important}
2404body.cm_category .cm_pagination-button:not(.cm_pagination-active):hover,body.cm_brand .pagination-item:not(.pagination-item--current) .pagination-link:hover{border-color:var(--h-gold)!important}
2405body.cm_category :is(.cm_pagination-next,.cm_pagination-prev,.cm_pagination-first,.cm_pagination-last) .cm_pagination-page,body.cm_brand :is(.pagination-item--next,.pagination-item--previous) .pagination-link{font-size:12.5px!important;letter-spacing:.12em;text-transform:uppercase}
2406
2407/* ================= results pages: text at the bottom ================= */
2408body.cm_category .page--category>section.page-content{background:linear-gradient(var(--h-line),var(--h-line)) 50% 0/calc(100% - 30px) 1px no-repeat;margin-top:40px!important;padding-top:44px!important;padding-bottom:20px!important}
2409body.cm_category .category-description-full{max-width:820px;font-size:15px;line-height:1.7;color:var(--h-muted)}
2410body.cm_category .category-description-full p{margin:0 0 14px!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important}
2411body.cm_category .category-description-full strong{color:var(--h-text)}
2412/* "Shop by bolt pattern / wheel size" link lines become rounded chips (the dots between links are only separators) */
2413body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links{font-size:0!important;line-height:0!important;margin:20px 0 6px!important}
2414body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links strong{display:block;margin:0 0 10px;font-family:var(--h-ui);font-size:12px!important;line-height:1.4!important;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--h-gold-deep)!important}
2415body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links a{display:inline-block;margin:0 8px 8px 0;font-size:14px!important;font-weight:400!important;line-height:1.2!important;padding:9px 15px;border:1px solid var(--h-line);border-radius:999px;color:var(--h-text)!important;background:#fff;text-decoration:none!important;transition:border-color .2s,background .2s}
2416body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links a:hover{border-color:var(--h-gold);background:var(--h-cream)}
2417
2418/* ================= "choose a category" page ================= */
2419/* the tile slider at the top repeats exactly the same links as the grid below it, so only the grid shows */
2420body.cm_parts .page--category:has(>.main .cm_vehicle-categories__flat .cm_vehicle-categories_category-wrapper)>div.page-content #cm_category-page-category-tiles{display:none!important}
2421body.cm_parts .page--category>div.page-content{padding-top:24px!important;padding-bottom:18px!important}
2422body.cm_parts .page--category>div.page-content .page-heading:empty{display:none}
2423body.cm_parts .cm_vehicle-widget__vehicle-categories{background:var(--h-ink);border-radius:3px;padding:26px 28px 28px!important;margin:0 0 28px!important;color:#fff}
2424body.cm_parts .cm_vehicle-widget__vehicle-categories:has(.cmTemplate_locked){background:none;padding:0!important}
2425body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(28px,3vw,40px)!important;line-height:1!important;letter-spacing:.005em!important;text-transform:uppercase;color:#fff!important;margin:0 0 18px!important}
2426body.cm_parts .cm_vehicle-widget__vehicle-categories select{height:48px!important;padding-left:12px!important;font-size:16px!important;background-color:#fff!important;color:var(--h-text)!important;border:0!important;border-radius:2px!important;opacity:1!important}
2427body.cm_parts .cm_vehicle-widget__vehicle-categories select:disabled{background-color:#e6e3dc!important;color:#6b6e75!important}
2428body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button{height:48px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:2px!important;padding:0 24px!important;font-family:var(--h-ui)!important;font-size:14px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase;opacity:1!important}
2429body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button__go{background:var(--h-gold)!important;color:#111!important;border:0!important}
2430body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button__go[disabled]:not([disabled="false"]){background:#3a3b40!important;color:#c9ccd3!important}
2431body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_button__clear{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important}
2432body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button{width:100%;height:auto!important;min-height:68px;gap:14px;justify-content:flex-start!important;padding:14px 26px!important;background:var(--h-ink)!important;color:#fff!important;border:0!important;font-family:var(--h-disp)!important;font-size:clamp(24px,2.6vw,32px)!important;font-weight:800!important;letter-spacing:.01em!important;line-height:1!important}
2433body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button:before{flex-basis:28px;width:28px;height:28px;background-size:28px}
2434body.cm_parts .page--category>.main a.cm_vehicle-categories_category-container{height:100%!important;background:var(--h-plinth)!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:3px!important;box-shadow:none!important;padding:18px 14px 16px!important;transition:border-color .2s,transform .2s}
2435body.cm_parts .page--category>.main a.cm_vehicle-categories_category-container:hover{border-bottom-color:var(--h-gold)!important;transform:translateY(-2px)}
2436body.cm_parts .page--category>.main .cm_vehicle-categories_category-image{mix-blend-mode:multiply;background:transparent!important}
2437body.cm_parts .page--category>.main .cm_vehicle-categories_category-title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:20px!important;line-height:1.05!important;letter-spacing:.01em!important;text-transform:uppercase;color:var(--h-text)!important;margin:12px 0 0!important}
2438
2439/* ================= brand pages ================= */
2440body.cm_brand #main-content>.container:first-child{background:var(--h-cream);box-shadow:0 0 0 100vmax var(--h-cream);clip-path:inset(0 -100vmax);padding-top:30px!important;padding-bottom:34px!important;margin-bottom:34px!important}
2441body.cm_brand #main-content>.container:first-child:has(>.brand-image-container){display:grid;grid-template-columns:230px minmax(0,1fr);
2441grid-template-areas:"crumbs crumbs" "logo title" "logo intro";column-gap:44px;align-items:center}
2442body.cm_brand #main-content>.container:first-child>nav{grid-area:crumbs;margin-bottom:22px}
2443body.cm_brand #main-content>.container:first-child>.page-heading{grid-area:title;align-self:end;font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(40px,4.4vw,62px)!important;line-height:.95!important;letter-spacing:.005em!important;text-transform:uppercase;color:var(--h-text)!important;margin:0 0 14px!important;text-align:left!important}
2444body.cm_brand #main-content>.container:first-child>.brand-image-container{grid-area:logo;width:auto!important;height:auto!important;aspect-ratio:4/3;margin:0!important;padding:20px;background:#fff;border-radius:3px;display:flex!important;align-items:center;justify-content:center}
2445body.cm_brand #main-content>.container:first-child>.brand-image-container:before,body.cm_brand #main-content>.container:first-child>.brand-image-container:after{display:none!important}
2446body.cm_brand #main-content>.container:first-child>.brand-image-container img{position:static!important;margin:0!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:110px!important;object-fit:contain}
2447body.cm_brand #main-content>.container:first-child>.brand-intro{grid-area:intro;align-self:start;max-width:820px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
2448body.cm_brand #main-content>.container:first-child>.brand-intro p{font-size:15px!important;line-height:1.65!important;color:var(--h-muted)!important;margin:0!important;padding:0!important}
2449body.cm_brand #main-content>.container:first-child>div:empty{display:none}
2450body.cm_brand aside.page-sidebar{border:0!important;padding:0 26px 0 0!important}
2451body.cm_brand .page-sidebar .accordion-title{font-family:var(--h-ui)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--h-text)!important}
2452body.cm_brand .page-sidebar .form-input{height:40px!important;border:1px solid #d6d1c6!important;border-radius:2px!important;box-shadow:none!important}
2453body.cm_brand .page-sidebar .button{height:40px!important;background:var(--h-ink)!important;color:#fff!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;font-size:12.5px!important;letter-spacing:.12em!important;text-transform:uppercase}
2454body.cm_brand .page-sidebar .button:hover{background:var(--h-gold)!important;color:#111!important}
2455body.cm_brand form.actionBar .form-field{border:1px solid #d6d1c6!important;border-radius:2px!important;background:#fff!important}
2456body.cm_brand form.actionBar .form-label{font-family:var(--h-ui)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase;color:var(--h-muted)!important}
2457body.cm_brand form.actionBar select{font-size:14px!important;color:var(--h-text)!important}
2458body.cm_brand .brand-bottom-sections .brand-section-title{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(28px,3vw,40px)!important;line-height:1!important;letter-spacing:.005em!important;text-transform:uppercase;color:var(--h-text)!important}
2459body.cm_brand .brand-bottom-sections .filter-pill{background:#fff!important;border:1px solid var(--h-line)!important;border-radius:999px!important;box-shadow:none!important;font-size:14px!important;font-weight:600!important;color:var(--h-text)!important;transition:border-color .2s,background .2s}
2460body.cm_brand .brand-bottom-sections .filter-pill:hover{border-color:var(--h-gold)!important;background:var(--h-cream)!important}
2461body.cm_brand .brand-bottom-sections .filter-count{color:var(--h-muted)!important;font-weight:500!important}
2462body.cm_brand .brand-faq-item{background:none!important;border:0!important;border-top:1px solid var(--h-line)!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
2463body.cm_brand .brand-faq-question{background:none!important;border:0!important;box-shadow:none!important}
2464body.cm_brand .brand-faq-text{font-family:var(--h-ui)!important;font-weight:700!important;font-size:16px!important;color:var(--h-text)!important}
2465body.cm_brand .brand-faq-icon{color:var(--h-gold-deep)!important}
2466body.cm_brand .brand-faq-answer p{font-size:15px!important;line-height:1.7!important;color:var(--h-muted)!important}
2467body.cm_brand .brand-order-content{background:var(--h-cream)!important;border:0!important;border-radius:3px!important;box-shadow:none!important}
2468body.cm_brand .brand-order-content p{color:#33363c!important;line-height:1.75!important}
2469body.cm_brand .brand-bottom-sections a{color:var(--h-text)!important;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px}
2470
2471/* ================= footer boxes (same as homepage + product pages) ================= */
2472:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline{background:var(--h-ink2)!important;border-radius:2px!important}
2473:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline h3{font-family:var(--h-disp)!important;font-weight:800!important;font-size:28px!important;text-transform:uppercase;letter-spacing:.01em}
2474:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline button{background:var(--h-gold)!important;color:#111!important;border:0!important;border-radius:2px!important;font-family:var(--h-ui)!important;font-weight:800!important;letter-spacing:.12em!important}
2475:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline button:hover{background:var(--h-gold-hi)!important}
2476:is(body.cm_category,body.cm_parts,body.cm_brand) .footer-seo-content .footer-seo-heading{font-family:var(--h-disp)!important;font-weight:800!important;font-size:clamp(24px,3vw,40px)!important;line-height:1.02!important;text-transform:uppercase;letter-spacing:.005em}
2477:is(body.cm_category,body.cm_parts,body.cm_brand) .footer-seo-content .footer-seo-col h4{font-family:var(--h-disp)!important;font-weight:700!important;font-size:20px!important;text-transform:uppercase;letter-spacing:.01em;border-bottom-color:var(--h-gold)!important}
2478:is(body.cm_category,body.cm_parts,body.cm_brand) .footer-seo-content .footer-seo-col p a{color:var(--h-text)!important;text-decoration:underline!important;text-decoration-color:var(--h-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:3px}
2479
2480/* ================= phones ================= */
2481@media(max-width:700px){
2482:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label,:is(body.cm_category,body.cm_parts,body.cm_brand) .breadcrumbs .breadcrumb-label span{font-size:11px!important;letter-spacing:.06em}
2483body.cm_category .page--category>div.page-content{padding-top:20px!important;padding-bottom:22px!important;margin-bottom:22px!important}
2484body.cm_category .page--category .page-heading{font-size:40px!important;margin:12px 0 10px!important}
2485body.cm_category .page--category .category-intro{font-size:14px;line-height:1.6}
2486body.cm_category #cm_category-page-category-tiles{margin-top:16px}
2487body.cm_category #cm_category-page-category-tiles .cmRepeater_hierarchicalGroups{grid-auto-columns:116px!important;gap:8px!important}
2488body.cm_category #cm_category-page-category-tiles a.cm_vehicle-categories_category-container{padding:8px 8px 10px!important}
2489body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image-container,body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-image{height:58px!important}
2490body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-title{font-size:13.5px!important}
2491body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button{width:36px!important;height:36px!important;background-size:16px!important}
2492body.cm_category .cm_wheel-tire-vehicle-info.cm_desktop-hide .facettitle{font-family:var(--h-disp)!important;font-weight:800!important;font-size:22px!important;text-transform:uppercase;letter-spacing:.01em;color:var(--h-text)!important}
2493/* sort / vehicle / filters row: three equal boxes */
2494body.cm_category .cm_SearchHeader_container{gap:8px;align-items:stretch}
2495body.cm_category .cm_SearchHeader_container>*{flex:1 1 0!important;min-width:0!important;width:auto!important;margin:0!important}
2496body.cm_category .cm_SearchHeader_container .cm_SearchHeader{display:flex}
2497body.cm_category .cm_SearchHeader_container .cm_SearchHeader>*{flex:1 1 auto;min-width:0}
2498body.cm_category .cm_SearchHeader_container .cm_sort select{width:100%!important;max-width:none!important;margin:0!important;height:40px!important;padding-left:8px!important;font-size:13px!important}
2499body.cm_category .cm_SearchHeader_container .cm_sort,body.cm_category .cm_facetDialogButton .cm_dialogButton,body.cm_category .cm_vehicle-widget__search-dialog-button .cm_vehicle-widget_button{width:100%!important;height:42px!important;min-height:42px!important;padding:0 8px!important;display:flex!important;align-items:center;justify-content:center;gap:6px;font-size:12px!important;letter-spacing:.08em!important;white-space:nowrap}
2500/* product photos stay square in the two-across grid */
2501:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;height:auto!important}
2502:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-body{flex:0 0 auto!important;height:auto!important;display:block!important;width:100%}
2503:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure{flex:0 0 auto!important;width:100%!important;height:auto!important;padding:6px!important}
2504:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure__link{width:100%!important;height:auto!important;aspect-ratio:1/1}
2505:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-figure img.card-image{width:100%!important;height:100%!important;max-height:none!important;margin:0!important;object-fit:contain!important}
2506:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .productGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px;margin:0!important;padding:0!important}
2507:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .productGrid>.product{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;min-width:0}
2508:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-body{padding-top:10px!important}
2509:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-title a{font-size:15px!important}
2510:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .card-text .price{font-size:15px!important}
2511:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .halo-badge,body.cm_brand #product-listing-container .sale-flag-side{top:6px!important;left:6px!important;padding:3px 7px!important}
2512:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) .stock-badge{top:auto!important;bottom:6px!important;left:6px!important;right:auto!important;padding:3px 7px!important}
2513:is(body.cm_category .cm_SearchResult,body.cm_brand #product-listing-container) :is(.halo-badge,.sale-flag-side,.stock-badge) *{font-size:10px!important;letter-spacing:.06em!important}
2514body.cm_category .page--category>section.page-content{margin-top:28px!important;padding-top:32px!important}
2515body.cm_category .category-description-full{font-size:14px;line-height:1.65}
2516body.cm_category :is(.category-description-full,.category-intro) p.tp-related-links a{font-size:13px!important;padding:8px 12px;margin:0 6px 6px 0}
2517/* top of page: the link chips sit in one sideways-scrolling row so products are not pushed down */
2518body.cm_category .category-intro p.tp-related-links{white-space:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-15px!important;padding-right:15px}
2519body.cm_category .category-intro p.tp-related-links::-webkit-scrollbar{display:none}
2520body.cm_brand aside.page-sidebar{padding:0!important;margin-bottom:0!important}
2521body.cm_parts .cm_vehicle-widget__vehicle-categories{padding:18px 16px 18px!important}
2522body.cm_parts .cm_vehicle-widget__vehicle-categories .cm_vehicle-widget_title{font-size:28px!important;margin-bottom:14px!important}
2523body.cm_parts .cm_vehicle-widget__vehicle-categories .cmTemplate_locked .cm_vehicle-widget_button{min-height:56px;padding:12px 16px!important;font-size:22px!important}
2524body.cm_parts .page--category>.main a.cm_vehicle-categories_category-container{padding:12px 10px 12px!important}
2525body.cm_parts .page--category>.main .cm_vehicle-categories_category-title{font-size:16px!important;margin-top:8px!important}
2526body.cm_brand #main-content>.container:first-child{padding-top:20px!important;padding-bottom:24px!important;margin-bottom:24px!important}
2527body.cm_brand #main-content>.container:first-child:has(>.brand-image-container){grid-template-columns:minmax(0,1fr);grid-template-areas:"crumbs" "logo" "title" "intro"}
2528body.cm_brand #main-content>.container:first-child>nav{margin-bottom:14px}
2529body.cm_brand #main-content>.container:first-child>.brand-image-container{justify-self:start;width:150px!important;aspect-ratio:auto;padding:10px 14px;margin:0 0 14px!important}
2530body.cm_brand #main-content>.container:first-child>.brand-image-container img{max-height:54px!important}
2531body.cm_brand #main-content>.container:first-child>.page-heading{font-size:40px!important;margin-bottom:10px!important}
2532body.cm_brand #main-content>.container:first-child>.brand-intro p{font-size:14px!important;line-height:1.6!important}
2533body.cm_brand .brand-bottom-sections .brand-section-title{font-size:26px!important}
2534body.cm_brand .brand-faq-text{font-size:15px!important}
2535:is(body.cm_category,body.cm_parts,body.cm_brand) section.tpq-inline h3{font-size:22px!important}
2536}
2537/* ---------- phones: floating fit / chat / contact buttons moved into one small right-hand column (2026-09-28) ----------
2538   All three stay and open as before; only their size and spot change. Column sits above the sticky Add to Cart bar
2539   (product pages) and above the cookie notice while it shows. */
2540@media(max-width:700px){
2541body{--tpf-base:0px}
2542body:has(#stickyATC[style*="display: block"]){--tpf-base:62px}
2543body:has(> .cookieinfo){--tpf-base:118px}
2544body:has(> .cookieinfo):has(#stickyATC[style*="display: block"]){--tpf-base:182px}
2545body #emailPopupOpen{position:fixed!important;left:auto!important;right:14px!important;bottom:calc(14px + var(--tpf-base))!important;width:50px!important;height:50px!important;min-width:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#0a0a0b!important;box-shadow:0 6px 18px rgba(0,0,0,.25)!important;display:flex!important;align-items:center!important;justify-content:center!important}
2546body #emailPopupOpen img{width:24px!important;height:24px!important}
2547body #tp-live-chat{left:auto!important;right:14px!important;bottom:calc(74px + var(--tpf-base))!important}
2548body #tp-live-chat .tp-chat-launcher{background:#0a0a0b!important;width:50px!important;height:50px!important;min-width:0!important;padding:0!important;gap:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 6px 18px rgba(0,0,0,.25)!important}
2549body #tp-live-chat .tp-chat-copy{display:none!important}
2550body #tp-quiz-chip{left:auto!important;right:14px!important;bottom:calc(134px + var(--tpf-base))!important;width:50px!important;height:50px!important;min-width:0!important;padding:0!important;border:0!important;border-radius:50%!important;font-size:0!important;line-height:0!important;letter-spacing:0!important;color:transparent!important;background:#e0a830 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11l1.5-4.5A2 2 0 0 1 8.4 5h7.2a2 2 0 0 1 1.9 1.5L19 11'/%3E%3Cpath d='M3 16.5v-3.5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5'/%3E%3Ccircle cx='7.5' cy='16.5' r='2'/%3
2550E%3Ccircle cx='16.5' cy='16.5' r='2'/%3E%3Cpath d='M9.5 16.5h5'/%3E%3C/svg%3E") center/26px no-repeat!important;box-shadow:0 6px 18px rgba(0,0,0,.25)!important}
2551body #tp-quiz-chip .tpq-x{position:absolute!important;top:-5px!important;right:-5px!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#fff!important;color:#111!important;font-size:13px!important;line-height:20px!important;text-align:center!important;box-shadow:0 1px 4px rgba(0,0,0,.25)!important;margin:0!important;padding:0!important}
2552}
2553/* floating fit / chat / contact buttons drop behind anything that opens over the page (phone menu, search, filters
2554   pop-up, vehicle pop-up, protection pop-up, BigCommerce modals) and come straight back when it closes.
2555   Same markers as the pending theme fix TP-002 (measured on the live site 2026-09-25). */
2556body.has-activeNavPages #tp-quiz-chip,body.has-activeNavPages #tp-live-chat,body.has-activeNavPages #emailPopupOpen,
2557body.has-activeModal #tp-quiz-chip,body.has-activeModal #tp-live-chat,body.has-activeModal #emailPopupOpen,
2558body:has(#cm_SearchBoxDialog:not(:empty)) #tp-quiz-chip,body:has(#cm_SearchBoxDialog:not(:empty)) #tp-live-chat,body:has(#cm_SearchBoxDialog:not(:empty)) #emailPopupOpen,
2559body:has(#cm_FacetDialog:not(:empty)) #tp-quiz-chip,body:has(#cm_FacetDialog:not(:empty)) #tp-live-chat,body:has(#cm_FacetDialog:not(:empty)) #emailPopupOpen,
2560body:has(#cm_VehicleWidgetDialog:not(:empty)) #tp-quiz-chip,body:has(#cm_VehicleWidgetDialog:not(:empty)) #tp-live-chat,body:has(#cm_VehicleWidgetDialog:not(:empty)) #emailPopupOpen,
2561body:has(#extend-offers-modal-iframe:not([style*="display: none"])) #tp-quiz-chip,body:has(#extend-offers-modal-iframe:not([style*="display: none"])) #tp-live-chat,body:has(#extend-offers-modal-iframe:not([style*="display: none"])) #emailPopupOpen{z-index:40!important}
2562/* ---------- test fixes 2026-09-28 ---------- */
2563@media(max-width:700px){
2564/* sort box gets the extra room it needs so "Best Match" / "Price: Low - High" fit */
2565body.cm_category .cm_SearchHeader_container>*{flex:1 1 0!important}
2566body.cm_category .cm_SearchHeader_container>.cm_SearchHeader:has(.cm_sort){flex:1.7 1 0!important}
2567body.cm_category .cm_SearchHeader_container .cm_sort select{font-size:12px!important;padding-right:20px!important;background-position:right 4px center!important;text-overflow:ellipsis}
2568body.cm_category .cm_SearchHeader_container .cm_vehicle-widget__search-dialog-button .cm_vehicle-widget_button,body.cm_category .cm_SearchHeader_container .cm_facetDialogButton .cm_dialogButton{font-size:11.5px!important;letter-spacing:.06em!important;padding:0 6px!important}
2569/* tile strip: right arrow moved in from the edge so it sits clear of the floating fit / chat / contact column */
2570body.cm_category #cm_category-page-category-tiles .cm_vehicle-categories_category-scroll-button_right{right:62px!important;left:auto!important}
2571}
2572/* floating buttons move together (no slide), so they never pass over each other while the cookie notice closes */
2573@media(max-width:700px){
2574body #tp-quiz-chip,body #tp-live-chat,body #emailPopupOpen{transition-property:opacity,transform!important}
2575}
2576</style>
2577
2578</div></div> <div class="body  " id='main-content' role='main' data-currency-code="USD">
2579     
2580    
2581
2582<div class="page page--category">
2583  <div class="page-content container">
2584    <div id="cm_category-page-category-tiles"></div>
2585    <nav aria-label="Breadcrumb">
2586    <ol class="breadcrumbs">
2587                <li class="breadcrumb ">
2588                    <a class="breadcrumb-label"
2589                       href="https://www.threepiece.us/"
2590                       
2591                    >
2592                        <span>
2593                        Home
2594                        <meta itemprop="position" content="0" />
2595                        </span>
2596                    </a>
2597                </li>
2598                <li class="breadcrumb is-active">
2599                    <a class="breadcrumb-label"
2600                       href="https://www.threepiece.us/shop/"
2601                       aria-current="page"
2602                    >
2603                        <span>
2604                        Shop
2605                        <meta itemprop="position" content="1" />
2606                        </span>
2607                    </a>
2608                </li>
2609    </ol>
2610</nav>
2611
2612<script type="application/ld+json">
2613{
2614    "@context": "https://schema.org",
2615    "@type": "BreadcrumbList",
2616    "itemListElement":
2617    [
2618        {
2619            "@type": "ListItem",
2620            "position": 1,
2621            "item": {
2622                "@id": "https:\u002f\u002fwww.threepiece.us\u002f",
2623                "name": "Home"
2624            }
2625        },
2626        {
2627            "@type": "ListItem",
2628            "position": 2,
2629            "item": {
2630                "@id": "https:\u002f\u002fwww.threepiece.us\u002fshop\u002f",
2631                "name": "Shop"
2632            }
2633        }
2634    ]
2635}
2636</script>
2636
2637 
2638    <h1 class="page-heading">Shop</h1>
2639  </div>
2640
2641  <div class="main full grid-bg">
2642    <div class="container">
2643      <aside class="page-sidebar" id="faceted-search-container">
2644        <div class="sidebar-nav-mobile">
2645            <a href="#subcategoryList" role="button" class="facetedSearch-toggle toggleLink toggleSidebarBlock button" data-collapsible>
2646                <span class="facetedSearch-toggle-indicator">
2647                    <span class="toggleLink-text toggleLink-text--on">
2648                        <i class="icon" aria-hidden="true">
2649                            <svg><use xlink:href="#icon-close"></use></svg>
2650                        </i>
2651                        <span>Close to View Results</span>
2652                    </span>
2653                    <span class="toggleLink-text toggleLink-text--off">
2654                        <span>
2655                            <i class="icon" aria-hidden="true">
2656                                <svg><use xlink:href="#icon-sort"></use></svg>
2657                            </i>
2658                            Subcategories
2659                        </span>
2660                    </span>
2661                </span>
2662            </a>
2663                <a href="#facetedSearch-navList" role="button" class="facetedSearch-toggle toggleLink button" data-collapsible="" aria-controls="facetedSearch-navList" aria-expanded="true">
2664                    <span class="facetedSearch-toggle-indicator">
2665                        <span class="toggleLink-text toggleLink-text--on">
2666                            <i class="icon" aria-hidden="true">
2667                                <svg><use xlink:href="#icon-close"></use></svg>
2668                            </i>
2669                            Close to View Results
2670                        </span>
2671
2672                        <span class="toggleLink-text toggleLink-text--off">
2673                            <i class="icon" aria-hidden="true">
2674                                <svg><use xlink:href="#icon-filter"></use></svg>
2675                            </i>
2676                            <span>Filter</span>
2677                        </span>
2678                    </span>
2679                </a>
2680</div>
2681
2682<nav class="facetedSearch-enabled">
2683        <div class="facetedSearch sidebarBlock">
2684            <div id="subcategoryList" class="facetedSearch-navList blocker-container">
2685                <div class="accordion accordion--navList">
2686                    <h5 class="sidebarBlock-heading">Shop</h5>
2687                    <ul class="navList">
2688                        <li class="navList-item">
2689                            <a class="navList-action" href="https://www.threepiece.us/best-deals/" aria-label="BEST DEALS" title="BEST DEALS">BEST DEALS</a>
2690                        </li>
2691                        <li class="navList-item">
2692                            <a class="navList-action" href="https://www.threepiece.us/exhaust" aria-label="Exhaust" title="Exhaust">Exhaust</a>
2693                        </li>
2694                        <li class="navList-item">
2695                            <a class="navList-action" href="https://www.threepiece.us/shop/lifestyle/" aria-label="Lifestyle" title="Lifestyle">Lifestyle</a>
2696                        </li>
2697                        <li class="navList-item">
2698                            <a class="navList-action" href="https://www.threepiece.us/new-wheels" aria-label="Wheels" title="Wheels">Wheels</a>
2699                        </li>
2700                        <li class="navList-item">
2701                            <a class="navList-action" href="https://www.threepiece.us/tires/" aria-label="Tires" title="Tires">Tires</a>
2702                        </li>
2703                        <li class="navList-item">
2704                            <a class="navList-action" href="https://www.threepiece.us/suspension/" aria-label="Suspension" title="Suspension">Suspension</a>
2705                        </li>
2706                        <li class="navList-item">
2707                            <a class="navList-action" href="https://www.threepiece.us/brakes/" aria-label="Brakes" title="Brakes">Brakes</a>
2708                        </li>
2709                        <li class="navList-item">
2710                            <a class="navList-action" href="https://www.threepiece.us/exterior/" aria-label="Exterior" title="Exterior">Exterior</a>
2711                        </li>
2712                        <li class="navList-item">
2713                            <a class="navList-action" href="https://www.threepiece.us/wheel-accessories/" aria-label="Wheel Parts" title="Wheel Parts">Wheel Parts</a>
2714                        </li>
2715                        <li class="navList-item">
2716                            <a class="navList-action" href="https://www.threepiece.us/sale/" aria-label="SALE" title="SALE">SALE</a>
2717                        </li>
2718                    </ul>
2719                </div>
2720                <div class="blocker" style="display: none;"></div>
2721            </div>
2722        </div>
2723            <div id="facetedSearch" class="facetedSearch sidebarBlock">
2724    
2725    <a href="#facetedSearch-navList" role="button" class="facetedSearch-toggle toggleLink button" data-collapsible>
2726        <span class="facetedSearch-toggle-indicator">
2727            <span class="toggleLink-text toggleLink-text--on">
2728                Hide Filters
2729
2730                <i class="icon" aria-hidden="true">
2731                    <svg><use xlink:href="#icon-chevron-down"/></svg>
2732                </i>
2733            </span>
2734
2735            <span class="toggleLink-text toggleLink-text--off">
2736                Show Filters
2737
2738                <i class="icon" aria-hidden="true">
2739                    <svg><use xlink:href="#icon-chevron-down"/></svg>
2740                </i>
2741            </span>
2742        </span>
2743    </a>
2744
2745</div>
2746</nav>
2747      </aside>
2748      
2749
2750      <main class="page-content" id="product-listing-container">
2751         
2752
2753    <div class="sort-and-pagination">
2754        <form class="actionBar sort-products" method="get" data-sort-by="product">
2755    <fieldset class="form-fieldset actionBar-section">
2756    <div class="form-field">
2757        <label class="form-label" for="sort">Sort By:</label>
2758        <select class="form-select form-select--small" name="sort" id="sort">
2759            <option value="featured" selected>Featured Items</option>
2760            <option value="newest" >Newest Items</option>
2761            <option value="bestselling" >Best Selling</option>
2762            <option value="alphaasc" >A to Z</option>
2763            <option value="alphadesc" >Z to A</option>
2764            <option value="avgcustomerreview" >By Review</option>
2765            <option value="priceasc" >Price: Ascending</option>
2766            <option value="pricedesc" >Price: Descending</option>
2767        </select>
2768    </div>
2769</fieldset>
2770</form>
2771        <nav class="pagination" aria-label="pagination">
2772    <ul class="pagination-list">
2773            <li class="pagination-item pagination-item--current">
2774                <a class="pagination-link"
2775                   href="https://www.threepiece.us/shop/?page&#x3D;1"
2776                   data-faceted-search-facet
2777                   aria-current="page"
2778                   data-pagination-current-page-link
2779                   aria-label="Page 1 of 6"
2780                >
2781                    1
2782                </a>
2783            </li>
2784            <li class="pagination-item ">
2785                <a class="pagination-link"
2786                   href="https://www.threepiece.us/shop/?page&#x3D;2"
2787                   data-faceted-search-facet
2788                   aria-label="Page 2 of 6"
2789                >
2790                    2
2791                </a>
2792            </li>
2793            <li class="pagination-item ">
2794                <a class="pagination-link"
2795                   href="https://www.threepiece.us/shop/?page&#x3D;3"
2796                   data-faceted-search-facet
2797                   aria-label="Page 3 of 6"
2798                >
2799                    3
2800                </a>
2801            </li>
2802            <li class="pagination-item ">
2803                <a class="pagination-link"
2804                   href="https://www.threepiece.us/shop/?page&#x3D;4"
2805                   data-faceted-search-facet
2806                   aria-label="Page 4 of 6"
2807                >
2808                    4
2809                </a>
2810            </li>
2811            <li class="pagination-item ">
2812                <a class="pagination-link"
2813                   href="https://www.threepiece.us/shop/?page&#x3D;5"
2814                   data-faceted-search-facet
2815                   aria-label="Page 5 of 6"
2816                >
2817                    5
2818                </a>
2819            </li>
2820            <li class="pagination-item ">
2821                <a class="pagination-link"
2822                   href="https://www.threepiece.us/shop/?page&#x3D;6"
2823                   data-faceted-search-facet
2824                   aria-label="Page 6 of 6"
2825                >
2826                    6
2827                </a>
2828            </li>
2829
2830            <li class="pagination-item pagination-item--next">
2831                <a class="pagination-link"
2832                   href="https://www.threepiece.us/shop/?page&#x3D;2"
2833                   data-faceted-search-facet
2834                   aria-label="Next"
2835                >
2836                    Next
2837                    <i class="icon" aria-hidden="true">
2838                        <svg>
2839                            <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-right"></use>
2840                        </svg>
2841                    </i>
2842                </a>
2843            </li>
2844    </ul>
2845</nav>
2846    </div>
2847
2848    <div >
2849                <ul class="productGrid">
2850    <li class="product">
2851            <article
2852    class="card
2853    
2854    "
2855    data-tp-stock="60"
2856    data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/VR7;;"
2857>
2858    <figure class="card-figure">
2859
2860
2861        <a href="https://www.threepiece.us/vors-vr7-4x100-4x114-3-15x8-0-all-black-gold-rivet/" 
2862           class="card-figure__link"
2863           aria-label="Vors VR7 4x100/4x114.3 15x8  +0 All Black Gold Rivet, $165.00
2864
2865"
2866"
2867           
2868        >
2869            <div class="card-img-container">
2870                <img class="card-image lazyload"
2871                     data-sizes="auto"
2872                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
2873                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785748/2161523/Xla94uF__80442.1699941213.png?c=2"
2874                     alt="Vors VR7 4x100/4x114.3 15x8  +0 All Black Gold Rivet"
2875                     title="Vors VR7 4x100/4x114.3 15x8  +0 All Black Gold Rivet"
2876                     loading="lazy"
2877                     decoding="async"
2878                     width="500"
2879                     height="500">
2880            </div>
2881        </a>
2882            <figcaption class="card-figcaption">
2883                <div class="card-figcaption-body">
2884                    <div class="card-figcaption--action-buttons">
2885                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;785748" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors VR7 4x100/4x114.3 15x8  +0 All Black Gold Rivet">Add to Cart</a>
2886                    </div>
2887                </div>
2888            </figcaption>
2889    </figure>
2890    <div class="card-body">
2891        <div>
2892            <h4 class="card-title">
2893                <a aria-label="Vors VR7 4x100/4x114.3 15x8  +0 All Black Gold Rivet, $165.00
2894
2895"
2896" 
2897                    href="https://www.threepiece.us/vors-vr7-4x100-4x114-3-15x8-0-all-black-gold-rivet/"
2898                    
2899                >
2900                    Vors VR7 4x100/4x114.3 15x8  +0 All Black Gold Rivet
2901                </a>
2902            </h4>
2903            <div class="card-text" data-test-info-type="price">
2904                        
2905            <div class="price-section price-section--withoutTax "  >
2906                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
2907                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
2908                        
2909                    </span>
2910                </span>            
2911    
2912                    <span data-product-price-without-tax class="price price--withoutTax">$165.00</span>
2913    
2914                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
2915                    <span data-product-rrp-without-tax class="price price--rrp"></span>
2916                </div>
2917            </div>
2918    
2919            </div>
2920            <p class="affirm-as-low-as" data-page-type="category" data-amount="16500"></p>
2921            <p class="card-free-shipping">Free Shipping</p>
2922        </div>
2923
2924        <div class="card-details">
2925            
2926                    </div>
2927    </div>
2928</article>
2929<style>
2930    .card-free-shipping {
2931        font-size: 0.7rem;
2932        font-weight: 700;
2933        color: #2e7d32;
2934        margin: 0.1rem 0 0 0;
2935        line-height: 1.3;
2936    }
2937</style>
2938    </li>
2939    <li class="product">
2940            <article
2941    class="card
2942    
2943    "
2944    data-tp-stock="33"
2945    data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/VR2;;"
2946>
2947    <figure class="card-figure">
2948
2949
2950        <a href="https://www.threepiece.us/vors-vr2-4x100-15x8-20-silver-machine-face-lip-chrome-rivet/" 
2951           class="card-figure__link"
2952           aria-label="Vors VR2 4x100 15x8  +20 Silver Machine Face Lip Chrome Rivet, $165.00
2953
2954"
2955"
2956           
2957        >
2958            <div class="card-img-container">
2959                <img class="card-image lazyload"
2960                     data-sizes="auto"
2961                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
2962                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785667/2161442/aRp1f22__90557.1699941185.png?c=2"
2963                     alt="Vors VR2 4x100 15x8  +20 Silver Machine Face Lip Chrome Rivet"
2964                     title="Vors VR2 4x100 15x8  +20 Silver Machine Face Lip Chrome Rivet"
2965                     loading="lazy"
2966                     decoding="async"
2967                     width="500"
2968                     height="500">
2969            </div>
2970        </a>
2971            <figcaption class="card-figcaption">
2972                <div class="card-figcaption-body">
2973                    <div class="card-figcaption--action-buttons">
2974                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;785667" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors VR2 4x100 15x8  +20 Silver Machine Face Lip Chrome Rivet">Add to Cart</a>
2975                    </div>
2976                </div>
2977            </figcaption>
2978    </figure>
2979    <div class="card-body">
2980        <div>
2981            <h4 class="card-title">
2982                <a aria-label="Vors VR2 4x100 15x8  +20 Silver Machine Face Lip Chrome Rivet, $165.00
2983
2984"
2985" 
2986                    href="https://www.threepiece.us/vors-vr2-4x100-15x8-20-silver-machine-face-lip-chrome-rivet/"
2987                    
2988                >
2989                    Vors VR2 4x100 15x8  +20 Silver Machine Face Lip Chrome Rivet
2990                </a>
2991            </h4>
2992            <div class="card-text" data-test-info-type="price">
2993                        
2994            <div class="price-section price-section--withoutTax "  >
2995                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
2996                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
2997                        
2998                    </span>
2999                </span>            
3000    
3001                    <span data-product-price-without-tax class="price price--withoutTax">$165.00</span>
3002    
3003                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3004                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3005                </div>
3006            </div>
3007    
3008            </div>
3009            <p class="affirm-as-low-as" data-page-type="category" data-amount="16500"></p>
3010            <p class="card-free-shipping">Free Shipping</p>
3011        </div>
3012
3013        <div class="card-details">
3014            
3015                    </div>
3016    </div>
3017</article>
3018<style>
3019    .card-free-shipping {
3020        font-size: 0.7rem;
3021        font-weight: 700;
3022        color: #2e7d32;
3023        margin: 0.1rem 0 0 0;
3024        line-height: 1.3;
3025    }
3026</style>
3027    </li>
3028    <li class="product">
3029            <article
3030    class="card
3031    
3032     has-sale-price"
3033    data-tp-stock="60"
3034    data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/TR4;;Shop/SALE;;"
3035>
3036    <figure class="card-figure">
3037                <div class="sale-flag-side">
3038                    <span class="sale-text">Sale</span>
3039                </div>
3040
3041
3042        <a href="https://www.threepiece.us/vors-tr4-5x112-19x9-5-22-hyper-black/" 
3043           class="card-figure__link"
3044           aria-label="Vors TR4 5x112 19x9.5  +22 Hyper Black,     Was:
3045$290.00,
3046    Now:
3047$288.55
3048
3049"
3050"
3051           
3052        >
3053            <div class="card-img-container">
3054                <img class="card-image lazyload"
3055                     data-sizes="auto"
3056                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3057                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785278/2161053/pGNEI1E__01376.1699941051.png?c=2"
3058                     alt="Vors TR4 5x112 19x9.5  +22 Hyper Black"
3059                     title="Vors TR4 5x112 19x9.5  +22 Hyper Black"
3060                     loading="lazy"
3061                     decoding="async"
3062                     width="500"
3063                     height="500">
3064            </div>
3065        </a>
3066            <figcaption class="card-figcaption">
3067                <div class="card-figcaption-body">
3068                    <div class="card-figcaption--action-buttons">
3069                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;785278" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors TR4 5x112 19x9.5  +22 Hyper Black">
3069Add to Cart</a>
3070                    </div>
3071                </div>
3072            </figcaption>
3073    </figure>
3074    <div class="card-body">
3075        <div>
3076            <h4 class="card-title">
3077                <a aria-label="Vors TR4 5x112 19x9.5  +22 Hyper Black,     Was:
3078$290.00,
3079    Now:
3080$288.55
3081
3082"
3083" 
3084                    href="https://www.threepiece.us/vors-tr4-5x112-19x9-5-22-hyper-black/"
3085                    
3086                >
3087                    Vors TR4 5x112 19x9.5  +22 Hyper Black
3088                </a>
3089            </h4>
3090            <div class="card-text" data-test-info-type="price">
3091                        
3092            <div class="price-section price-section--withoutTax "  >
3093                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" >                    
3094                    Was
3095                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3096                        $290.00
3097                    </span>
3098                </span>            
3099    
3100                    <span data-product-price-without-tax class="price price--withoutTax">$288.55</span>
3101    
3102                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3103                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3104                </div>
3105            </div>
3106    
3107            </div>
3108            <p class="affirm-as-low-as" data-page-type="category" data-amount="28855"></p>
3109            <p class="card-free-shipping">Free Shipping</p>
3110        </div>
3111
3112        <div class="card-details">
3113            
3114                    </div>
3115    </div>
3116</article>
3117<style>
3118    .card-free-shipping {
3119        font-size: 0.7rem;
3120        font-weight: 700;
3121        color: #2e7d32;
3122        margin: 0.1rem 0 0 0;
3123        line-height: 1.3;
3124    }
3125</style>
3126    </li>
3127    <li class="product">
3128            <article
3129    class="card
3130    
3131    "
3132    data-tp-stock="60"
3133    data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/TR4;;"
3134>
3135    <figure class="card-figure">
3136
3137
3138        <a href="https://www.threepiece.us/vors-tr4-5x114-3-18x9-5-35-white/" 
3139           class="card-figure__link"
3140           aria-label="Vors TR4 5x114.3 18x9.5  +35 White, $235.00
3141
3142"
3143"
3144           
3145        >
3146            <div class="card-img-container">
3147                <img class="card-image lazyload"
3148                     data-sizes="auto"
3149                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3150                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785215/2160990/iaSB8St__49781.1699941029.png?c=2"
3151                     alt="Vors TR4 5x114.3 18x9.5  +35 White"
3152                     title="Vors TR4 5x114.3 18x9.5  +35 White"
3153                     loading="lazy"
3154                     decoding="async"
3155                     width="500"
3156                     height="500">
3157            </div>
3158        </a>
3159            <figcaption class="card-figcaption">
3160                <div class="card-figcaption-body">
3161                    <div class="card-figcaption--action-buttons">
3162                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;785215" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors TR4 5x114.3 18x9.5  +35 White">Add to Cart</a>
3163                    </div>
3164                </div>
3165            </figcaption>
3166    </figure>
3167    <div class="card-body">
3168        <div>
3169            <h4 class="card-title">
3170                <a aria-label="Vors TR4 5x114.3 18x9.5  +35 White, $235.00
3171
3172"
3173" 
3174                    href="https://www.threepiece.us/vors-tr4-5x114-3-18x9-5-35-white/"
3175                    
3176                >
3177                    Vors TR4 5x114.3 18x9.5  +35 White
3178                </a>
3179            </h4>
3180            <div class="card-text" data-test-info-type="price">
3181                        
3182            <div class="price-section price-section--withoutTax "  >
3183                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3184                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3185                        
3186                    </span>
3187                </span>            
3188    
3189                    <span data-product-price-without-tax class="price price--withoutTax">$235.00</span>
3190    
3191                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3192                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3193                </div>
3194            </div>
3195    
3196            </div>
3197            <p class="affirm-as-low-as" data-page-type="category" data-amount="23500"></p>
3198            <p class="card-free-shipping">Free Shipping</p>
3199        </div>
3200
3201        <div class="card-details">
3202            
3203                    </div>
3204    </div>
3205</article>
3206<style>
3207    .card-free-shipping {
3208        font-size: 0.7rem;
3209        font-weight: 700;
3210        color: #2e7d32;
3211        margin: 0.1rem 0 0 0;
3212        line-height: 1.3;
3213    }
3214</style>
3215    </li>
3216    <li class="product">
3217            <article
3218    class="card
3219    
3220    "
3221    data-tp-stock="60"
3222    data-tp-cats="Shop/Wheels/Vors;;Shop/Wheels/Vors/TR4;;"
3223>
3224    <figure class="card-figure">
3225
3226
3227        <a href="https://www.threepiece.us/vors-tr4-5x114-3-18x8-5-35-white/" 
3228           class="card-figure__link"
3229           aria-label="Vors TR4 5x114.3 18x8.5  +35 White, $263.68
3230
3231"
3232"
3233           
3234        >
3235            <div class="card-img-container">
3236                <img class="card-image lazyload"
3237                     data-sizes="auto"
3238                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3239                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/785159/2160934/iaSB8St__89415.1699941011.png?c=2"
3240                     alt="Vors TR4 5x114.3 18x8.5  +35 White"
3241                     title="Vors TR4 5x114.3 18x8.5  +35 White"
3242                     loading="lazy"
3243                     decoding="async"
3244                     width="500"
3245                     height="500">
3246            </div>
3247        </a>
3248            <figcaption class="card-figcaption">
3249                <div class="card-figcaption-body">
3250                    <div class="card-figcaption--action-buttons">
3251                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;785159" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Vors TR4 5x114.3 18x8.5  +35 White">Add to Cart</a>
3252                    </div>
3253                </div>
3254            </figcaption>
3255    </figure>
3256    <div class="card-body">
3257        <div>
3258            <h4 class="card-title">
3259                <a aria-label="Vors TR4 5x114.3 18x8.5  +35 White, $263.68
3260
3261"
3262" 
3263                    href="https://www.threepiece.us/vors-tr4-5x114-3-18x8-5-35-white/"
3264                    
3265                >
3266                    Vors TR4 5x114.3 18x8.5  +35 White
3267                </a>
3268            </h4>
3269            <div class="card-text" data-test-info-type="price">
3270                        
3271            <div class="price-section price-section--withoutTax "  >
3272                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3273                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3274                        
3275                    </span>
3276                </span>            
3277    
3278                    <span data-product-price-without-tax class="price price--withoutTax">$263.68</span>
3279    
3280                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3281                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3282                </div>
3283            </div>
3284    
3285            </div>
3286            <p class="affirm-as-low-as" data-page-type="category" data-amount="26368"></p>
3287            <p class="card-free-shipping">Free Shipping</p>
3288        </div>
3289
3290        <div class="card-details">
3291            
3292                    </div>
3293    </div>
3294</article>
3295<style>
3296    .card-free-shipping {
3297        font-size: 0.7rem;
3298        font-weight: 700;
3299        color: #2e7d32;
3300        margin: 0.1rem 0 0 0;
3301        line-height: 1.3;
3302    }
3303</style>
3304    </li>
3305    <li class="product">
3306            <article
3307    class="card
3308    
3309    "
3310    data-tp-stock="64"
3311    data-tp-cats="Shop/Wheels/Aodhan;;Shop/Wheels/Aodhan/DS02;;"
3312>
3313    <figure class="card-figure">
3314
3315
3316        <a href="https://www.threepiece.us/aodhan-ds02-5x114-3-19x11-22-vacuum-chrome/" 
3317           class="card-figure__link"
3318           aria-label="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome, $337.25
3319
3320"
3321"
3322           
3323        >
3324            <div class="card-img-container">
3325                <img class="card-image lazyload"
3326                     data-sizes="auto"
3327                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3328                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/756373/2057671/Wo4FILo__60748.1690775595.png?c=2"
3329                     alt="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome"
3330                     title="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome"
3331                     loading="lazy"
3332                     decoding="async"
3333                     width="500"
3334                     height="500">
3335            </div>
3336        </a>
3337            <figcaption class="card-figcaption">
3338                <div class="card-figcaption-body">
3339                    <div class="card-figcaption--action-buttons">
3340                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;756373" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome">Add to Cart</a>
3341                    </div>
3342                </div>
3343            </figcaption>
3344    </figure>
3345    <div class="card-body">
3346        <div>
3347            <h4 class="card-title">
3348                <a aria-label="Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome, $337.25
3349
3350"
3351" 
3352                    href="https://www.threepiece.us/aodhan-ds02-5x114-3-19x11-22-vacuum-chrome/"
3353                    
3354                >
3355                    Aodhan DS02 5x114.3 19x11+22 Vacuum Chrome
3356                </a>
3357            </h4>
3358            <div class="card-text" data-test-info-type="price">
3359                        
3360            <div class="price-section price-section--withoutTax "  >
3361                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3362                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3363                        
3364                    </span>
3365                </span>            
3366    
3367                    <span data-product-price-without-tax class="price price--withoutTax">$337.25</span>
3368    
3369                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3370                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3371                </div>
3372            </div>
3373    
3374            </div>
3375            <p class="affirm-as-low-as" data-page-type="category" data-amount="33725"></p>
3376            <p class="card-free-shipping">Free Shipping</p>
3377        </div>
3378
3379        <div class="card-details">
3380            
3381                    </div>
3382    </div>
3383</article>
3384<style>
3385    .card-free-shipping {
3386        font-size: 0.7rem;
3387        font-weight: 700;
3388        color: #2e7d32;
3389        margin: 0.1rem 0 0 0;
3390        line-height: 1.3;
3391    }
3392</style>
3393    </li>
3394    <li class="product">
3395            <article
3396    class="card
3397    
3398     has-sale-price"
3399    data-tp-stock="16"
3400    data-tp-cats="Shop/Wheels/Aodhan;;Shop/Wheels/Aodhan/DS02;;Shop/SALE;;"
3401>
3402    <figure class="card-figure">
3403                <div class="sale-flag-side">
3404                    <span class="sale-text">Sale</span>
3405                </div>
3406
3407
3408        <a href="https://www.threepiece.us/aodhan-ds02-5x114-3-18x8-5-35-hyper-black/" 
3409           class="card-figure__link"
3410           aria-label="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black,     Was:
3411$249.75,
3412    Now:
3413$248.50
3414
3415"
3416"
3417           
3418        >
3419            <div class="card-img-container">
3420                <img class="card-image lazyload"
3421                     data-sizes="auto"
3422                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3423                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/756317/2057615/GnV8VaV__41633.1690775580.png?c=2"
3424                     alt="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black"
3425                     title="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black"
3426                     loading="lazy"
3427                     decoding="async"
3428                     width="500"
3429                     height="500">
3430            </div>
3431        </a>
3432            <figcaption class="card-figcaption">
3433                <div class="card-figcaption-body">
3434                    <div class="card-figcaption--action-buttons">
3435                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;756317" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - Aodhan DS02 5x114.3 18x8.5+35 Hyper Black">Add to Cart</a>
3436                    </div>
3437                </div>
3438            </figcaption>
3439    </figure>
3440    <div class="card-body">
3441        <div>
3442            <h4 class="card-title">
3443                <a aria-label="Aodhan DS02 5x114.3 18x8.5+35 Hyper Black,     Was:
3444$249.75,
3445    Now:
3446$248.50
3447
3448"
3449" 
3450                    href="https://www.threepiece.us/aodhan-ds02-5x114-3-18x8-5-35-hyper-black/"
3451                    
3452                >
3453                    Aodhan DS02 5x114.3 18x8.5+35 Hyper Black
3454                </a>
3455            </h4>
3456            <div class="card-text" data-test-info-type="price">
3457                        
3458            <div class="price-section price-section--withoutTax "  >
3459                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" >                    
3460                    Was
3461                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3462                        $249.75
3463                    </span>
3464                </span>            
3465    
3466                    <span data-product-price-without-tax class="price price--withoutTax">$248.50</span>
3467    
3468                <div class="price-section price-section--withoutTax rrp-price--withoutTax" >
3469                    <span data-product-rrp-without-tax class="price price--rrp">$249.75</span>
3470                </div>
3471            </div>
3472    
3473            </div>
3474            <p class="affirm-as-low-as" data-page-type="category" data-amount="24850"></p>
3475            <p class="card-free-shipping">Free Shipping</p>
3476        </div>
3477
3478        <div class="card-details">
3479            
3480                    </div>
3481    </div>
3482</article>
3483<style>
3484    .card-free-shipping {
3485        font-size: 0.7rem;
3486        font-weight: 700;
3487        color: #2e7d32;
3488        margin: 0.1rem 0 0 0;
3489        line-height: 1.3;
3490    }
3491</style>
3492    </li>
3493    <li class="product">
3494            <article
3495    class="card
3496    
3497    "
3498    data-tp-stock="26"
3499    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
3500>
3501    <figure class="card-figure">
3502
3503
3504        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-12-chrome/" 
3505           class="card-figure__link"
3506           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME, $399.00
3507
3508"
3509"
3510           
3511        >
3512            <div class="card-img-container">
3513                <img class="card-image lazyload"
3514                     data-sizes="auto"
3515                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3516                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119686/4523646/bushidomonocchromefront_590x__67277.1722405900.png?c=2"
3517                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME"
3518                     title="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME"
3519                     loading="lazy"
3520                     decoding="async"
3521                     width="500"
3522                     height="500">
3523            </div>
3524        </a>
3525            <figcaption class="card-figcaption">
3526                <div class="card-figcaption-body">
3527                    <div class="card-figcaption--action-buttons">
3528                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119686" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME">Add to Cart</a>
3529                    </div>
3530                </div>
3531            </figcaption>
3532    </figure>
3533    <div class="card-body">
3534        <div>
3535            <h4 class="card-title">
3536                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME, $399.00
3537
3538"
3539" 
3540                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-12-chrome/"
3541                    
3542                >
3543                    HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +12 CHROME
3544                </a>
3545            </h4>
3546            <div class="card-text" data-test-info-type="price">
3547                        
3548            <div class="price-section price-section--withoutTax "  >
3549                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3550                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3551                        
3552                    </span>
3553                </span>            
3554    
3555                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
3556    
3557                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3558                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3559                </div>
3560            </div>
3561    
3562            </div>
3563            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
3564            <p class="card-free-shipping">Free Shipping</p>
3565        </div>
3566
3567        <div class="card-details">
3568            
3569                    </div>
3570    </div>
3571</article>
3572<style>
3573    .card-free-shipping {
3574        font-size: 0.7rem;
3575        font-weight: 700;
3576        color: #2e7d32;
3577        margin: 0.1rem 0 0 0;
3578        line-height: 1.3;
3579    }
3580</style>
3581    </li>
3582    <li class="product">
3583            <article
3584    class="card
3585    
3586    "
3587    data-tp-stock="2"
3588    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
3589>
3590    <figure class="card-figure">
3591                    <div class="stock-badge">
3592                        <span class="stock-message">Only 2 left in stock</span>
3593                    </div>
3594
3595
3596        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-38-chrome/" 
3597           class="card-figure__link"
3598           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME, $399.00
3599
3600"
3601"
3602           
3603        >
3604            <div class="card-img-container">
3605                <img class="card-image lazyload"
3606                     data-sizes="auto"
3607                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3608                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119684/4523644/bushidomonocchromefront_590x__76588.1722405900.png?c=2"
3609                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME"
3610                     title="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME"
3611                     loading="lazy"
3612                     decoding="async"
3613                     width="500"
3614                     height="500">
3615            </div>
3616        </a>
3617            <figcaption class="card-figcaption">
3618                <div class="card-figcaption-body">
3619                    <div class="card-figcaption--action-buttons">
3620                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119684" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME">
3620Add to Cart</a>
3621                    </div>
3622                </div>
3623            </figcaption>
3624    </figure>
3625    <div class="card-body">
3626        <div>
3627            <h4 class="card-title">
3628                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME, $399.00
3629
3630"
3631" 
3632                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x120-18x9-5-38-chrome/"
3633                    
3634                >
3635                    HERITAGE WHEEL BUSHIDO MONOC 5x120 18x9.5 +38 CHROME
3636                </a>
3637            </h4>
3638            <div class="card-text" data-test-info-type="price">
3639                        
3640            <div class="price-section price-section--withoutTax "  >
3641                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3642                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3643                        
3644                    </span>
3645                </span>            
3646    
3647                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
3648    
3649                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3650                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3651                </div>
3652            </div>
3653    
3654            </div>
3655            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
3656            <p class="card-free-shipping">Free Shipping</p>
3657        </div>
3658
3659        <div class="card-details">
3660            
3661                    </div>
3662    </div>
3663</article>
3664<style>
3665    .card-free-shipping {
3666        font-size: 0.7rem;
3667        font-weight: 700;
3668        color: #2e7d32;
3669        margin: 0.1rem 0 0 0;
3670        line-height: 1.3;
3671    }
3672</style>
3673    </li>
3674    <li class="product">
3675            <article
3676    class="card
3677    
3678    "
3679    data-tp-stock="26"
3680    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
3681>
3682    <figure class="card-figure">
3683
3684
3685        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-12-chrome/" 
3686           class="card-figure__link"
3687           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME, $399.00
3688
3689"
3690"
3691           
3692        >
3693            <div class="card-img-container">
3694                <img class="card-image lazyload"
3695                     data-sizes="auto"
3696                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3697                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119680/4523640/bushidomonocchromefront_590x__60378.1722405897.png?c=2"
3698                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME"
3699                     title="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME"
3700                     loading="lazy"
3701                     decoding="async"
3702                     width="500"
3703                     height="500">
3704            </div>
3705        </a>
3706            <figcaption class="card-figcaption">
3707                <div class="card-figcaption-body">
3708                    <div class="card-figcaption--action-buttons">
3709                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119680" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME">Add to Cart</a>
3710                    </div>
3711                </div>
3712            </figcaption>
3713    </figure>
3714    <div class="card-body">
3715        <div>
3716            <h4 class="card-title">
3717                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME, $399.00
3718
3719"
3720" 
3721                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-12-chrome/"
3722                    
3723                >
3724                    HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +12 CHROME
3725                </a>
3726            </h4>
3727            <div class="card-text" data-test-info-type="price">
3728                        
3729            <div class="price-section price-section--withoutTax "  >
3730                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3731                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3732                        
3733                    </span>
3734                </span>            
3735    
3736                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
3737    
3738                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3739                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3740                </div>
3741            </div>
3742    
3743            </div>
3744            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
3745            <p class="card-free-shipping">Free Shipping</p>
3746        </div>
3747
3748        <div class="card-details">
3749            
3750                    </div>
3751    </div>
3752</article>
3753<style>
3754    .card-free-shipping {
3755        font-size: 0.7rem;
3756        font-weight: 700;
3757        color: #2e7d32;
3758        margin: 0.1rem 0 0 0;
3759        line-height: 1.3;
3760    }
3761</style>
3762    </li>
3763    <li class="product">
3764            <article
3765    class="card
3766    
3767    "
3768    data-tp-stock="2"
3769    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
3770>
3771    <figure class="card-figure">
3772                    <div class="stock-badge">
3773                        <span class="stock-message">Only 2 left in stock</span>
3774                    </div>
3775
3776
3777        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-38-chrome/" 
3778           class="card-figure__link"
3779           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME, $399.00
3780
3781"
3782"
3783           
3784        >
3785            <div class="card-img-container">
3786                <img class="card-image lazyload"
3787                     data-sizes="auto"
3788                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3789                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119678/4523638/bushidomonocchromefront_590x__66278.1722405896.png?c=2"
3790                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME"
3791                     title="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME"
3792                     loading="lazy"
3793                     decoding="async"
3794                     width="500"
3795                     height="500">
3796            </div>
3797        </a>
3798            <figcaption class="card-figcaption">
3799                <div class="card-figcaption-body">
3800                    <div class="card-figcaption--action-buttons">
3801                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119678" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME">Add to Cart</a>
3802                    </div>
3803                </div>
3804            </figcaption>
3805    </figure>
3806    <div class="card-body">
3807        <div>
3808            <h4 class="card-title">
3809                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME, $399.00
3810
3811"
3812" 
3813                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x115-18x9-5-38-chrome/"
3814                    
3815                >
3816                    HERITAGE WHEEL BUSHIDO MONOC 5x115 18x9.5 +38 CHROME
3817                </a>
3818            </h4>
3819            <div class="card-text" data-test-info-type="price">
3820                        
3821            <div class="price-section price-section--withoutTax "  >
3822                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3823                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3824                        
3825                    </span>
3826                </span>            
3827    
3828                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
3829    
3830                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3831                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3832                </div>
3833            </div>
3834    
3835            </div>
3836            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
3837            <p class="card-free-shipping">Free Shipping</p>
3838        </div>
3839
3840        <div class="card-details">
3841            
3842                    </div>
3843    </div>
3844</article>
3845<style>
3846    .card-free-shipping {
3847        font-size: 0.7rem;
3848        font-weight: 700;
3849        color: #2e7d32;
3850        margin: 0.1rem 0 0 0;
3851        line-height: 1.3;
3852    }
3853</style>
3854    </li>
3855    <li class="product">
3856            <article
3857    class="card
3858    
3859    "
3860    data-tp-stock="26"
3861    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
3862>
3863    <figure class="card-figure">
3864
3865
3866        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-12-chrome/" 
3867           class="card-figure__link"
3868           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME, $399.00
3869
3870"
3871"
3872           
3873        >
3874            <div class="card-img-container">
3875                <img class="card-image lazyload"
3876                     data-sizes="auto"
3877                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3878                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119674/4523634/bushidomonocchromefront_590x__50415.1722405895.png?c=2"
3879                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME"
3880                     title="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME"
3881                     loading="lazy"
3882                     decoding="async"
3883                     width="500"
3884                     height="500">
3885            </div>
3886        </a>
3887            <figcaption class="card-figcaption">
3888                <div class="card-figcaption-body">
3889                    <div class="card-figcaption--action-buttons">
3890                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119674" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME">Add to Cart</a>
3891                    </div>
3892                </div>
3893            </figcaption>
3894    </figure>
3895    <div class="card-body">
3896        <div>
3897            <h4 class="card-title">
3898                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME, $399.00
3899
3900"
3901" 
3902                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-12-chrome/"
3903                    
3904                >
3905                    HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +12 CHROME
3906                </a>
3907            </h4>
3908            <div class="card-text" data-test-info-type="price">
3909                        
3910            <div class="price-section price-section--withoutTax "  >
3911                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
3912                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
3913                        
3914                    </span>
3915                </span>            
3916    
3917                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
3918    
3919                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
3920                    <span data-product-rrp-without-tax class="price price--rrp"></span>
3921                </div>
3922            </div>
3923    
3924            </div>
3925            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
3926            <p class="card-free-shipping">Free Shipping</p>
3927        </div>
3928
3929        <div class="card-details">
3930            
3931                    </div>
3932    </div>
3933</article>
3934<style>
3935    .card-free-shipping {
3936        font-size: 0.7rem;
3937        font-weight: 700;
3938        color: #2e7d32;
3939        margin: 0.1rem 0 0 0;
3940        line-height: 1.3;
3941    }
3942</style>
3943    </li>
3944    <li class="product">
3945            <article
3946    class="card
3947    
3948    "
3949    data-tp-stock="2"
3950    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
3951>
3952    <figure class="card-figure">
3953                    <div class="stock-badge">
3954                        <span class="stock-message">Only 2 left in stock</span>
3955                    </div>
3956
3957
3958        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-38-chrome/" 
3959           class="card-figure__link"
3960           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME, $399.00
3961
3962"
3963"
3964           
3965        >
3966            <div class="card-img-container">
3967                <img class="card-image lazyload"
3968                     data-sizes="auto"
3969                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
3970                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119672/4523632/bushidomonocchromefront_590x__64898.1722405894.png?c=2"
3971                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME"
3972                     title="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME"
3973                     loading="lazy"
3974                     decoding="async"
3975                     width="500"
3976                     height="500">
3977            </div>
3978        </a>
3979            <figcaption class="card-figcaption">
3980                <div class="card-figcaption-body">
3981                    <div class="card-figcaption--action-buttons">
3982                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119672" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME">Add to Cart</a>
3983                    </div>
3984                </div>
3985            </figcaption>
3986    </figure>
3987    <div class="card-body">
3988        <div>
3989            <h4 class="card-title">
3990                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME, $399.00
3991
3992"
3993" 
3994                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x112-18x9-5-38-chrome/"
3995                    
3996                >
3997                    HERITAGE WHEEL BUSHIDO MONOC 5x112 18x9.5 +38 CHROME
3998                </a>
3999            </h4>
4000            <div class="card-text" data-test-info-type="price">
4001                        
4002            <div class="price-section price-section--withoutTax "  >
4003                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4004                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4005                        
4006                    </span>
4007                </span>            
4008    
4009                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
4010    
4011                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4012                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4013                </div>
4014            </div>
4015    
4016            </div>
4017            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
4018            <p class="card-free-shipping">Free Shipping</p>
4019        </div>
4020
4021        <div class="card-details">
4022            
4023                    </div>
4024    </div>
4025</article>
4026<style>
4027    .card-free-shipping {
4028        font-size: 0.7rem;
4029        font-weight: 700;
4030        color: #2e7d32;
4031        margin: 0.1rem 0 0 0;
4032        line-height: 1.3;
4033    }
4034</style>
4035    </li>
4036    <li class="product">
4037            <article
4038    class="card
4039    
4040    "
4041    data-tp-stock="26"
4042    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
4043>
4044    <figure class="card-figure">
4045
4046
4047        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-12-chrome/" 
4048           class="card-figure__link"
4049           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME, $399.00
4050
4051"
4052"
4053           
4054        >
4055            <div class="card-img-container">
4056                <img class="card-image lazyload"
4057                     data-sizes="auto"
4058                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
4059                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119668/4523628/bushidomonocchromefront_590x__38525.1722405893.png?c=2"
4060                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME"
4061                     title="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME"
4062                     loading="lazy"
4063                     decoding="async"
4064                     width="500"
4065                     height="500">
4066            </div>
4067        </a>
4068            <figcaption class="card-figcaption">
4069                <div class="card-figcaption-body">
4070                    <div class="card-figcaption--action-buttons">
4071                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119668" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME">Add to Cart</a>
4072                    </div>
4073                </div>
4074            </figcaption>
4075    </figure>
4076    <div class="card-body">
4077        <div>
4078            <h4 class="card-title">
4079                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME, $399.00
4080
4081"
4082" 
4083                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-12-chrome/"
4084                    
4085                >
4086                    HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +12 CHROME
4087                </a>
4088            </h4>
4089            <div class="card-text" data-test-info-type="price">
4090                        
4091            <div class="price-section price-section--withoutTax "  >
4092                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4093                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4094                        
4095                    </span>
4096                </span>            
4097    
4098                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
4099    
4100                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4101                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4102                </div>
4103            </div>
4104    
4105            </div>
4106            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
4107            <p class="card-free-shipping">Free Shipping</p>
4108        </div>
4109
4110        <div class="card-details">
4111            
4112                    </div>
4113    </div>
4114</article>
4115<style>
4116    .card-free-shipping {
4117        font-size: 0.7rem;
4118        font-weight: 700;
4119        color: #2e7d32;
4120        margin: 0.1rem 0 0 0;
4121        line-height: 1.3;
4122    }
4123</style>
4124    </li>
4125    <li class="product">
4126            <article
4127    class="card
4128    
4129    "
4130    data-tp-stock="2"
4131    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
4132>
4133    <figure class="card-figure">
4134                    <div class="stock-badge">
4135                        <span class="stock-message">Only 2 left in stock</span>
4136                    </div>
4137
4138
4139        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-38-chrome/" 
4140           class="card-figure__link"
4141           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME, $399.00
4142
4143"
4144"
4145           
4146        >
4147            <div class="card-img-container">
4148                <img class="card-image lazyload"
4149                     data-sizes="auto"
4150                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
4151                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119666/4523626/bushidomonocchromefront_590x__25558.1722405892.png?c=2"
4152                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME"
4153                     title="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME"
4154                     loading="lazy"
4155                     decoding="async"
4156                     width="500"
4157                     height="500">
4158            </div>
4159        </a>
4160            <figcaption class="card-figcaption">
4161                <div class="card-figcaption-body">
4162                    <div class="card-figcaption--action-buttons">
4163                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119666" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME">
4163Add to Cart</a>
4164                    </div>
4165                </div>
4166            </figcaption>
4167    </figure>
4168    <div class="card-body">
4169        <div>
4170            <h4 class="card-title">
4171                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME, $399.00
4172
4173"
4174" 
4175                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x110-18x9-5-38-chrome/"
4176                    
4177                >
4178                    HERITAGE WHEEL BUSHIDO MONOC 5x110 18x9.5 +38 CHROME
4179                </a>
4180            </h4>
4181            <div class="card-text" data-test-info-type="price">
4182                        
4183            <div class="price-section price-section--withoutTax "  >
4184                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4185                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4186                        
4187                    </span>
4188                </span>            
4189    
4190                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
4191    
4192                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4193                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4194                </div>
4195            </div>
4196    
4197            </div>
4198            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
4199            <p class="card-free-shipping">Free Shipping</p>
4200        </div>
4201
4202        <div class="card-details">
4203            
4204                    </div>
4205    </div>
4206</article>
4207<style>
4208    .card-free-shipping {
4209        font-size: 0.7rem;
4210        font-weight: 700;
4211        color: #2e7d32;
4212        margin: 0.1rem 0 0 0;
4213        line-height: 1.3;
4214    }
4215</style>
4216    </li>
4217    <li class="product">
4218            <article
4219    class="card
4220    
4221    "
4222    data-tp-stock="26"
4223    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
4224>
4225    <figure class="card-figure">
4226
4227
4228        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-12-chrome/" 
4229           class="card-figure__link"
4230           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME, $399.00
4231
4232"
4233"
4234           
4235        >
4236            <div class="card-img-container">
4237                <img class="card-image lazyload"
4238                     data-sizes="auto"
4239                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
4240                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119662/4523622/bushidomonocchromefront_590x__38240.1722405889.png?c=2"
4241                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME"
4242                     title="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME"
4243                     loading="lazy"
4244                     decoding="async"
4245                     width="500"
4246                     height="500">
4247            </div>
4248        </a>
4249            <figcaption class="card-figcaption">
4250                <div class="card-figcaption-body">
4251                    <div class="card-figcaption--action-buttons">
4252                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119662" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME">Add to Cart</a>
4253                    </div>
4254                </div>
4255            </figcaption>
4256    </figure>
4257    <div class="card-body">
4258        <div>
4259            <h4 class="card-title">
4260                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME, $399.00
4261
4262"
4263" 
4264                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-12-chrome/"
4265                    
4266                >
4267                    HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +12 CHROME
4268                </a>
4269            </h4>
4270            <div class="card-text" data-test-info-type="price">
4271                        
4272            <div class="price-section price-section--withoutTax "  >
4273                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4274                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4275                        
4276                    </span>
4277                </span>            
4278    
4279                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
4280    
4281                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4282                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4283                </div>
4284            </div>
4285    
4286            </div>
4287            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
4288            <p class="card-free-shipping">Free Shipping</p>
4289        </div>
4290
4291        <div class="card-details">
4292            
4293                    </div>
4294    </div>
4295</article>
4296<style>
4297    .card-free-shipping {
4298        font-size: 0.7rem;
4299        font-weight: 700;
4300        color: #2e7d32;
4301        margin: 0.1rem 0 0 0;
4302        line-height: 1.3;
4303    }
4304</style>
4305    </li>
4306    <li class="product">
4307            <article
4308    class="card
4309    
4310    "
4311    data-tp-stock="2"
4312    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
4313>
4314    <figure class="card-figure">
4315                    <div class="stock-badge">
4316                        <span class="stock-message">Only 2 left in stock</span>
4317                    </div>
4318
4319
4320        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-38-chrome/" 
4321           class="card-figure__link"
4322           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME, $399.00
4323
4324"
4325"
4326           
4327        >
4328            <div class="card-img-container">
4329                <img class="card-image lazyload"
4330                     data-sizes="auto"
4331                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
4332                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119660/4523620/bushidomonocchromefront_590x__73275.1722405887.png?c=2"
4333                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME"
4334                     title="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME"
4335                     loading="lazy"
4336                     decoding="async"
4337                     width="500"
4338                     height="500">
4339            </div>
4340        </a>
4341            <figcaption class="card-figcaption">
4342                <div class="card-figcaption-body">
4343                    <div class="card-figcaption--action-buttons">
4344                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119660" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME">Add to Cart</a>
4345                    </div>
4346                </div>
4347            </figcaption>
4348    </figure>
4349    <div class="card-body">
4350        <div>
4351            <h4 class="card-title">
4352                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME, $399.00
4353
4354"
4355" 
4356                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x108-18x9-5-38-chrome/"
4357                    
4358                >
4359                    HERITAGE WHEEL BUSHIDO MONOC 5x108 18x9.5 +38 CHROME
4360                </a>
4361            </h4>
4362            <div class="card-text" data-test-info-type="price">
4363                        
4364            <div class="price-section price-section--withoutTax "  >
4365                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4366                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4367                        
4368                    </span>
4369                </span>            
4370    
4371                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
4372    
4373                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4374                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4375                </div>
4376            </div>
4377    
4378            </div>
4379            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
4380            <p class="card-free-shipping">Free Shipping</p>
4381        </div>
4382
4383        <div class="card-details">
4384            
4385                    </div>
4386    </div>
4387</article>
4388<style>
4389    .card-free-shipping {
4390        font-size: 0.7rem;
4391        font-weight: 700;
4392        color: #2e7d32;
4393        margin: 0.1rem 0 0 0;
4394        line-height: 1.3;
4395    }
4396</style>
4397    </li>
4398    <li class="product">
4399            <article
4400    class="card
4401    
4402    "
4403    data-tp-stock="22"
4404    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
4405>
4406    <figure class="card-figure">
4407
4408
4409        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-chrome/" 
4410           class="card-figure__link"
4411           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME, $399.00
4412
4413"
4414"
4415           
4416        >
4417            <div class="card-img-container">
4418                <img class="card-image lazyload"
4419                     data-sizes="auto"
4420                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
4421                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119656/4523616/bushidomonocchromefront_590x__01025.1722405886.png?c=2"
4422                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME"
4423                     title="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME"
4424                     loading="lazy"
4425                     decoding="async"
4426                     width="500"
4427                     height="500">
4428            </div>
4429        </a>
4430            <figcaption class="card-figcaption">
4431                <div class="card-figcaption-body">
4432                    <div class="card-figcaption--action-buttons">
4433                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119656" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME">Add to Cart</a>
4434                    </div>
4435                </div>
4436            </figcaption>
4437    </figure>
4438    <div class="card-body">
4439        <div>
4440            <h4 class="card-title">
4441                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME, $399.00
4442
4443"
4444" 
4445                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-chrome/"
4446                    
4447                >
4448                    HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 CHROME
4449                </a>
4450            </h4>
4451            <div class="card-text" data-test-info-type="price">
4452                        
4453            <div class="price-section price-section--withoutTax "  >
4454                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4455                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4456                        
4457                    </span>
4458                </span>            
4459    
4460                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
4461    
4462                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4463                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4464                </div>
4465            </div>
4466    
4467            </div>
4468            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
4469            <p class="card-free-shipping">Free Shipping</p>
4470        </div>
4471
4472        <div class="card-details">
4473            
4474                    </div>
4475    </div>
4476</article>
4477<style>
4478    .card-free-shipping {
4479        font-size: 0.7rem;
4480        font-weight: 700;
4481        color: #2e7d32;
4482        margin: 0.1rem 0 0 0;
4483        line-height: 1.3;
4484    }
4485</style>
4486    </li>
4487    <li class="product">
4488            <article
4489    class="card
4490    
4491    "
4492    data-tp-stock="21"
4493    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
4494>
4495    <figure class="card-figure">
4496
4497
4498        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-white/" 
4499           class="card-figure__link"
4500           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE, $339.00
4501
4502"
4503"
4504           
4505        >
4506            <div class="card-img-container">
4507                <img class="card-image lazyload"
4508                     data-sizes="auto"
4509                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
4510                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119655/4523615/bushidomonocwhitefront_590x__22448.1722405886.png?c=2"
4511                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE"
4512                     title="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE"
4513                     loading="lazy"
4514                     decoding="async"
4515                     width="500"
4516                     height="500">
4517            </div>
4518        </a>
4519            <figcaption class="card-figcaption">
4520                <div class="card-figcaption-body">
4521                    <div class="card-figcaption--action-buttons">
4522                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119655" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE">Add to Cart</a>
4523                    </div>
4524                </div>
4525            </figcaption>
4526    </figure>
4527    <div class="card-body">
4528        <div>
4529            <h4 class="card-title">
4530                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE, $339.00
4531
4532"
4533" 
4534                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-12-white/"
4535                    
4536                >
4537                    HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +12 WHITE
4538                </a>
4539            </h4>
4540            <div class="card-text" data-test-info-type="price">
4541                        
4542            <div class="price-section price-section--withoutTax "  >
4543                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4544                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4545                        
4546                    </span>
4547                </span>            
4548    
4549                    <span data-product-price-without-tax class="price price--withoutTax">$339.00</span>
4550    
4551                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4552                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4553                </div>
4554            </div>
4555    
4556            </div>
4557            <p class="affirm-as-low-as" data-page-type="category" data-amount="33900"></p>
4558            <p class="card-free-shipping">Free Shipping</p>
4559        </div>
4560
4561        <div class="card-details">
4562            
4563                    </div>
4564    </div>
4565</article>
4566<style>
4567    .card-free-shipping {
4568        font-size: 0.7rem;
4569        font-weight: 700;
4570        color: #2e7d32;
4571        margin: 0.1rem 0 0 0;
4572        line-height: 1.3;
4573    }
4574</style>
4575    </li>
4576    <li class="product">
4577            <article
4578    class="card
4579    
4580    "
4581    data-tp-stock="20"
4582    data-tp-cats="Shop/Wheels/Heritage Wheel;;Shop/Wheels/Heritage Wheel/BUSHIDO MONOC;;"
4583>
4584    <figure class="card-figure">
4585
4586
4587        <a href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-38-chrome/" 
4588           class="card-figure__link"
4589           aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME, $399.00
4590
4591"
4592"
4593           
4594        >
4595            <div class="card-img-container">
4596                <img class="card-image lazyload"
4597                     data-sizes="auto"
4598                     src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/loading.svg"
4599                     data-src="https://cdn11.bigcommerce.com/s-8zxb6tk/images/stencil/300x300/products/1119654/4523614/bushidomonocchromefront_590x__11668.1722405885.png?c=2"
4600                     alt="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME"
4601                     title="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME"
4602                     loading="lazy"
4603                     decoding="async"
4604                     width="500"
4605                     height="500">
4606            </div>
4607        </a>
4608            <figcaption class="card-figcaption">
4609                <div class="card-figcaption-body">
4610                    <div class="card-figcaption--action-buttons">
4611                                <a href="https://www.threepiece.us/cart.php?action&#x3D;add&amp;product_id&#x3D;1119654" data-event-type="product-click" class="button button--small card-figcaption-button" aria-label="Add to Cart - HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME">Add to Cart</a>
4612                    </div>
4613                </div>
4614            </figcaption>
4615    </figure>
4616    <div class="card-body">
4617        <div>
4618            <h4 class="card-title">
4619                <a aria-label="HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME, $399.00
4620
4621"
4622" 
4623                    href="https://www.threepiece.us/heritage-wheel-bushido-monoc-5x105-18x9-5-38-chrome/"
4624                    
4625                >
4626                    HERITAGE WHEEL BUSHIDO MONOC 5x105 18x9.5 +38 CHROME
4627                </a>
4628            </h4>
4629            <div class="card-text" data-test-info-type="price">
4630                        
4631            <div class="price-section price-section--withoutTax "  >
4632                <span class="price-section price-section--withoutTax non-sale-price--withoutTax" style="display: none;">                    
4633                <span data-product-non-sale-price-without-tax class="price price--non-sale">                                                       
4634                        
4635                    </span>
4636                </span>            
4637    
4638                    <span data-product-price-without-tax class="price price--withoutTax">$399.00</span>
4639    
4640                <div class="price-section price-section--withoutTax rrp-price--withoutTax" style="display: none;">
4641                    <span data-product-rrp-without-tax class="price price--rrp"></span>
4642                </div>
4643            </div>
4644    
4645            </div>
4646            <p class="affirm-as-low-as" data-page-type="category" data-amount="39900"></p>
4647            <p class="card-free-shipping">Free Shipping</p>
4648        </div>
4649
4650        <div class="card-details">
4651            
4652                    </div>
4653    </div>
4654</article>
4655<style>
4656    .card-free-shipping {
4657        font-size: 0.7rem;
4658        font-weight: 700;
4659        color: #2e7d32;
4660        margin: 0.1rem 0 0 0;
4661        line-height: 1.3;
4662    }
4663</style>
4664    </li>
4665</ul>
4666    </div>
4667
4668    <nav class="pagination" aria-label="pagination">
4669    <ul class="pagination-list">
4670            <li class="pagination-item pagination-item--current">
4671                <a class="pagination-link"
4672                   href="https://www.threepiece.us/shop/?page&#x3D;1"
4673                   data-faceted-search-facet
4674                   aria-current="page"
4675                   data-pagination-current-page-link
4676                   aria-label="Page 1 of 6"
4677                >
4678                    1
4679                </a>
4680            </li>
4681            <li class="pagination-item ">
4682                <a class="pagination-link"
4683                   href="https://www.threepiece.us/shop/?page&#x3D;2"
4684                   data-faceted-search-facet
4685                   aria-label="Page 2 of 6"
4686                >
4687                    2
4688                </a>
4689            </li>
4690            <li class="pagination-item ">
4691                <a class="pagination-link"
4692                   href="https://www.threepiece.us/shop/?page&#x3D;3"
4693                   data-faceted-search-facet
4694                   aria-label="Page 3 of 6"
4695                >
4696                    3
4697                </a>
4698            </li>
4699            <li class="pagination-item ">
4700                <a class="pagination-link"
4701                   href="https://www.threepiece.us/shop/?page&#x3D;4"
4702                   data-faceted-search-facet
4703                   aria-label="Page 4 of 6"
4704                >
4705                    4
4706                </a>
4707            </li>
4708            <li class="pagination-item ">
4709                <a class="pagination-link"
4710                   href="https://www.threepiece.us/shop/?page&#x3D;5"
4711                   data-faceted-search-facet
4712                   aria-label="Page 5 of 6"
4713                >
4714                    5
4715                </a>
4716            </li>
4717            <li class="pagination-item ">
4718                <a class="pagination-link"
4719                   href="https://www.threepiece.us/shop/?page&#x3D;6"
4720                   data-faceted-search-facet
4721                   aria-label="Page 6 of 6"
4722                >
4723                    6
4724                </a>
4725            </li>
4726
4727            <li class="pagination-item pagination-item--next">
4728                <a class="pagination-link"
4729                   href="https://www.threepiece.us/shop/?page&#x3D;2"
4730                   data-faceted-search-facet
4731                   aria-label="Next"
4732                >
4733                    Next
4734                    <i class="icon" aria-hidden="true">
4735                        <svg>
4736                            <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-chevron-right"></use>
4737                        </svg>
4738                    </i>
4739                </a>
4740            </li>
4741    </ul>
4742</nav>
4743
4744 <div data-content-region="category_below_content"></div>
4745      </main>
4746    </div>
4747  </div>
4748
4749  <section class="page-content container">
4750    <div data-content-region="category_below_header"></div>
4751    <div class="category-description-full"></div>
4752    
4753  </section>
4754</div>
4755
4756
4757     
4758    <div id="modal" class="modal" data-reveal data-prevent-quick-search-close role="dialog" aria-modal="true" aria-label="Product details">
4759    <button class="modal-close"
4760        type="button"
4761        title="Close"
4762        
4763>
4764    <span class="aria-description--hidden">Close</span>
4765    <span aria-hidden="true">&#215;</span>
4766</button>
4767    <div class="modal-content"></div>
4768    <div class="loadingOverlay" role="status" aria-label="Loading"></div>
4769</div>
4770    <div id="alert-modal" class="modal modal--alert modal--small" data-reveal data-prevent-quick-search-close role="alertdialog" aria-modal="true" aria-label="Alert">
4771    <div class="swal2-icon swal2-error swal2-icon-show"><span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span></div>
4772
4773    <div class="modal-content"></div>
4774
4775    <div class="button-container"><button type="button" class="confirm button" data-reveal-close>OK</button></div>
4776</div>
4777</div>
4778 
4779                    
4780<footer class="footer" role="contentinfo">
4781    <h2 class="footer-title-sr-only">Footer Start</h2>
4782    <div class="container">
4783        <section class="footer-seo-content">
4784            <div class="footer-seo-inner">
4785                <h3 class="footer-seo-heading">America's Trusted Custom Wheel & Performance Rim Specialists Since 2014</h3>
4786                <div class="footer-seo-columns">
4787                    <div class="footer-seo-col">
4788                        <h4>Expert Wheel Fitment Services</h4>
4789                        <p>ThreePiece.us specializes in <a href="/new-wheels/">custom wheel fitment</a> for daily drivers, show cars, and professional race vehicles. Our expert team has 10+ years of experience calculating perfect offset, diameter, width, and bolt pattern specifications for aggressive stance, flush fitment, and stretched tire setups. Try our 
4789<a href="/wheel-fitment-calculator/">wheel fitment calculator</a>, see any wheel on your car in the <a href="https://visualizer.threepiece.us/">free wheel visualizer</a>, browse our <a href="https://vehicles.threepiece.us/vehicles/">vehicle fitment database</a> for verified bolt patterns and specs, or read our <a href="/faq/">fitment FAQ</a>. We guarantee proper fitment or we'll make it right.</p>
4790                    </div>
4791                    <div class="footer-seo-col">
4792                        <h4>Premium Wheel Brands In Stock</h4>
4793                        <p>Authorized dealer for <a href="/new-wheels/work-wheels/">Work Wheels</a>, <a href="/new-wheels/ssr-wheels/">SSR</a>, <a href="/new-wheels/wedssport-1/">Weds</a>, <a href="/new-wheels/volk-racing/">Volk Racing</a>, <a href="/brands/Rays.html">Rays Engineering</a>, <a href="/new-wheels/enkei/">Enkei</a>, <a href="/new-wheels/bbs/">BBS</a>, and all major JDM and European performance wheel brands. Largest selection of forged wheels, lightweight rims, and authentic Japanese performance wheels in America. Every wheel is 100% genuine.</p>
4794                    </div>
4795                    <div class="footer-seo-col">
4796                        <h4>Free Shipping & Expert Support</h4>
4797                        <p>Free shipping on all wheel & tire packages within the continental US. Professional mounting and balancing by expert technicians. 30-day returns on unmounted wheels. Financing available through Affirm, Klarna, PayPal Credit, and Snap Finance. Contact our fitment specialists at <a href="/cdn-cgi/l/email-protection#483b29242d3b083c203a2d2d38212d2b2d663d3b"><span class="__cf_email__" data-cfemail="7c0f1d10190f3c08140e19190c15191f1952090f">[email&#160;protected]</span></a> for personalized wheel recommendations and sizing advice.</p>
4798                    </div>
4799                </div>
4800                <div class="footer-trust-badges">
4801                    <div class="trust-badge-item">
4802                        <strong>✓ 10+ Years Experience</strong>
4803                        <span>Serving Enthusiasts Since 2014</span>
4804                    </div>
4805                    <div class="trust-badge-item">
4806                        <strong>✓ 10,000+ Customers</strong>
4807                        <span>Trusted Fitment Experts</span>
4808                    </div>
4809                    <div class="trust-badge-item">
4810                        <strong>✓ Free Shipping</strong>
4811                        <span>On All Packages</span>
4812                    </div>
4813                    <div class="trust-badge-item">
4814                        <strong>✓ Authentic Products</strong>
4815                        <span>100% Genuine Wheels</span>
4816                    </div>
4817                    <div class="trust-badge-item">
4818                        <strong>✓ Expert Fitment</strong>
4819                        <span>Guaranteed Perfect Fit</span>
4820                    </div>
4821                </div>
4822            </div>
4823        </section>
4824        <section class="footer-info 4a616d6573">
4825            <article class="footer-info-col footer-info-dropdown footer-info-col--small" data-section-type="footer-categories">
4826                <h5 class="footer-info-heading">
4827                    Categories
4828                    <i class="icon" aria-hidden="true">
4829                        <svg><use xlink:href="#icon-downselector" /></svg>
4830                    </i>
4831                </h5>
4832                <ul class="footer-info-list">
4833                        <li >
4834                            <a href="https://www.threepiece.us/custom-wheel-tire-package-builder/" title="Shop Custom Wheel &amp; Tire Package Builder - Custom Wheels & Performance Rims">Custom Wheel &amp; Tire Package Builder</a>
4835                        </li>
4836                        <li >
4837                            <a href="https://www.threepiece.us/shop/" title="Shop Shop - Custom Wheels & Performance Rims">Shop</a>
4838                        </li>
4839                        <li >
4840                            <a href="https://www.threepiece.us/heritage-wheel/" title="Shop Heritage Wheel - Custom Wheels & Performance Rims">Heritage Wheel</a>
4841                        </li>
4842                        <li >
4843                            <a href="https://www.threepiece.us/mounted-packages/" title="Shop Wheel &amp; Tire Packages - Custom Wheels & Performance Rims">Wheel &amp; Tire Packages</a>
4844                        </li>
4845                        <li  style="display: none;" >
4846                            <a href="https://www.threepiece.us/finish-your-installation-kit/" title="Shop Finis
4846h Your Installation Kit - Custom Wheels & Performance Rims">Finish Your Installation Kit</a>
4847                        </li>
4848                </ul>
4849            </article>
4850
4851            <article class="footer-info-col footer-info-dropdown footer-info-col--small" data-section-type="footer-webPages">
4852                <h5 class="footer-info-heading">
4853                    Information
4854                    <i class="icon" aria-hidden="true">
4855                        <svg><use xlink:href="#icon-downselector" /></svg>
4856                    </i>
4857                </h5>
4858                <ul class="footer-info-list">
4859                        <li>
4860                            <a href="https://www.threepiece.us/faq/" title="FAQ - ThreePiece.us Custom Wheels">FAQ</a>
4861                        </li>
4862                        <li>
4863                            <a href="https://visualizer.threepiece.us/" title="Wheel Visualizer - ThreePiece.us Custom Wheels">Wheel Visualizer</a>
4864                        </li>
4865                        <li>
4866                            <a href="https://gallery.threepiece.us/" title="Threepieceus Gallery - ThreePiece.us Custom Wheels">Threepieceus Gallery</a>
4867                        </li>
4868                        <li>
4869                            <a href="https://www.threepiece.us/add-vehicle/" title="Add Your Ride - ThreePiece.us Custom Wheels">Add Your Ride</a>
4870                        </li>
4871                        <li>
4872                            <a href="https://www.threepiece.us/blog/" title="Fitment Info - ThreePiece.us Custom Wheels">Fitment Info</a>
4873                        </li>
4874                        <li>
4875                            <a href="https://www.threepiece.us/about-us/" title="About Us - ThreePiece.us Custom Wheels">About Us</a>
4876                        </li>
4877                    <li>
4878                        <a href="https://vehicles.threepiece.us/vehicles/" title="Vehicle Fitment Database - Bolt Patterns, Offsets & Wheel Specs by Year & Trim">Vehicle Fitment Database</a>
4879                    </li>
4880                    <li>
4881                        <a href="/contact-us" title="Contact Our Wheel Fitment Experts - Get Personalized Sizing Advice">Contact Us</a>
4882                    </li>
4883                    <li>
4884                        <a href="/privacy-policy" title="Privacy Policy - ThreePiece.us">Privacy Policy</a>
4885                    </li>
4886                    <li>
4887                        <a href="/sms-terms/" title="SMS Terms & Conditions - Text Message Program - ThreePiece.us">SMS Terms</a>
4888                    </li>
4889                    <li>
4890                        <a href="/shipping-return" title="Free Shipping on Packages - 30-Day Returns on Unmounted Wheels">Shipping & Return</a>
4891                    </li>
4892                    <li>
4893                        <a href="/terms-and-conditions" title="Terms & Conditions - ThreePiece.us">Terms & Conditions</a>
4894                    </li>
4895                    <li>
4896                        <a href="/accessibility" title="Accessibility Statement - ThreePiece.us">Accessibility</a>
4897                    </li>
4898                    <li>
4899                        <a href="https://www.threepiece.us/sitemap.php" title="Site Map - Browse All Custom Wheels & Performance Rims">Sitemap</a>
4900                    </li>
4901                </ul>
4902            </article>
4903        
4904                <article class="footer-info-col footer-info-dropdown footer-info-col--small" data-section-type="footer-brands">
4905                    <h5 class="footer-info-heading">
4906                        Brands
4907                        <i class="icon" aria-hidden="true">
4908                            <svg><use xlink:href="#icon-downselector" /></svg>
4909                        </i>
4910                    </h5>
4911                    <ul class="footer-info-list">
4912                            <li>
4913                                <a href="https://www.threepiece.us/Work-wheels-rims/" title="Work Wheels Custom Wheels - Authentic JDM & Performance Rims">Work Wheels</a>
4914                            </li>
4915                            <li>
4916                                <a href="https://www.threepiece.us/ccw-wheels-rims/" title="CCW Wheels Custom Wheels - Authentic JDM & Performance Rims">CCW Wheels</a>
4917                            </li>
4918                            <li>
4919                                <a href="https://www.threepiece.us/SSR-wheels-rims/" title="SSR Wheels Custom Wheels - Authentic JDM & Performance Rims">SSR Wheels</a>
4920                            </li>
4921                            <li>
4922                                <a href="https://www.threepiece.us/fuel-forged/" title="Fuel Forged Custom Wheels - Authentic JDM & Performance Rims">Fuel Forged</a>
4923                            </li>
4924                            <li>
4925                                <a href="https://www.threepiece.us/fuel-wheels-rims/" title="Fuel 1PC Custom Wheels - Authentic JDM & Performance Rims">Fuel 1PC</a>
4926                            </li>
4927                            <li>
4928                                <a href="https://www.threepiece.us/american-force-wheels-rims/" title="American Force Custom Wheels - Authentic JDM & Performance Rims">
4928American Force</a>
4929                            </li>
4930                            <li>
4931                                <a href="https://www.threepiece.us/esr-wheels-rims/" title="ESR Wheels Custom Wheels - Authentic JDM & Performance Rims">ESR Wheels</a>
4932                            </li>
4933                            <li>
4934                                <a href="https://www.threepiece.us/black-rhino-wheels-rims/" title="Black Rhino Custom Wheels - Authentic JDM & Performance Rims">Black Rhino</a>
4935                            </li>
4936                            <li>
4937                                <a href="https://www.threepiece.us/tsw-wheels-rims/" title="TSW Custom Wheels - Authentic JDM & Performance Rims">TSW</a>
4938                            </li>
4939                            <li>
4940                                <a href="https://www.threepiece.us/xd-wheels-rims/" title="XD Custom Wheels - Authentic JDM & Performance Rims">XD</a>
4941                            </li>
4942                        <li><a href="https://www.threepiece.us/brands/" title="View All Wheel Brands - Work, SSR, Weds, Volk Racing & More">View All</a></li>
4943                    </ul>
4944                </article>
4945            
4946                <article class="footer-info-col footer-mobile-limited footer-info-col--small" data-section-type="footer-webPages">
4947                    <h5 class="footer-info-heading">Follow Us</h5>
4948                        <ul class="socialLinks socialLinks--alt">
4949            <li class="socialLinks-item">
4950                <a class="icon icon--youtube" href="https://www.youtube.com/threepieceus" target="_blank" rel="noopener" aria-label="youtube (opens in new window)">
4951                    <svg aria-hidden="true"><use xlink:href="#icon-youtube" /></svg>
4952                </a>
4953            </li>
4954            <li class="socialLinks-item">
4955                <a class="icon icon--instagram" href="https://instagram.com/threepiece.us/" target="_blank" rel="noopener" aria-label="instagram (opens in new window)">
4956                    <svg aria-hidden="true"><use xlink:href="#icon-instagram" /></svg>
4957                </a>
4958            </li>
4959            <li class="socialLinks-item">
4960                <a class="icon icon--facebook" href="https://www.facebook.com/threepiece.us" target="_blank" rel="noopener" aria-label="facebook (opens in new window)">
4961                    <svg aria-hidden="true"><use xlink:href="#icon-facebook" /></svg>
4962                </a>
4963            </li>
4964    </ul>
4965                </article>
4966            
4967                <article class="footer-info-col footer-mobile-limited footer-info-col--small" data-section-type="storeInfo">
4968                    <h5 class="footer-info-heading footer-store-name">Threepieceus</h5>
4969                    <address>_</address>                    
4970                    <!-- 
4971                        <div class="footer-info-phone">
4972                            <i class="icon" aria-hidden="true">
4973                                <svg><use xlink:href="#icon-phone" /></svg>
4974                            </i>
4975                            <a href="tel:909-398-1387">909-398-1387</a>
4976                        </div>
4977                     -->
4978                    <div class="footer-info-phone">
4979                        <i class="icon" aria-hidden="true">
4980                            <svg><use xlink:href="#icon-mail" /></svg>
4981                        </i>
4982                        <a href="/cdn-cgi/l/email-protection#5b283a373e281b2f33293e3e2b323e383e752e28"><span class="__cf_email__" data-cfemail="80f3e1ece5f3c0f4e8f2e5e5f0e9e5e3e5aef5f3">[email&#160;protected]</span></a>                       
4983                        <div class="footer-newsletter-form-klaviyo">
4984                            <div class="klaviyo-form-YgEL95"></div>
4985                        </div>
4986                    </div>                    
4987                </article>
4988        </section>
4989        <div class="footer-copyright">
4990                <div class="footer-payment-icons">
4991        <svg class="footer-payment-icon"><use xlink:href="#icon-logo-american-express"></use></svg>
4992        <svg class="footer-payment-icon"><use xlink:href="#icon-logo-discover"></use></svg>
4993        <svg class="footer-payment-icon"><use xlink:href="#icon-logo-mastercard"></use></svg>
4994        <svg class="footer-payment-icon"><use xlink:href="#icon-logo-paypal"></use></svg>
4995        <svg class="footer-payment-icon"><use xlink:href="#icon-logo-visa"></use></svg>
4996        <svg class="footer-payment-icon"><use xlink:href="#icon-logo-klarna"></use></svg>
4997    </div>
4998                <p class="powered-by">&copy; 2026 Threepieceus </p>
4999            <p class="powered-by" style="font-size: 11px; opacity: 0.7;"><a href="https://db-ip.com" rel="nofollow">IP Geolocation by DB-IP</a></p>
5000        </div>
5001        
5002    </div>
5003    <div data-content-region="ssl_site_seal--global"></div>
5004</footer>
vendor: 115 bytes, lines 5004-5007
5004
5005
5006
5007    <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
5007<script>
5008      window.__webpack_public_path__ = "https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/";
5009    </script>
5009
5010    
5010<script>
5011      function onThemeBundleMain() {
5012          window.stencilBootstrap("category", "{\"categoryProductsPerPage\":12,\"categoryId\":7337,\"zoomSize\":\"1280x1280\",\"productSize\":\"550x550\",\"genericError\":\"Oops! Something went wrong.\",\"maintenanceModeSettings\":[],\"adminBarLanguage\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"admin.maintenance_header\\\":\\\"en\\\",\\\"admin.maintenance_tooltip\\\":\\\"en\\\",\\\"admin.maintenance_showstore_link\\\":\\\"en\\\",\\\"admin.prelaunch_header\\\":\\\"en\\\",\\\"admin.page_builder_link\\\":\\\"en\\\"},\\\"translations\\\":{\\\"admin.maintenance_header\\\":\\\"Your store is down for maintenance.\\\",\\\"admin.maintenance_tooltip\\\":\\\"Only administrators can view the store at the moment. Visit your control panel settings page to disable maintenance mode.\\\",\\\"admin.maintenance_showstore_link\\\":\\\"Click here to see what your visitors will see.\\\",\\\"admin.prelaunch_header\\\":\\\"Your storefront is private. Share your site with preview code:\\\",\\\"admin.page_builder_link\\\":\\\"Design this page in Page Builder\\\"}}\",\"urls\":{\"home\":\"https://www.threepiece.us/\",\"brands\":\"https://www.threepiece.us/brands/\",\"search\":\"https://www.threepiece.us/search.php\",\"compare\":\"https://www.threepiece.us/compare\",\"sitemap\":\"https://www.threepiece.us/sitemap.php\",\"contact_us_submit\":\"https://www.threepiece.us/pages.php?action=sendContactForm\",\"subscribe\":{\"action\":\"https://www.threepiece.us/subscribe.php\"},\"checkout\":{\"single_address\":\"https://www.threepiece.us/checkout\",\"multiple_address\":\"https://www.threepiece.us/checkout.php?action=multiple\"},\"account\":{\"orders\":{\"all\":\"https://www.threepiece.us/account.php?action=order_status\",\"completed\":\"https://www.threepiece.us/account.php?action=view_orders\",\"save_new_return\":\"https://www.threepiece.us/account.php?action=save_new_return\"},\"returns\":\"https://www.threepiece.us/account.php?action=view_returns\",\"addresses\":\"https://www.threepiece.us/account.php?action=address_book\",\"inbox\":\"https://www.threepiece.us/account.php?action=inbox\",\"send_message\":\"https://www.threepiece.us/account.php?action=send_message\",\"add_address\":\"https://www.threepiece.us/account.php?action=add_shipping_address\",\"update_action\":\"https://www.threepiece.us/account.php?action=update_account\",\"details\":\"https://www.threepiece.us/account.php?action=account_details\",\"recent_items\":\"https://www.threepiece.us/account.php?action=recent_items\",\"index\":\"https://www.threepiece.us/account.php\",\"wishlists\":{\"all\":\"https://www.threepiece.us/wishlist.php\",\"add\":\"https://www.threepiece.us/wishlist.php?action=addwishlist\",\"edit\":\"https://www.threepiece.us/wishlist.php?action=editwishlist\",\"delete\":\"https://www.threepiece.us/wishlist.php?action=deletewishlist\"}},\"auth\":{\"login\":\"https://www.threepiece.us/login.php\",\"check_login\":\"https://www.threepiece.us/login.php?action=check_login\",\"create_account\":\"https://www.threepiece.us/login.php?action=create_account\",\"save_new_account\":\"https://www.threepiece.us/login.php?action=save_new_account\",\"forgot_password\":\"https://www.threepiece.us/login.php?action=reset_password\",\"send_password_email\":\"https://www.threepiece.us/login.php?action=send_password_email\",\"save_new_password\":\"https://www.threepiece.us/login.php?action=save_new_password\",\"logout\":\"https://www.threepiece.us/login.php?action=logout\"},\"cart\":\"https://www.threepiece.us/cart.php\",\"product\":{\"post_review\":\"https://www.threepiece.us/postreview.php\"},\"gift_certificate\":{\"purchase\":\"https://www.threepiece.us/giftcertificates.php\",\"redeem\":\"https://www.threepiece.us/giftcertificates.php?action=redeem\",\"balance\":\"https://www.threepiece.us/giftcertificates.php?action=balance\"},\"rss\":{\"products\":{\"featured\":\"https://www.threepiece.us/rss.php?action=featuredproducts&type=rss\",\"featured_atom\":\"https://www.threepiece.us/rss.php?action=featuredproducts&type=atom\",\"search\":\"https://www.threepiece.us/rss.php?action=searchproducts&type=rss\",\"search_atom\":\"https://www.threepiece.us/rss.php?action=searchproducts&type=atom\"},\"blog\":\"https://www.threepiece.us/rss.php?action=newblogs&type=rss\",\"blog_atom\":\"https://www.threepiece.us/rss.php?action=newblogs&type=atom\"}},\"secureBaseUrl\":\"https://www.threepiece.us\",\"cartId\":null,\"channelId\":1,\"template\":\"pages/category\",\"validationDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_messages.val
5012id_email\\\":\\\"en\\\",\\\"validation_messages.password\\\":\\\"en\\\",\\\"validation_messages.password_match\\\":\\\"en\\\",\\\"validation_messages.invalid_password\\\":\\\"en\\\",\\\"validation_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationFallbackDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"en\\\",\\\"validation_fallback_messages.password\\\":\\\"en\\\",\\\"validation_fallback_messages.password_match\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"en\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_fallback_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_fallback_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_fallback_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"validationDefaultDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_default_messages.val
5012id_email\\\":\\\"en\\\",\\\"validation_default_messages.password\\\":\\\"en\\\",\\\"validation_default_messages.password_match\\\":\\\"en\\\",\\\"validation_default_messages.invalid_password\\\":\\\"en\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"en\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_default_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_default_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_default_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_default_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_default_messages.field_not_blank\\\":\\\"The field cannot be blank.\\\",\\\"validation_default_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_default_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_default_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_default_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_default_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_default_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\",\\\"validation_default_messages.invalid_gift_certificate\\\":\\\"Please enter your valid certificate code.\\\"}}\",\"carouselArrowAndDotAriaLabel\":\"Go to slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"carouselActiveDotAriaLabel\":\"active\",\"carouselContentAnnounceMessage\":\"You are currently on slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"noCompareMessage\":\"You must select at least two products to compare\"}").load();
5013      }
5014    </script>
5014
5015    
5015<script
5016      async
5017      defer
5018      src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/dist/theme-bundle.main.js"
5019      onload="onThemeBundleMain()"
5020    ></script>
5020
5021
5022    
5022<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/csrf-protection-header-5eeddd5de78d98d146ef4fd71b2aedce4161903e.js"></script>
vendor: 1 bytes, line 5022
5022
5023<script src='https://bigcommerce.snapfinance.com/storage/app/public/snap.js?eraseCache=true' ></script>
5023<script src='https://js.snapfinance.com/v2/snap-sdk.js' ></script>
vendor: 1 bytes, line 5023
5023
5024<script>      
5025window.dataLayer = window.dataLayer || [];      
5026     
5027</script>
5027<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WcaDix"></script>
5027<script>  
5028// schema found here: https://developer.bigcommerce.com/docs/storefront/stencil/themes/context/object-reference/schemas#category
5029    
5030window.dataLayer = window.dataLayer || [];      
5031
5032window.dataLayer.push({  
5033  event: 'dl_view_category', 
5034  ecommerce: { 
5035    name: 'Shop',
5036      total_products: '10000'
5037  }  
5038});  
5039</script>
5039<script>
5040var _learnq = _learnq || [];
5041var product_categories = [];
5042
5043  var item = {
5044  Name: "",
5045  ProductID: "",
5046  ImageURL: "https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/img/ProductDefault.gif",
5047  URL: "",
5048  Brand: "",
5049  Categories: product_categories,
5050  Price: "",
5051  CompareAtPrice:""
5052  };
5053
5054  _learnq.push(['track', 'Viewed Product', item]);
5055
5056  _learnq.push(['trackViewedItem', {
5057  Title: item.Name,
5058  ItemId: item.ProductID,
5059  Categories: item.Categories,
5060  ImageUrl: item.ImageURL,
5061  Url: item.URL,
5062  Metadata: {
5063  Brand: item.Brand,
5064  Price: item.Price,
5065  CompareAtPrice: item.CompareAtPrice
5066  }
5067  }]);
5068
5069</script>
5069<script>
5070    var _learnq = _learnq || [];
5071    var buttonsMultiples = document.querySelectorAll(".atc-multiple");
5072    var buttonsSingleItems = document.querySelectorAll("#form-action-addToCart");
5073    
5074
5075    if(buttonsMultiples.length > 0){  
5076      buttonsMultiples.forEach((button) => {
5077          button.addEventListener("click", (event) => {
5078            var item = event.target
5079            _learnq.push(["track", "Added to Cart", item]);
5080          });
5081      });
5082    } else if(buttonsSingleItems.length > 0){
5083        buttonsSingleItems[0].addEventListener("click", (event) => {
5084            var item = event.target
5085            _learnq.push(["track", "Added to Cart", item]);
5086        })
5087    }
5088  </script>
5088<script type="text/javascript" src="https://threepieceus.myconvermax.com/static/search.min.js" fetchpriority="high"></script>
5088<script>
5089(function(){
5090  'use strict';
5091  var C={
5092    http:'https://chat.threepiece.us/chat/message',
5093    ws:'wss://chat.threepiece.us/chat/ws',
5094    max:500,
5095    timeout:22000,
5096    key:'tp_live_chat_visitor_id',
5097    ckey:'tp_live_chat_contact',
5098    hkey:'tp_live_chat_history',
5099    pkey:'tp_live_chat_pages',
5100    id:'tp-live-chat',
5101    sid:'tp-live-chat-style',
5102    akey:'tp_live_chat_auto_opened',
5103    autoDelay:5500,
5104    maxHistory:28,
5105    maxPages:8,
5106    skip:/(\/checkout|\/checkout\.php|\/order-confirmation|\/finishorder\.php)/i
5107  };
5108  var T={
5109    hello:'What wheel, fitment, color, or package question can I answer for you?',
5110    fallback:'Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.',
5111    busy:'Chat is having trouble connecting. Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.'
5112  };
5113  if(window.__TP_LIVE_CHAT_LOADED__||C.skip.test(location.pathname))return;
5114  window.__TP_LIVE_CHAT_LOADED__=true;
5115  function clean(v,n){return String(v||'').replace(/[\u0000-\u001F\u007F]/g,' ').replace(/\s+/g,' ').trim().slice(0,n||160)}
5116  function validName(v){return clean(v,120).length>=2}
5117  function validEmail(v){return/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(clean(v,200))}
5118  function validPhone(v){return clean(v,80).replace(/\D/g,'').length>=7}
5119  function mobile(){return window.matchMedia&&window.matchMedia('(max-width:480px)').matches}
5120  function e(t,a,x){var n=document.createElement(t),k;for(k in(a||{}))if(Object.prototype.hasOwnProperty.call(a,k))n.setAttribute(k,a[k]);if(x)n.textContent=x;return n}
5121  function add(p,c){p.appendChild(c);return c}
5122  function read(k,d){try{return JSON.parse(localStorage.getItem(k)||'')||d}catch(_){return d}}
5123  function write(k,v){try{localStorage.setItem(k,JSON.stringify(v))}catch(_){}}
5124  function vid(){try{var v=localStorage.getItem(C.key);if(v)return v;v='web_'+Date.now().toString(36)+'_'+Math.random().toString(36).slice(2,10);localStorage.setItem(C.key,v);return v}catch(_){return'web_'+Date.now().toString(36)}}
5125  function getContact(){var c=read(C.ckey,{}),s;if(c&&c.name&&c.email&&c.phone)return c;try{s=JSON.parse(sessionStorage.getItem(C.ckey)||'{}')||{}}catch(_){s={}}if(s.name&&s.email&&s.phone){write(C.ckey,s);return s}return{}}
5126  function setContact(c){write(C.ckey,c);try{sessionStorage.setItem(C.ckey,JSON.stringify(c))}catch(_){}}
5127  function history(){var h=read(C.hkey,[]);return h&&h.slice?h.slice(-C.maxHistory):[]}
5128  function saveHistory(h){write(C.hkey,(h||[]).slice(-C.maxHistory))}
5129  function remember(k,x){if(!x)return;var h=history();h.push({role:k,text:clean(x,900),at:new Date().toISOString()});saveHistory(h)}
5130  function q(s){return document.querySelector(s)}
5131  function notes(){
5132    var roots=[q('.productView'),q('.productView-description'),q('#tab-description'),q('[data-product-description]'),q('.productView-info')],seen={},out=[];
5133    roots.forEach(function(r){var text;if(!r)return;text=(r.innerText||r.textContent||'').split(/\n+/);text.forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(t&&!seen[t]&&/(mto|made.?to.?order|lead|eta|ship|ships|shipping|week|weeks|in stock|out of stock|availability)/i.test(l)){seen[t]=1;out.push(t)}})});
5134    if(out.length<3){(document.body.innerText||document.body.textContent||'').split(/\n+/).forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(out.length<8&&t&&!seen[t]&&/(special order|made.?to.?order|16.?-?.?24|24 weeks|eta|allow up to)/i.test(l)){seen[t]=1;out.push(t)}})}
5135    return out.slice(0,8)
5136  }
5137  function priceText(){
5138    var sels=['.price--sale','.sale-price','[data-product-price-without-tax]','.price--withoutTax','.price--main','.productView-price .price'],i,n,t,root,vals,m,re;
5139    for(i=0;i<sels.length;i++){n=q(sels[i]);t=n&&clean(n.textContent,80);if(t&&/\$\s*\d/.test(t))return t}
5140    root=q('.productView-price,.productView-details,.productView');t=root&&clean(root.textContent,1800);vals=[];re=/\$\s*([0-9,]+(?:\.\d{2})?)/g;if(t){while((m=re.exec(t))){vals.push(m[0])}}
5141    return vals.length?vals[vals.length-1]:''
5142  }
5143  function product(){
5144    var pt=document.body.getAttribute('data-page-type')||'',pv=q('.productView,[data-product-id],[data-entity-id]');
5145    if(pt!=='product'&&!pv)return null;
5146    var h=q('.productView-title,h1'),sku=q('[data-product-sku],.productView-info-value[data-product-sku],.productView-info-name+.productView-info-value'),id=(pv&&clean(pv.getAttribute('data-product-id')||pv.getAttribute('data-entity-id'),80))||'',img=q('.productView-image img,.productView-img-container img,[data-main-image] img');
5147    return{title:h?clean(h.textContent,180):clean(document.title,180),sku:sku?clean(sku.getAttribute('data-product-sku')||sku.textContent,100):'',price:priceText(),id:id,url:location.href,image:img?clean(img.currentSrc||img.src,300):'',notes:notes()}
5148  }
5149  function page(){return{url:location.href,title:clean(document.title,180),page_type:document.body.getAttribute('data-page-type')||'',product:product(),at:new Date().toISOString()}}
5150  function savePage(){var now=page(),pages=read(C.pkey,[]).filter(function(p){return p&&p.url!==now.url});pages.unshift(now);write(C.pkey,pages.slice(0,C.maxPages))}
5151  function context(){savePage();return{type:'context',visitor_id:vid(),page_url:location.href,page_type:document.body.getAttribute('data-page-type')||'',referrer:document.referrer||'',product:product(),contact:getContact(),recent_pages:read(C.pkey,[]).slice(0,C.maxPages),recent_messages:history().slice(-10)}}
5152  function styles(){if(document.getElementById(C.sid))return;add(document.head,e('style',{id:C.sid},[
5153    '#'+C.id+'{position:fixed;right:18px;bottom:112px;z-index:2147483000;font-family:Arial,sans-serif;color:#111;text-align:left}',
5154    '#'+C.id+' *{box-sizing:border-box}',
5155    '#'+C.id+' button,#'+C.id+' input{font:inherit}',
5156    '#'+C.id+' .tp-chat-launcher{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#1877f2;color:#fff;box-shadow:0 12px 30px rgba(24,119,242,.38),0 4px 12px rgba(0,0,0,.22);cursor:pointer;padding:11px 15px 11px 12px;animation:tp-chat-pop .55s ease-out both}',
5157    '#'+C.id+' .tp-chat-launcher:hover{background:#0f66d7;transform:translateY(-1px)}',
5158    '#'+C.id+' .tp-chat-copy{font-weight:800;font-size:15px;line-height:1.05;white-space:nowrap}',
5159    '#'+C.id+' .tp-wheel{position:relative;width:32px;height:32px;flex:0 0 32px;background:#fff;border:3px solid #063f8f;box-shadow:inset 0 0 0 5px #85bdff;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);image-rendering:pixelated}',
5160    '#'+C.id+' .tp-wheel:before{content:"";position:absolute;
5160left:10px;top:10px;width:6px;height:6px;background:#063f8f;box-shadow:-8px 0 0 #063f8f,8px 0 0 #063f8f,0 -8px 0 #063f8f,0 8px 0 #063f8f}',
5161    '#'+C.id+' .tp-chat-panel{display:none;position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 32px));height:540px;max-height:calc(100vh - 132px);background:#fff;border:1px solid #d6dce5;box-shadow:0 16px 40px rgba(0,0,0,.22);border-radius:8px;overflow:hidden}',
5162    '#'+C.id+'.tp-chat-open .tp-chat-panel{display:flex;flex-direction:column}',
5163    '#'+C.id+'.tp-chat-open .tp-chat-launcher{display:none}',
5164    '#'+C.id+' .tp-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#1877f2;color:#fff;font-weight:700}',
5165    '#'+C.id+' .tp-chat-close{background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 2px}',
5166    '#'+C.id+' .tp-chat-lead{padding:14px;background:#fff;border-bottom:1px solid #ddd}',
5167    '#'+C.id+' .tp-chat-lead-question{margin:0 0 10px;padding:9px 11px;border-radius:8px;background:#f7f7f7;border:1px solid #e0e0e0;color:#111;font-size:14px;line-height:1.35}',
5168    '#'+C.id+' .tp-chat-lead p{margin:0 0 10px;font-size:14px;line-height:1.35;color:#222}',
5169    '#'+C.id+' .tp-chat-lead input{width:100%;border:1px solid #bbb;border-radius:6px;padding:9px;margin:0 0 8px;font-size:14px}',
5170    '#'+C.id+' .tp-chat-start{width:100%;border:0;border-radius:6px;background:#1877f2;color:#fff;padding:10px 12px;cursor:pointer;font-weight:700}',
5171    '#'+C.id+' .tp-chat-error{display:none;margin:0 0 8px;color:#b00020;font-size:13px}',
5172    '#'+C.id+' .tp-chat-messages{flex:1;overflow:auto;padding:14px;background:#f7f7f7}',
5173    '#'+C.id+' .tp-chat-msg{margin:0 0 10px;padding:9px 11px;border-radius:8px;line-height:1.35;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}',
5174    '#'+C.id+' .tp-chat-msg a{color:inherit;text-decoration:underline;font-weight:700}',
5175    '#'+C.id+' .tp-chat-msg-user{background:#1877f2;color:#fff;margin-left:34px}',
5176    '#'+C.id+' .tp-chat-msg-agent{background:#fff;border:1px solid #e0e0e0;margin-right:24px}',
5177    '#'+C.id+' .tp-chat-typing{display:none;margin:0 24px 10px 0;padding:9px 11px;border-radius:8px;background:#fff;border:1px solid #e0e0e0;color:#555;font-size:13px}',
5178    '#'+C.id+' .tp-chat-typing.tp-show{display:block}',
5179    '#'+C.id+' .tp-chat-form{display:none;gap:8px;padding:10px;border-top:1px solid #ddd;background:#fff}',
5180    '#'+C.id+' .tp-chat-ready .tp-chat-form{display:flex}',
5181    '#'+C.id+' .tp-chat-ready .tp-chat-lead{display:none}',
5182    '#'+C.id+' .tp-chat-input{flex:1;min-width:0;border:1px solid #bbb;border-radius:6px;padding:9px;font-size:14px}',
5183    '#'+C.id+' .tp-chat-send{border:0;border-radius:6px;background:#1877f2;color:#fff;padding:0 13px;
5183cursor:pointer;font-weight:700}',
5184    '#'+C.id+' .tp-chat-send:disabled{opacity:.55;cursor:not-allowed}',
5185    '@keyframes tp-chat-pop{0%{transform:translateY(12px);opacity:.35}100%{transform:translateY(0);opacity:1}}',
5186    '@media(prefers-reduced-motion:reduce){#'+C.id+' .tp-chat-launcher{animation:none}}',
5187    '@media(max-width:480px){#'+C.id+'{right:12px;bottom:92px}#'+C.id+' .tp-chat-panel{right:0;width:calc(100vw - 24px);height:min(520px,calc(100vh - 112px))}#'+C.id+' .tp-chat-copy{font-size:14px}}'
5188  ].join('')))}
5189  function post(payload,cb){var x=new XMLHttpRequest(),done=false,to=setTimeout(function(){if(done)return;done=true;try{x.abort()}catch(_){}cb(1)},C.timeout);x.open('POST',C.http,true);x.setRequestHeader('Content-Type','application/json');x.onreadystatechange=function(){var d;if(x.readyState!==4||done)return;done=true;clearTimeout(to);if(x.status<200||x.status>=300)return cb(1);try{d=JSON.parse(x.responseText)}catch(_){return cb(1)}cb(0,d)};x.onerror=function(){if(done)return;done=true;clearTimeout(to);cb(1)};x.send(JSON.stringify(payload))}
5190  function mount(){if(!document.body||document.getElementById(C.id))return;savePage();styles();var root=e('div',{id:C.id}),btn=e('button',{class:'tp-chat-launcher',type:'button','aria-label':'Open live chat'}),wheel=e('span',{class:'tp-wheel','aria-hidden':'true'}),copy=e('span',{class:'tp-chat-copy'},'Hey, need help?'),panel=e('div',{class:'tp-chat-panel',role:'dialog','aria-label':'ThreePiece live chat'}),head=e('div',{class:'tp-chat-head'}),close=e('button',{class:'tp-chat-close',type:'button','aria-label':'Close live chat'},'x'),lead=e('form',{class:'tp-chat-lead'}),leadQuestion=e('div',{class:'tp-chat-lead-question'},T.hello),leadText=e('p',{},'Drop your name, email, and phone first so we can follow up if this needs a stock or fitment check.'),err=e('div',{class:'tp-chat-error'},'Enter your name, a valid email, and phone number.'),name=e('input',{type:'text',placeholder:'Name',autocomplete:'name',required:'required'}),email=e('input',{type:'email',placeholder:'Email',autocomplete:'email',required:'required'}),phone=e('input',{type:'tel',placeholder:'Phone',autocomplete:'tel',required:'required'}),start=e('button',{class:'tp-chat-start',type:'submit'},'Start chat'),msgs=e('div',{class:'tp-chat-messages','aria-live':'polite'}),typeEl=e('div',{class:'tp-chat-typing','aria-live':'polite'},'Agent is typing...'),form=e('form',{class:'tp-chat-form'}),input=e('input',{class:'tp-chat-input',type:'text',maxlength:String(C.max),placeholder:'Ask about wheels or fitment',autocomplete:'off'}),send=e('button',{class:'tp-chat-send',type:'submit'},'Send'),visitor=vid(),sock=null,ready=false,typeAt=0;
5191    function linkify(n,x){var s=String(x||''),re=/(https?:\/\/[^\s<>()]+|www\.[^\s<>()]+)/g,last=0,m,url,a;while((m=re.exec(s))){if(m.index>last)n.appendChild(document.createTextNode(s.slice(last,m.index)));url=m[0].replace(/[.,;:!?]+$/,'');if(m[0].length>url.length)re.lastIndex-=m[0].length-url.length;a=e('a',{href:url.indexOf('http')===0?url:'https://'+url,target:'_blank',rel:'noopener noreferrer'},url);n.appendChild(a);last=re.lastIndex}if(last<s.length)n.appendChild(document.createTextNode(s.slice(last)))}
5192    function msg(k,x,keep){var n=e('div',{class:'tp-chat-msg tp-chat-msg-'+k});if(k==='agent')linkify(n,x);else n.textContent=x;add(msgs,n);msgs.scrollTop=msgs.scrollHeight;if(keep)remember(k,x)}
5193    function restore(){history().forEach(function(m){if(m&&m.role&&m.text)msg(m.role,m.text,0)})}
5194    function typing(v){if(v)typeAt=Date.now();msgs.appendChild(typeEl);typeEl.className='tp-chat-typing'+(v?' tp-show':'');msgs.scrollTop=msgs.scrollHeight}
5195    function agent(x){var w=Math.max(0,650-(Date.now()-typeAt));setTimeout(function(){typing(0);msg('agent',x,1)},w)}
5196    function lock(v){send.disabled=v;input.disabled=v}
5197    function payload(body){var p=context();p.type='message';p.content=body;p.visitor_id=visitor;return p}
5198    function sendContext(){var c=context();try{if(sock&&sock.readyState===1)sock.send(JSON.stringify(c))}catch(_){}}
5199    function connect(){if(!ready||!('WebSocket'in window))return;if(sock&&sock.readyState<=1)return;try{sock=new WebSocket(C.ws+'?visitor_id='+encodeURIComponent(visitor));sock.onopen=sendContext;sock.onmessage=function(ev){try{var d=JSON.parse(ev.data);if(d.type==='typing')typing(!!d.show);if(d.type==='message'&&d.content)agent(d.content)}catch(_){}};sock.onerror=function(){typing(0);try{sock.close()}catch(_){}}}catch(_){sock=null}}
5200    function begin(){ready=true;panel.className='tp-chat-panel tp-chat-ready';if(!msgs.querySelector('.tp-chat-msg'))msg('agent',T.hello,1);connect();setTimeout(function(){input.focus()},0)}
5201    restore();
5202    function openChat(auto){root.className='tp-chat-open';savePage();var c=getContact();if(c.name&&c.email&&c.phone)begin();else setTimeout(function(){name.focus()},auto?80:0)}
5203    btn.onclick=function(){openChat(0)};
5204    close.onclick=function(){try{sessionStorage.setItem(C.akey,location.href)}catch(_){}root.className='';btn.focus()};
5205    window.addEventListener('pageshow',savePage);
5206    window.addEventListener('beforeunload',savePage);
5207    document.addEventListener('visibilitychange',function(){if(!document.hidden)savePage()});
5208    document.addEventListener('keydown',function(ev){if(ev.key==='Escape'&&root.className==='tp-chat-open'){root.className='';btn.focus()}});
5209    setTimeout(function(){var c=getContact(),seen;try{seen=sessionStorage.getItem(C.akey)}catch(_){seen=''}if(mobile()||seen===location.href||root.className==='tp-chat-open'||document.hidden)return;try{sessionStorage.setItem(C.akey,location.href)}catch(_){}openChat(1)},C.autoDelay);
5210    lead.onsubmit=function(ev){ev.preventDefault();var c={name:clean(name.value,120),email:clean(email.value,200).toLowerCase(),phone:clean(phone.value,80)};if(!validName(c.name)||!validEmail(c.email)||!validPhone(c.phone)){err.style.display='block';return}err.style.display='none';setContact(c);begin();sendContext()};
5211    form.onsubmit=function(ev){ev.preventDefault();var body=clean(input.value,C.max);if(!body||send.disabled)return;input.value='';savePage();msg('user',body,1);typing(1);if(sock&&sock.readyState===1){sock.send(JSON.stringify(payload(body)));return}lock(true);post(payload(body),function(x,d){lock(false);input.focus();agent(x||!d||!d.content?T.busy:d.content)})};
5212    add(btn,wheel);add(btn,copy);add(head,e('div',{},'ThreePiece Fitment Help'));add(head,close);add(lead,leadQuestion);add(lead,leadText);add(lead,err);add(lead,name);add(lead,email);add(lead,phone);add(lead,start);add(msgs,typeEl);add(panel,head);add(panel,lead);add(panel,msgs);add(form,input);add(form,send);add(panel,form);add(root,btn);add(root,panel);add(document.body,root)
5213  }
5214  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',mount);else mount();
5215}());
5216</script>
vendor: 1 bytes, line 5216
5216
5217<script>
5218/* TP Popup Lab — EML-009 A/B popup engine (2026-07-02)
5219 *
5220 * Injected via BigCommerce Script Manager (no theme commit). Runs a 5-arm
5221 * sticky A/B test: `control` renders nothing (the existing Klaviyo popup
5222 * R8GSVZ keeps doing its thing), the 4 challenger arms render our own popup
5223 * and SUPPRESS the Klaviyo teaser/popup so the two never stack.
5224 *
5225 * Submits -> Klaviyo client subscribe API into list Yh6y45 ("Newsletter" —
5226 * the list ALL THREE agency welcome flows trigger on. Flipped from TffCjN
5227 * "Popup Sign Up Form" 2026-08-24, Jake-approved: TffCjN fed NO flow, so
5228 * signups never received the welcome series). Views/submits/closes tracked
5229 * as Klaviyo client
5230 * events ("TP Popup Viewed"/"TP Popup Submitted"/"TP Popup Closed") with a
5231 * `variant` property; popup_manager's referee reads them daily.
5232 *
5233 * Test hooks: ?tp_popup=va|vb|vc|vd|control forces an arm and bypasses
5234 * frequency rules; ?tp_popup_reset=1 clears local state.
5235 * Kill switch: delete the Script Manager entry (agent can via BC API).
5236 */
5237(function () {
5238  "use strict";
5239  // MOBILE KILL (Jake ruling 2026-09-18): on phones/tablets the wheel PDPs
5240  // lay out wider than the viewport, so this popup's box and its close button
5241  // land off-screen and the page can become unscrollable. Desktop unchanged.
5242  // Rollback: delete these lines and redeploy scripts/_deploy_popup_lab.py.
5243  if (window.matchMedia && (matchMedia("(max-width: 900px)").matches || matchMedia("(pointer: coarse)").matches)) {
5244    // FOLLOW-UP A (2026-09-18): with our popup off, phone visitors fell through
5245    // to Klaviyo's OWN full-screen "$20 OFF" modal at ~17-18s, which sets
5246    // body{overflow:hidden} and blocks touch scroll. Inject the SAME
5247    // suppression CSS the challenger arms already use (copied VERBATIM from
5248    // the "suppress the Klaviyo popup/teaser for challenger arms" block
5249    // below), then stop without rendering our popup.
5250    // Desktop is untouched: on desktop this branch is false.
5251    // Rollback: scripts/_rollback_popup_lab_klaviyooff_20260918.py
5252    try {
5253      if (!document.getElementById("tp-popup-lab-mobile-kl-off")) {
5254        var mstyle = document.createElement("style");
5255        mstyle.id = "tp-popup-lab-mobile-kl-off";
5256        mstyle.textContent =
5257          '[class*="kl-teaser"]{display:none!important}' +
5258          'div[role="dialog"][class*="kl-private"]{display:none!important}' +
5259          'html body.klaviyo-prevent-body-scrolling{overflow:visible!important;position:static!important;height:auto!important}' +
5260          'html.klaviyo-prevent-body-scrolling{overflow:visible!important}';
5261        document.documentElement.appendChild(mstyle);
5262      }
5263      // FOLLOW-UP A v2 (2026-09-19): hiding Klaviyo's modal is not enough - its script also
5264      // adds body.klaviyo-prevent-body-scrolling (overflow:hidden) and froze phone scrolling.
5265      // Strip that class whenever it appears. Phones/tablets only (this branch).
5266      var tpUnlock = function () {
5267        try {
5268          var b = document.body, h = document.documentElement;
5269          if (b && b.classList && b.classList.contains("klaviyo-prevent-body-scrolling")) b.classList.remove("klaviyo-prevent-body-scrolling");
5270          if (h && h.classList && h.classList.contains("klaviyo-prevent-body-scrolling")) h.classList.remove("klaviyo-prevent-body-scrolling");
5271        } catch (e) {}
5272      };
5273      try {
5274        if (window.MutationObserver) {
5275          var tpObs = new MutationObserver(tpUnlock);
5276          if (document.body) tpObs.observe(document.body, { attributes: true, attributeFilter: ["class"] });
5277          tpObs.observe(document.documentElement, { attributes: true, attributeFilter: ["class"] });
5278        }
5279        var tpUnlockTicks = 0;
5280        var tpUnlockTimer = setInterval(function () { tpUnlock(); if (++tpUnlockTicks > 120) clearInterval(tpUnlockTimer); }, 1000);
5281      } catch (e) {}
5282    } catch (e) {}
5283    return;
5284  }
5285  if (window.__tpPopupLab) return;
5286  window.__tpPopupLab = true;
5287
5288  var COMPANY_ID = "WcaDix";
5289  var LIST_ID = "Yh6y45";      // Newsletter — triggers the agency welcome flows (was TffCjN, which fed nothing; flipped 2026-08-24)
5290  var SMS_LIST_ID = "QW8vjm";
5291  var REVISION = "2024-10-15";
5292  var RESHOW_DAYS = 7;
5293  var DELAY_MS = 7000;
5294  var SMS_FINE =
5295    "By providing your number you agree to receive recurring automated marketing texts (like restock alerts) from ThreePiece.us. Consent is not a condition of purchase. Msg & data rates may apply. Reply STOP to opt out.";
5296  var LS = {
5297    arm: "tp_popup_arm_v2",
5298    dismissed: "tp_popup_dismissed_at",
5299    submitted: "tp_popup_submitted",
5300    anon: "tp_popup_anon_id",
5301  };
5302
5303  // Bandit traffic weights — REWRITTEN NIGHTLY by popup_manager from live CVR
5304  // (floor 5%, cap 60%). Existing visitors keep their sticky arm; weights only
5305  // steer NEW visitors. Do not hand-edit; the line format is load-bearing.
5306  var WEIGHTS = {"control":0.05,"va":0.30,"ve":0.35,"vq":0.30,"vb":0.0,"vc":0.0,"vd":0.0}; // BANDIT-WEIGHTS 2026-08-05: vq routes into the fitment quiz (completes at 16% vs ~0.15% popup submit) — va/ve stay as proven controls
5307
5308  var ARMS = {
5309    control: null,
5310    va: {
5311      img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/633e8e7c-79bf-4aab-981a-a52bdadf3d52.jpeg",
5312      headline: "WILL THEY FIT? KNOW BEFORE YOU BUY.",
5313      sub: "Get a free fitment check for your exact car — offset, width, and what clears your brakes, from a human who does this all day.",
5314      cta: "CHECK MY FITMENT",
5315      success: "You're in. Reply to our first email with your year/make/model and the specs you're eyeing.",
5316    },
5317    vb: {
5318      img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/b9d66559-3f5b-4634-a5b4-71d3d24be189.jpeg",
5319      headline: "NEW WHEELS. ABOUT $100/MO.",
5320      sub: "See your real monthly payment with Affirm, Klarna, Snap or Katapult before you commit. We'll send you the math — no hard credit pull to look.",
5321      cta: "SHOW ME THE MATH",
5322      success: "Payment math incoming. Check your inbox.",
5323    },
5324    vc: {
5325      img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/03040ef9-719e-4898-af82-a073fe8165bc.jpeg",
5326      headline: "THE GOOD SETS GO FIRST.",
5327      sub: "RAYS, Work and BBS restocks and new drops hit this list 24 hours before the site.",
5328      cta: "GET EARLY ACCESS",
5329      success: "You're on the list. Next drop hits your inbox first.",
5330    },
5331    vd: {
5332      img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/b2662b2b-a676-43a8-a25d-3b2477b51404.jpeg",
5333      headline: "$20 OFF + FREE MOUNT & BALANCE",
5334      sub: "Every set ships mounted, balanced and ready to bolt on — plus $20 off your first order.",
5335      cta: "CLAIM IT",
5336      success: "Done — your $20 code is on its way to your inbox.",
5337    },
5338    ve: {
5339      img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/633e8e7c-79bf-4aab-981a-a52bdadf3d52.jpeg",
5340      headline: "WILL THESE FIT YOUR CAR?",
5341      sub: "Get a free human fitment check before you buy:",
5342      bullets: [
5343        "Width, offset and brake clearance checked",
5344        "Drops and restocks before the site",
5345        "Free mount & balance on wheel+tire packages",
5346      ],
5347      cta: "CHECK MY SETUP",
5348      success: "You're in. Reply to our first email with your year/make/model and the specs you're eyeing.",
5349    },
5350    // vq routes straight into the Build Your Setup quiz instead of an email
5351    // form — the quiz completes at 16% of starters and captures email +
5352    // exact vehicle, so it counts a "submit" only on quiz COMPLETION
5353    // (detected via the quiz's tp_quiz_done_at localStorage stamp).
5354    vq: {
5355      img: "https://d3k81ch9hvuctc.cloudfront.net/company/WcaDix/images/633e8e7c-79bf-4aab-981a-a52bdadf3d52.jpeg",
5356      headline: "FIND WHEELS THAT FIT YOUR EXACT CAR.",
5357      sub: "Four quick questions — year, make, model, stance — and you'll see wheels verified to fit, with real monthly payment math.",
5358      cta: "BUILD MY SETUP",
5359      quiz: true,
5360    },
5361  };
5362
5363  // ── helpers ─────────────────────────────────────────────────────
5364  function qs(name) {
5365    try {
5366      return new URLSearchParams(location.search).get(name);
5367    } catch (e) { return null; }
5368  }
5369  function lsGet(k) { try { return localStorage.getItem(k); } catch (e) { return null; } }
5370  function lsSet(k, v) { try { localStorage.setItem(k, v); } catch (e) {} }
5371  function uuid() {
5372    return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
5373      var r = (Math.random() * 16) | 0;
5374      return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
5375    });
5376  }
5377  function anonId() {
5378    var a = lsGet(LS.anon);
5379    if (!a) { a = uuid(); lsSet(LS.anon, a); }
5380    return a;
5381  }
5382  function post(url, body) {
5383    try {
5384      return fetch(url, {
5385        method: "POST",
5386        headers: { "Content-Type": "application/json", revision: REVISION },
5387        body: JSON.stringify(body),
5388      });
5389    } catch (e) { return Promise.reject(e); }
5390  }
5391  function track(metric, variant, email) {
5392    // 2026-08-28 (Jake, email review #1 call 3): events only for identified
5393    // people. Anonymous view/close events were minting ~1,200 empty Klaviyo
5394    // profiles/day (bots on blog pages). No email = no event.
5395    if (!email) return;
5396    var profile = { anonymous_id: anonId(), email: email };
5397    post("https://a.klaviyo.com/client/events/?company_id=" + COMPANY_ID, {
5398      data: {
5399        type: "event",
5400        attributes: {
5401          properties: { variant: variant, page: location.pathname },
5402          metric: { data: { type: "metric", attributes: { name: metric } } },
5403          profile: { data: { type: "profile", attributes: profile } },
5404        },
5405      },
5406    }).catch(function () {});
5407  }
5408  function subscribe(email, variant) {
5409    return post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, {
5410      data: {
5411        type: "subscription",
5412        attributes: {
5413          custom_source: "TP Popup Lab " + variant,
5414          profile: {
5415            data: {
5416              type: "profile",
5417              attributes: {
5418                email: email,
5419                // "BOTH" routes popup signups into the agency's Standard
5420                // welcome flow, whose entry filter requires this property
5421                // (2026-08-28, Jake, email review #1 call 2).
5422                properties: { tp_popup_variant: variant, "Vehicle Preferences": "BOTH" },
5423              },
5424            },
5425          },
5426        },
5427        relationships: { list: { data: { type: "list", id: LIST_ID } } },
5428      },
5429    });
5430  }
5431  function subscribeSms(email, phone, variant) {
5432    return post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, {
5433      data: {
5434        type: "subscription",
5435        attributes: {
5436          custom_source: "TP Popup Lab SMS " + variant,
5437          profile: {
5438            data: {
5439              type: "profile",
5440              attributes: {
5441                email: email,
5442                phone_number: phone,
5443                properties: { tp_popup_variant: variant },
5444              },
5445            },
5446          },
5447        },
5448        relationships: { list: { data: { type: "list", id: SMS_LIST_ID } } },
5449      },
5450    });
5451  }
5452  // 2026-09-27 (email rebuild): tie this browser to the person (Klaviyo
5453  // "identify") at sign-up so later product views, carts and site visits land
5454  // on their profile. Nothing else about the popup changes.
5455  function klIdentify(email) {
5456    try {
5457      window._learnq = window._learnq || [];
5458      window._learnq.push(["identify", { $email: email }]);
5459    } catch (e) {}
5460  }
5461  function normPhone(raw) {
5462    var d = (raw || "").replace(/\D/g, "");
5463    if (d.length === 10) return "+1" + d;
5464    if (d.length === 11 && d.charAt(0) === "1") return "+" + d;
5465    if (/^\+/.test(raw) && d.length >= 10) return "+" + d;
5466    return null;
5467  }
5468
5469  // ── arm assignment (sticky) ─────────────────────────────────────
5470  var forced = qs("tp_popup");
5471  if (qs("tp_popup_reset") === "1") {
5472    try {
5473      localStorage.removeItem(LS.arm);
5474      localStorage.removeItem(LS.dismissed);
5475      localStorage.removeItem(LS.submitted);
5476    } catch (e) {}
5477  }
5478  function pickArm() {
5479    var keys = Object.keys(ARMS);
5480    var total = 0, i;
5481    for (i = 0; i < keys.length; i++) total += WEIGHTS[keys[i]] || 0;
5482    if (total <= 0) return keys[Math.floor(Math.random() * keys.length)];
5483    var r = Math.random() * total, acc = 0;
5484    for (i = 0; i < keys.length; i++) {
5485      acc += WEIGHTS[keys[i]] || 0;
5486      if (r < acc) return keys[i];
5487    }
5488    return keys[keys.length - 1];
5489  }
5490  var arm = forced && (forced in ARMS) ? forced : lsGet(LS.arm);
5491  if (!arm || !(arm in ARMS)) {
5492    arm = pickArm();
5493    lsSet(LS.arm, arm);
5494  }
5495  if (arm === "control" && !forced) return; // Klaviyo popup owns this visitor
5496
5497  var cfg = ARMS[arm];
5498  if (!cfg) return;
5499
5500  // ── suppress the Klaviyo popup/teaser for challenger arms ───────
5501  var style = document.createElement("style");
5502  style.textContent =
5503    '[class*="kl-teaser"]{display:none!important}' +
5504    'div[role="dialog"][class*="kl-private"]{display:none!important}';
5505  document.documentElement.appendChild(style);
5506
5507  // ── eligibility ─────────────────────────────────────────────────
5508  function eligible() {
5509    if (forced) return true;
5510    if (lsGet("tp_quiz_done_at")) return false; // quiz already captured them
5511    if (lsGet(LS.submitted) === "1") return false;
5512    var d = parseInt(lsGet(LS.dismissed) || "0", 10);
5513    if (d && Date.now() - d < RESHOW_DAYS * 864e5) return false;
5514    if (/\/(cart\.php|checkout)/.test(location.pathname)) return false;
5515    return true;
5516  }
5517  if (!eligible()) return;
5518
5519  // ── render ──────────────────────────────────────────────────────
5520  var shown = false;
5521  function show() {
5522    if (shown || !eligible()) return;
5523    if (document.getElementById("tp-quiz")) return; // never stack on an open quiz
5524    if (cfg.quiz && !window.__tpOpenFitmentQuiz) return; // quiz script not on this page
5525    shown = true;
5526
5527    var wrap = document.createElement("div");
5528    wrap.id = "tp-popup-lab";
5529    wrap.innerHTML =
5530      '<div class="tpl-backdrop"></div>' +
5531      '<div class="tpl-modal" role="dialog" aria-modal="true" aria-label="Email signup">' +
5532      '<button class="tpl-close" aria-label="Close">&times;</button>' +
5533      '<div class="tpl-hero"><img src="' + cfg.img + '" alt="" loading="eager"/></div>' +
5534      '<div class="tpl-body">' +
5535      '<div class="tpl-kicker">THREEPIECE.US</div>' +
5536      "<h2>" + cfg.headline + "</h2>" +
5537      "<p>" + cfg.sub + "</p>" +
5538      (cfg.bullets
5539        ? '<ul class="tpl-bullets">' + cfg.bullets.map(function (b) { return "<li>" + b + "</li>"; }).join("") + "</ul>"
5540        : "") +
5541      (cfg.quiz
5542        ? '<button type="button" class="tpl-quiz-cta">' + cfg.cta + "</button>" +
5543          '<div class="tpl-fine">Takes about 60 seconds. No spam.</div>'
5544        : '<form class="tpl-form" novalidate>' +
5545          '<input type="email" required placeholder="[email protected]" aria-label="Email address"/>' +
5546          '<button type="submit">' + cfg.cta + "</button>" +
5547          "</form>" +
5548          '<div class="tpl-fine">No spam. Unsubscribe anytime.</div>') +
5549      "</div></div>";
5550    var css = document.createElement("style");
5551    css.textContent =
5552      "#tp-popup-lab{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}" +
5553      "#tp-popup-lab .tpl-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}" +
5554      "#tp-popup-lab .tpl-modal{position:relative;width:min(440px,calc(100vw - 40px));background:#ffffff;color:#111827;border-radius:14px;overflow:hidden;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.45)}" +
5555      "#tp-popup-lab .tpl-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}" +
5556      "#tp-popup-lab .tpl-body{padding:22px 30px 24px}" +
5557      "#tp-popup-lab .tpl-kicker{font-size:11px;letter-spacing:3px;color:#6b7280;margin-bottom:12px;font-weight:600}" +
5558      "#tp-popup-lab h2{font-size:22px;line-height:1.25;margin:0 0 10px;letter-spacing:.5px;color:#0b0b0e}" +
5559      "#tp-popup-lab p{font-size:14px;line-height:1.55;color:#4b5563;margin:0 0 18px}" +
5560      "#tp-popup-lab input{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:6px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;font-size:15px;margin-bottom:10px}" +
5561      "#tp-popup-lab input:focus{outline:none;border-color:#2563EB;background:#ffffff}" +
5562      "#tp-popup-lab button[type=submit],#tp-popup-lab .tpl-quiz-cta{width:100%;padding:14px;border:0;border-radius:6px;background:#2563EB;color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;cursor:pointer}" +
5563      "#tp-popup-lab .tpl-close{position:absolute;top:8px;right:12px;background:rgba(255,255,255,.85);border:0;border-radius:50%;width:30px;height:30px;color:#374151;font-size:20px;cursor:pointer;line-height:1;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.2)}" +
5564      "#tp-popup-lab .tpl-fine{font-size:11px;color:#9ca3af;margin-top:12px}" +
5565      "#tp-popup-lab .tpl-sms-fine{font-size:10px;color:#9ca3af;margin-top:10px;line-height:1.5;text-align:left}" +
5566      "#tp-popup-lab .tpl-skip{display:inline-block;margin-top:10px;background:none;border:0;color:#6b7280;font-size:12px;cursor:pointer;text-decoration:underline}" +
5567      "#tp-popup-lab .tpl-error{color:#dc2626;font-size:12px;margin-top:6px}" +
5568      "#tp-popup-lab .tpl-bullets{list-style:none;margin:0 0 16px;padding:0;text-align:left}" +
5569      "#tp-popup-lab .tpl-bullets li{font-size:13px;color:#374151;padding:4px 0 4px 24px;position:relative;line-height:1.4}" +
5570      "#tp-popup-lab .tpl-bullets li:before{content:'\u2713';position:absolute;
5570left:2px;color:#2563EB;font-weight:700}" +
5571      "@media(max-width:480px),(max-height:720px){#tp-popup-lab .tpl-modal{width:min(420px,calc(100vw - 24px))}#tp-popup-lab .tpl-hero img{height:112px;aspect-ratio:auto}#tp-popup-lab .tpl-body{padding:16px 20px 18px}#tp-popup-lab .tpl-kicker{margin-bottom:7px}#tp-popup-lab h2{font-size:20px;margin-bottom:7px}#tp-popup-lab p{margin-bottom:10px}#tp-popup-lab .tpl-bullets{margin-bottom:10px}}";
5572    document.head.appendChild(css);
5573    document.body.appendChild(wrap);
5574    track("TP Popup Viewed", arm);
5575
5576    function dismiss() {
5577      lsSet(LS.dismissed, String(Date.now()));
5578      track("TP Popup Closed", arm);
5579      wrap.remove();
5580    }
5581    wrap.querySelector(".tpl-close").addEventListener("click", dismiss);
5582    wrap.querySelector(".tpl-backdrop").addEventListener("click", dismiss);
5583    document.addEventListener("keydown", function esc(e) {
5584      if (e.key === "Escape") { dismiss(); document.removeEventListener("keydown", esc); }
5585    });
5586
5587    function smsStep(email) {
5588      var body = wrap.querySelector(".tpl-body");
5589      body.innerHTML =
5590        '<div class="tpl-kicker">THREEPIECE.US</div>' +
5591        "<h2>DONE. WANT DROPS BY TEXT?</h2>" +
5592        "<p>" + cfg.success + "</p>" +
5593        "<p>Restocks sell out before the email lands. Get the text instead — optional.</p>" +
5594        '<form class="tpl-sms-form" novalidate>' +
5595        '<input type="tel" placeholder="(555) 555-0134" aria-label="Mobile number"/>' +
5596        '<button type="submit">TEXT ME DROPS</button>' +
5597        "</form>" +
5598        '<button class="tpl-skip">No thanks, email is enough</button>' +
5599        '<div class="tpl-sms-fine">' + SMS_FINE + "</div>";
5600      body.querySelector(".tpl-skip").addEventListener("click", function () {
5601        wrap.remove();
5602      });
5603      body.querySelector(".tpl-sms-form").addEventListener("submit", function (e) {
5604        e.preventDefault();
5605        var phone = normPhone(body.querySelector("input[type=tel]").value);
5606        if (!phone) {
5607          if (!body.querySelector(".tpl-error")) {
5608            var err = document.createElement("div");
5609            err.className = "tpl-error";
5610            err.textContent = "Enter a valid US mobile number";
5611            body.querySelector(".tpl-sms-form").appendChild(err);
5612          }
5613          return;
5614        }
5615        var sbtn = body.querySelector("button[type=submit]");
5616        sbtn.disabled = true;
5617        sbtn.textContent = "...";
5618        subscribeSms(email, phone, arm)
5619          .then(function () {
5620            track("TP Popup SMS Submitted", arm, email);
5621            // SMS list QW8vjm = single opt-in (flipped 2026-07-02 per Jake:
5622            // friction reduction) — consent records on submit, so instant
5623            // confirmation is accurate.
5624            body.innerHTML =
5625              '<div class="tpl-kicker">THREEPIECE.US</div>' +
5626              "<h2>LOCKED IN.</h2>" +
5627              "<p>Email + texts. You'll know before everyone else.</p>";
5628            setTimeout(function () { wrap.remove(); }, 4000);
5629          })
5630          .catch(function () {
5631            sbtn.disabled = false;
5632            sbtn.textContent = "TEXT ME DROPS";
5633          });
5634      });
5635      setTimeout(function () {
5636        if (document.body.contains(wrap) && !wrap.querySelector("h2").textContent.match(/LOCKED IN/)) {
5637          wrap.remove();
5638        }
5639      }, 45000);
5640    }
5641
5642    // Quiz-routing arms: the CTA opens the Build Your Setup quiz. A "submit"
5643    // is only credited when the quiz is actually COMPLETED (email + vehicle
5644    // captured), detected by polling the quiz's completion stamp.
5645    var quizBtn = wrap.querySelector(".tpl-quiz-cta");
5646    if (quizBtn) {
5647      quizBtn.addEventListener("click", function () {
5648        track("TP Popup Quiz CTA", arm);
5649        lsSet(LS.dismissed, String(Date.now()));
5650        wrap.remove();
5651        if (window.__tpOpenFitmentQuiz) window.__tpOpenFitmentQuiz();
5652        var tries = 0;
5653        var poll = setInterval(function () {
5654          tries += 1;
5655          if (lsGet("tp_quiz_done_at")) {
5656            clearInterval(poll);
5657            lsSet(LS.submitted, "1");
5658            track("TP Popup Submitted", arm);
5659          } else if (tries > 300) {
5660            clearInterval(poll);
5661          }
5662        }, 2000);
5663      });
5664      return;
5665    }
5666
5667    wrap.querySelector(".tpl-form").addEventListener("submit", function (e) {
5668      e.preventDefault();
5669      var input = wrap.querySelector("input[type=email]");
5670      var email = (input.value || "").trim();
5671      if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
5672        if (!wrap.querySelector(".tpl-error")) {
5673          var err = document.createElement("div");
5674          err.className = "tpl-error";
5675          err.textContent = "Enter a valid email";
5676          wrap.querySelector(".tpl-form").appendChild(err);
5677        }
5678        return;
5679      }
5680      var btn = wrap.querySelector("button[type=submit]");
5681      btn.disabled = true;
5682      btn.textContent = "...";
5683      subscribe(email, arm)
5684        .then(function () {
5685          klIdentify(email);
5686          lsSet(LS.submitted, "1");
5687          track("TP Popup Submitted", arm, email);
5688          smsStep(email);
5689        })
5690        .catch(function () {
5691          btn.disabled = false;
5692          btn.textContent = cfg.cta;
5693        });
5694    });
5695  }
5696
5697  // triggers: 10s dwell OR exit intent (desktop)
5698  if (forced) {
5699    if (document.readyState === "complete" || document.readyState === "interactive") show();
5700    else document.addEventListener("DOMContentLoaded", show);
5701  } else {
5702    setTimeout(show, DELAY_MS);
5703    document.addEventListener("mouseout", function exitIntent(e) {
5704      if (!e.relatedTarget && e.clientY <= 0) {
5705        document.removeEventListener("mouseout", exitIntent);
5706        show();
5707      }
5708    });
5709  }
5710})();
5711
5712</script>
5712<script>(function(){try{if(location.pathname.indexOf('/cart.php')!==0)return;function go(){try{var txt=(document.body.innerText||'').toLowerCase();if(txt.indexOf('cart couldn')===-1&&txt.indexOf('cart could not')===-1)return;if(document.getElementById('tp-link-rescue'))return;var d=document.createElement('div');d.id='tp-link-rescue';d.style.cssText='margin:16px auto;max-width:960px;padding:16px 20px;background:#111;border:1px solid #d6b53f;color:#fff;font-size:15px;line-height:1.5;border-radius:4px;';d.innerHTML='<strong style="color:#d6b53f;">That checkout link has expired.</strong> Checkout links are one-time-use for your security &mdash; but your cart is saved on our end. Message us in chat below or call <a href="tel:+18135355801" style="color:#d6b53f;text-decoration:underline;">(813) 535-5801</a> and we&rsquo;ll send you a fresh link right away.';var anchor=document.querySelector('.alertBox');var main=document.querySelector('.page')||document.querySelector('main')||document.body;if(anchor&&anchor.parentNode){anchor.parentNode.insertBefore(d,anchor);}else{main.insertBefore(d,main.firstChild);}}catch(e){}}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',go);}else{go();}setTimeout(go,1500);}catch(e){}})();</script>
5712<script>
5713/* TP Fitment Quiz — "Build Your Setup" (EML-009, 2026-07-11)
5714 *
5715 * The flagship capture surface: a guided fitment quiz that (1) captures email
5716 * + vehicle + style + budget as Klaviyo profile properties (Make/Model/Year
5717 * match the Convermax props so every downstream segment/email can use them),
5718 * and (2) kills fitment anxiety by landing the user on the YMM-filtered
5719 * catalog: /new-wheels?Year/{y}/Make/{m}/Model/{model}.
5720 *
5721 * Surface: floating launcher chip (bottom-left, all pages except cart/checkout).
5722 * Modal only opens on click — the popup lab owns the interruption surface.
5723 * Events: "TP Quiz Started/Step/Completed/SMS Submitted" (variant prop = v1).
5724 * Kill switch: delete the Script Manager entry (scripts/_deploy_fitment_quiz.py --delete).
5725 * 2026-09-27 (email rebuild, Jake-approved): sign-up now also sets
5726 * "Vehicle Preferences" CARS/TRUCKS so the person enters the matching welcome
5727 * flow, and identifies the browser to Klaviyo. Look/placement unchanged.
5728 * Rollback: storefront/tp_fitment_quiz.js.bak_rebuild_20260927 + redeploy.
5729 */
5730(function () {
5731  "use strict";
5732  if (window.__tpFitmentQuiz) return;
5733  window.__tpFitmentQuiz = true;
5734  if (/\/(cart\.php|checkout)/.test(location.pathname)) return;
5735
5736  var COMPANY_ID = "WcaDix";
5737  var LIST_ID = "Yh6y45";      // Newsletter — the list the agency welcome flows ACTUALLY trigger on (old TffCjN fed nothing; flipped 2026-08-24)
5738  var SMS_LIST_ID = "QW8vjm";
5739  var REVISION = "2024-10-15";
5740  var VARIANT = "v1";
5741  var LS_DONE = "tp_quiz_done_at";
5742  var LS_CHIP = "tp_quiz_chip_hidden";
5743  var SMS_FINE = "By providing your number you agree to receive recurring automated marketing texts (like restock alerts) from ThreePiece.us. Consent is not a condition of purchase. Msg & data rates may apply. Reply STOP to opt out.";
5744
5745  function lsGet(k) { try { return localStorage.getItem(k); } catch (e) { return null; } }
5746  function lsSet(k, v) { try { localStorage.setItem(k, v); } catch (e) {} }
5747  function post(url, body) {
5748    return fetch(url, {
5749      method: "POST",
5750      headers: { "Content-Type": "application/json", revision: REVISION },
5751      body: JSON.stringify(body),
5752    });
5753  }
5754  function track(metric, extra) {
5755    // 2026-08-28 (Jake, email review #1 call 3): events only after the person
5756    // gives an email. Anonymous Started/Step events were minting empty Klaviyo
5757    // profiles for every bot that opened the quiz.
5758    if (!state.email) return;
5759    var props = { variant: VARIANT, page: location.pathname };
5760    if (extra) for (var k in extra) props[k] = extra[k];
5761    post("https://a.klaviyo.com/client/events/?company_id=" + COMPANY_ID, {
5762      data: { type: "event", attributes: {
5763        properties: props,
5764        metric: { data: { type: "metric", attributes: { name: metric } } },
5765        profile: { data: { type: "profile", attributes: { anonymous_id: anonId(), email: state.email } } },
5766      } },
5767    }).catch(function () {});
5768  }
5769  function anonId() {
5770    var a = lsGet("tp_quiz_anon");
5771    if (!a) {
5772      a = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
5773        var r = (Math.random() * 16) | 0;
5774        return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
5775      });
5776      lsSet("tp_quiz_anon", a);
5777    }
5778    return a;
5779  }
5780  function normPhone(raw) {
5781    var d = (raw || "").replace(/\D/g, "");
5782    if (d.length === 10) return "+1" + d;
5783    if (d.length === 11 && d.charAt(0) === "1") return "+" + d;
5784    if (/^\+/.test(raw) && d.length >= 10) return "+" + d;
5785    return null;
5786  }
5787  // 2026-09-27 rebuild (Jake: "welcome every sign-up"): the three agency welcome
5788  // flows on Newsletter Yh6y45 only let a profile in when "Vehicle Preferences"
5789  // is exactly CARS, TRUCKS or BOTH. Quiz sign-ups never set it, so none of them
5790  // were ever welcomed. Trucks, SUVs, Jeeps and vans -> TRUCKS; everything else
5791  // -> CARS. Same word lists as scripts/visualizer_welcome.py (keep in step).
5792  function vnorm(s) {
5793    return String(s || "").toLowerCase().replace(/&/g, " and ").replace(/[^a-z0-9]+/g, " ").replace(/^\s+|\s+$/g, "");
5794  }
5795  var TRUCK_MAKES = /^(jeep|ram|gmc|hummer|land rover|international|rivian|scout|am general|freightliner|ineos|polaris|can am|mahindra)$/;
5796  var TRUCK_BY_MAKE = {
5797    "chevrolet": /^(silverado|colorado|s10|tahoe|suburban|blazer|trailblazer|trax|equinox|traverse|avalanche|express|astro|[ckrv]\d{1,4}|g\d{2}|luv|tracker|uplander|venture|captiva|ssr|luminaapv|sportvan|ck)/,
5798    "ford": /^(f\d{3}|fseries|ranger|bronco|explorer|expedition|excursion|escape|edge|flex|ecosport|transit|e\d{3}|econoline|sporttrac|aerostar|windstar|freestar|freestyle|superduty|lightning|mustangmache|mache)/,
5799    "toyota": /^(tacoma|tundra|4runner|landcruiser|sequoia|highlander|grandhighlander|rav4|fjcruiser|fj\d|sienna|t100|pickup|hilux|venza|chr|corollacross|bz4x|previa|crownsignia|vellfire|alphard|hiace|noah|voxy)/,
5800    "nissan": /^(frontier|titan|xterra|pathfinder|armada|murano|rogue|juke|kicks|quest|nv|hardbody|pickup|d21|ariya)/,
5801    "honda": /^(ridgeline|pilot|passport|crv|hrv|element|odyssey|prologue)/,
5802    "acura": /^(mdx|rdx|zdx|slx|adx)/,
5803    "dodge": /^(ram|dakota|durango|nitro|journey|caravan|grandcaravan|sprinter|powerwagon|ramcharger|b\d{3}|d\d{2,3}|w\d{2,3})/,
5804    "chrysler": /^(pacifica|townandcountry|voyager|grandvoyager|aspen)/,
5805    "plymouth": /^(voyager|grandvoyager|trailduster)/,
5806    "cadillac": /^(escalade|xt[4-6]|srx|lyriq|vistiq|optiq)/,
5807    "lincoln": /^(navigator|aviator|nautilus|mkx|mkc|mkt|corsair|blackwood|marklt)/,
5808    "buick": /^(enclave|encore|envision|rainier|rendezvous|envista|terraza)/,
5809    "mazda": /^(cx\d|tribute|b\d{4}|bseries|mpv|navajo|mazda5$|5$)/,
5810    "subaru": /^(forester|outback|ascent|crosstrek|xvcrosstrek|baja|tribeca|b9tribeca|solterra)/,
5811    "hyundai": /^(santafe|tucson|palisade|kona|venue|santacruz|veracruz|entourage|ioniq9)/,
5812    "kia": /^(sorento|sportage|telluride|seltos|carnival|sedona|borrego|mohave|ev9)/,
5813    "mitsubishi": /^(outlander|montero|pajero|endeavor|eclipsecross|mightymax|raider|triton|l200|delica|rvr)/,
5814    "volkswagen": /^(atlas|tiguan|touareg|id4|taos|routan|vanagon|eurovan|transporter|amarok|idbuzz|bus|type2)/,
5815    "bmw": /^(x\d|xm|ix)/,
5816    "mercedes benz": /^(g\d|gclass|gwagon|gwagen|gl[abcesk]?(\d|class|coupe|$)|ml|eqb|eqssuv|eqesuv|sprinter|metris|xclass)/,
5817    "audi": /^(q\d|sq\d|rsq\d|etron(?!gt))/,
5818    "porsche": /^(cayenne|macan)/,
5819    "lexus": /^(rx|gx|lx|nx|ux|tx)\d*[a-z]*$/,
5820    "infiniti": /^(qx|fx|ex|jx)\d*/,
5821    "volvo": /^(xc\d|ex\d)/,
5822    "tesla": /^((model)?[xy]|cybertruck)/,
5823    "genesis": /^gv\d/,
5824    "jaguar": /^(fpace|epace|ipace)/,
5825    "land rover": /./,
5826    "alfa romeo": /^(stelvio|tonale)/,
5827    "maserati": /^(levante|grecale)/,
5828    "lamborghini": /^urus/,
5829    "bentley": /^bentayga/,
5830    "rolls royce": /^cullinan/,
5831    "aston martin": /^dbx/,
5832    "ferrari": /^purosangue/,
5833    "lotus": /^eletre/,
5834    "lucid": /^gravity/,
5835    "suzuki": /^(samurai|sidekick|vitara|grandvitara|xl7|x90|equator|jimny|nomade)/,
5836    "saturn": /^(vue|outlook|relay)/,
5837    "pontiac": /^(aztek|torrent|montana|transsport)/,
5838    "oldsmobile": /^(bravada|silhouette)/,
5839    "mercury": /^(mountaineer|mariner|villager|monterey)/,
5840  };
5841  function vehiclePref(year, make, model) {
5842    var mk = vnorm(make).replace(/^mercedes$/, "mercedes benz").replace(/^chevy$/, "chevrolet").replace(/^vw$/, "volkswagen");
5843    var md = vnorm(model), mdc = md.replace(/ /g, "");
5844    if (!mk && !md) return "";
5845    if (TRUCK_MAKES.test(mk)) return "TRUCKS";
5846    if (mk === "isuzu") return /^(impulse|stylus|imark|gemini)/.test(mdc) ? "CARS" : "TRUCKS";
5847    if (mk === "ford" && /^maverick/.test(mdc)) return parseInt(year, 10) >= 2019 ? "TRUCKS" : "CARS";
5848    var rx = TRUCK_BY_MAKE[mk];
5849    if (rx && rx.test(mdc)) return "TRUCKS";
5850    if (/\b(pickup|truck|van|ute|suv|4x4|1500|2500|3500|4500|5500)\b/.test(md)) return "TRUCKS";
5851    return "CARS";
5852  }
5853  // Tie this browser to the person (Klaviyo "identify") so later product views,
5854  // carts and site visits land on their profile (browse + cart follow-ups).
5855  function klIdentify(email) {
5856    try {
5857      window._learnq = window._learnq || [];
5858      window._learnq.push(["identify", { $email: email }]);
5859    } catch (e) {}
5860  }
5861  function seg(s) { return encodeURIComponent(String(s || "").trim()); }
5862  function resultsUrl(st) {
5863    // A PARTIAL vehicle produces garbage results (observed: 90 Touren-only
5864    // hits without Submodel) — only emit the YMM URL when the vehicle is
5865    // COMPLETE, otherwise send them to the honest all-wheels page.
5866    if (!st.year || !st.make || !st.model || !st.submodel) {
5867      return "https://www.threepiece.us/shop/wheels/";
5868    }
5869    return "https://www.threepiece.us/new-wheels?Year/" + seg(st.year) +
5870           "/Make/" + seg(st.make) + "/Model/" + seg(st.model) +
5871           "/Submodel/" + seg(st.submodel);
5872  }
5873
5874  // Convermax YMM taxonomy — the same data source as the site's own
5875  // "Select Your Vehicle" widget, so quiz vehicles always match real fitments.
5876  var CM_URL = "https://threepieceus.myconvermax.com/search.json?mode=YMM&extra.ignorepagecontext=true";
5877  function cmFetch(selections) {
5878    var qs = "";
5879    for (var i = 0; i < selections.length; i++) {
5880      qs += "&facet." + i + ".field=" + encodeURIComponent(selections[i][0]) +
5881            "&facet." + i + ".selection=" + encodeURIComponent(selections[i][1]);
5882    }
5883    return fetch(CM_URL + qs).then(function (r) { return r.json(); });
5884  }
5885  function facetValues(data, field) {
5886    var fs = (data && data.Facets) || [];
5887    for (var i = 0; i < fs.length; i++) {
5888      if (fs[i].FieldName === field) {
5889        var out = [], seen = {};
5890        var vals = fs[i].Values || [];
5891        for (var j = 0; j < vals.length; j++) {
5892          var v = vals[j].Value;
5893          if (v && !seen[v]) { seen[v] = 1; out.push(v); }
5894        }
5895        return out;
5896      }
5897    }
5898    return [];
5899  }
5900
5901  var state = { year: "", make: "", model: "", submodel: "", stance: "", budget: "" };
5902  var stepIdx = 0;
5903
5904  // ── styles ─────────────────────────────────────────────────────
5905  var css = document.createElement("style");
5906  css.textContent =
5907    "#tp-quiz-chip{position:fixed;left:16px;bottom:16px;z-index:2147482000;display:flex;align-items:center;gap:8px;background:#111827;color:#fff;border:1px solid #374151;border-radius:999px;padding:10px 16px;font:600 13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;letter-spacing:.4px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35)}" +
5908    "#tp-quiz-chip:hover{background:#1f2937}" +
5909    "#tp-quiz-chip .tpq-x{margin-left:4px;color:#9ca3af;font-size:15px;line-height:1;padding:0 2px}" +
5910    ".tpq-inline{box-sizing:border-box;margin:24px auto;padding:22px 20px;max-width:1120px;background:#111827;color:#fff;text-align:center;border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}" +
5911    ".tpq-inline h3{margin:0 0 6px;color:#fff;font-size:20px;line-height:1.3}" +
5912    ".tpq-inline p{margin:0 0 14px;color:#d1d5db;font-size:14px;line-height:1.5}" +
5913    ".tpq-inline button{border:0;border-radius:7px;background:#2563EB;color:#fff;padding:12px 18px;font-size:14px;font-weight:700;letter-spacing:.4px;
5913cursor:pointer}" +
5914    ".tpq-inline--article{margin:28px 0}" +
5915    "#tp-quiz{position:fixed;inset:0;z-index:2147482500;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}" +
5916    "#tp-quiz .tpq-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}" +
5917    "#tp-quiz .tpq-modal{position:relative;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;color:#111827;border-radius:14px;padding:26px 28px 24px;box-shadow:0 24px 80px rgba(0,0,0,.45)}" +
5918    "#tp-quiz .tpq-close{position:absolute;top:10px;right:12px;background:none;border:0;color:#6b7280;font-size:22px;cursor:pointer;line-height:1}" +
5919    "#tp-quiz .tpq-kicker{font-size:11px;letter-spacing:3px;color:#6b7280;font-weight:600;margin-bottom:10px;text-align:center}" +
5920    "#tp-quiz h2{font-size:20px;line-height:1.3;margin:0 0 6px;text-align:center;color:#0b0b0e}" +
5921    "#tp-quiz .tpq-sub{font-size:13px;color:#4b5563;text-align:center;margin:0 0 18px;line-height:1.5}" +
5922    "#tp-quiz .tpq-dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}" +
5923    "#tp-quiz .tpq-dots i{width:7px;height:7px;border-radius:50%;background:#e5e7eb}" +
5924    "#tp-quiz .tpq-dots i.on{background:#2563EB}" +
5925    "#tp-quiz select,#tp-quiz input[type=text],#tp-quiz input[type=email],#tp-quiz input[type=tel]{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;font-size:15px;margin-bottom:12px}" +
5926    "#tp-quiz select:focus,#tp-quiz input:focus{outline:none;border-color:#2563EB;background:#fff}" +
5927    "#tp-quiz .tpq-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}" +
5928    "#tp-quiz .tpq-card{display:block;width:100%;text-align:left;border:1px solid #d1d5db;background:#f9fafb;border-radius:10px;padding:13px 16px;cursor:pointer}" +
5929    "#tp-quiz .tpq-card:hover{border-color:#2563EB;background:#fff}" +
5930    "#tp-quiz .tpq-card b{display:block;font-size:14px;color:#111827}" +
5931    "#tp-quiz .tpq-card span{font-size:12px;color:#6b7280}" +
5932    "#tp-quiz .tpq-btn{width:100%;padding:14px;border:0;border-radius:8px;background:#2563EB;color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;cursor:pointer;margin-top:2px}" +
5933    "#tp-quiz .tpq-btn[disabled]{opacity:.5;cursor:default}" +
5934    "#tp-quiz .tpq-back{background:none;border:0;color:#6b7280;font-size:12px;cursor:pointer;text-decoration:underline;display:block;margin:12px auto 0}" +
5935    "#tp-quiz .tpq-fine{font-size:11px;color:#9ca3af;margin-top:10px;text-align:center}" +
5936    "#tp-quiz .tpq-sms-fine{font-size:10px;color:#9ca3af;margin-top:10px;line-height:1.5;text-align:left}" +
5937    "#tp-quiz .tpq-error{color:#dc2626;font-size:12px;margin:4px 0 0;text-align:center}" +
5938    "#tp-quiz .tpq-result-cta{display:block;text-align:center;text-decoration:none;padding:15px;border-radius:8px;background:#2563EB;color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;margin-top:4px}";
5939  document.documentElement.appendChild(css);
5940
5941  // ── launcher chip ──────────────────────────────────────────────
5942  var done = parseInt(lsGet(LS_DONE) || "0", 10);
5943  if (done && Date.now() - done < 30 * 864e5) return;   // completed <30d ago
5944  if (sessionStorage.getItem(LS_CHIP) === "1") return;   // dismissed this session
5945
5946  var chip = document.createElement("button");
5947  chip.id = "tp-quiz-chip";
5948  chip.type = "button";
5949  chip.innerHTML = "FIND WHEELS THAT FIT <span class='tpq-x' aria-label='Hide'>&times;</span>";
5950  chip.querySelector(".tpq-x").addEventListener("click", function (e) {
5951    e.stopPropagation();
5952    try { sessionStorage.setItem(LS_CHIP, "1"); } catch (err) {}
5953    chip.remove();
5954  });
5955  chip.addEventListener("click", openQuiz);
5956  function liftAboveBanners() {
5957    // Cookie bars etc. are bottom-fixed and bury the chip (seen on mobile).
5958    // If the topmost element at the chip's center isn't the chip, hop above it.
5959    try {
5960      var r = chip.getBoundingClientRect();
5961      if (!r.width) return;
5962      var els = document.elementsFromPoint(r.left + r.width / 2, r.top + r.height / 2);
5963      var top = els && els[0];
5964      if (top && top !== chip && !chip.contains(top)) {
5965        var fixed = top;
5966        while (fixed && fixed !== document.body && getComputedStyle(fixed).position !== "fixed") fixed = fixed.parentElement;
5967        if (fixed && fixed !== document.body) {
5968          var h = fixed.getBoundingClientRect().height;
5969          if (h > 0 && h < 300) chip.style.bottom = (h + 20) + "px";
5970        }
5971      }
5972    } catch (e) {}
5973  }
5974  function mountChip() {
5975    if (!document.body) return;
5976    document.body.appendChild(chip);
5977    setTimeout(liftAboveBanners, 1500);
5978    setTimeout(liftAboveBanners, 4500);
5979  }
5980  if (document.readyState === "complete" || document.readyState === "interactive") mountChip();
5981  else document.addEventListener("DOMContentLoaded", mountChip);
5982
5983  function captureCta(className) {
5984    var el = document.createElement("section");
5985    el.className = "tpq-inline " + className;
5986    el.setAttribute("aria-label", "Vehicle fitment help");
5987    el.innerHTML = "<h3>Not sure what fits your car?</h3><p>
5987Tell us your exact vehicle and get wheels that match it.</p><button type='button'>BUILD MY SETUP</button>";
5988    el.querySelector("button").addEventListener("click", openQuiz);
5989    return el;
5990  }
5991
5992  function mountCaptureCtas() {
5993    if (!document.body || document.querySelector(".tpq-inline")) return;
5994    var path = location.pathname.toLowerCase();
5995    var isBlog = /\/(blog|blogs|news)(\/|$)/.test(path);
5996    if (isBlog) {
5997      var article = document.querySelector("article, .blog-post, .blog-post-body, [itemprop='articleBody']");
5998      if (article) {
5999        var paragraphs = article.querySelectorAll("p");
6000        var after = paragraphs.length > 1 ? paragraphs[1] : paragraphs[0];
6001        if (after && after.parentNode) after.parentNode.insertBefore(captureCta("tpq-inline--article"), after.nextSibling);
6002      }
6003    }
6004    var footer = document.querySelector("footer, .footer");
6005    if (footer && !footer.querySelector(".tpq-inline")) footer.insertBefore(captureCta("tpq-inline--footer"), footer.firstChild);
6006  }
6007  if (document.readyState === "complete" || document.readyState === "interactive") mountCaptureCtas();
6008  else document.addEventListener("DOMContentLoaded", mountCaptureCtas);
6009
6010  // ── modal ──────────────────────────────────────────────────────
6011  var wrap = null;
6012
6013  function openQuiz() {
6014    if (wrap) return;
6015    var lab = document.getElementById("tp-popup-lab");
6016    if (lab) lab.remove(); // user chose the quiz — popup yields
6017    stepIdx = 0;
6018    wrap = document.createElement("div");
6019    wrap.id = "tp-quiz";
6020    wrap.innerHTML = '<div class="tpq-backdrop"></div><div class="tpq-modal" role="dialog" aria-modal="true" aria-label="Fitment quiz"><button class="tpq-close" aria-label="Close">&times;</button><div class="tpq-body"></div></div>';
6021    document.body.appendChild(wrap);
6022    wrap.querySelector(".tpq-close").addEventListener("click", closeQuiz);
6023    wrap.querySelector(".tpq-backdrop").addEventListener("click", closeQuiz);
6024    track("TP Quiz Started");
6025    render();
6026  }
6027  window.__tpOpenFitmentQuiz = openQuiz;
6028  function closeQuiz() { if (wrap) { wrap.remove(); wrap = null; } }
6029
6030  function header(title, sub, dotCount, dotOn) {
6031    var dots = "";
6032    for (var i = 0; i < dotCount; i++) dots += "<i class='" + (i <= dotOn ? "on" : "") + "'></i>";
6033    return '<div class="tpq-kicker">THREEPIECE.US — BUILD YOUR SETUP</div>' +
6034           "<h2>" + title + "</h2>" +
6035           '<p class="tpq-sub">' + sub + "</p>" +
6036           '<div class="tpq-dots">' + dots + "</div>";
6037  }
6038  function body() { return wrap.querySelector(".tpq-body"); }
6039  function backBtn(toStep) {
6040    var b = document.createElement("button");
6041    b.className = "tpq-back";
6042    b.textContent = "back";
6043    b.addEventListener("click", function () { stepIdx = toStep; render(); });
6044    return b;
6045  }
6046
6047  var STEPS = [
6048    function vehicle() {
6049      // Cascading selects fed by the live Convermax taxonomy — Submodel is
6050      // REQUIRED (partial vehicles mis-filter the results page).
6051      body().innerHTML = header("What are we fitting?", "Exact fitment starts with the exact car.", 5, 0) +
6052        '<select id="tpq-year" disabled><option value="" disabled selected>Loading years…</option></select>' +
6053        '<select id="tpq-make" disabled><option value="" disabled selected>Make</option></select>' +
6054        '<select id="tpq-model" disabled><option value="" disabled selected>Model</option></select>' +
6055        '<select id="tpq-sub" disabled><option value="" disabled selected>Submodel / trim</option></select>' +
6056        '<button class="tpq-btn" disabled>NEXT</button>';
6057      var elY = body().querySelector("#tpq-year"), elMk = body().querySelector("#tpq-make"),
6058          elMd = body().querySelector("#tpq-model"), elSub = body().querySelector("#tpq-sub"),
6059          btn = body().querySelector(".tpq-btn");
6060
6061      function fill(el, values, placeholder) {
6062        var html = '<option value="" disabled selected>' + placeholder + "</option>";
6063        for (var i = 0; i < values.length; i++) html += "<option>" + values[i] + "</option>";
6064        el.innerHTML = html;
6065        el.disabled = values.length === 0;
6066      }
6067      function reset(els, placeholders) {
6068        for (var i = 0; i < els.length; i++) {
6069          els[i].innerHTML = '<option value="" disabled selected>' + placeholders[i] + "</option>";
6070          els[i].disabled = true;
6071        }
6072        btn.disabled = true;
6073      }
6074
6075      cmFetch([]).then(function (d) {
6076        fill(elY, facetValues(d, "Year"), "Year");
6077      }).catch(function () {
6078        err("Vehicle data didn't load — try again or browse all wheels.");
6079      });
6080
6081      elY.addEventListener("change", function () {
6082        reset([elMk, elMd, elSub], ["Make", "Model", "Submodel / trim"]);
6083        cmFetch([["Year", elY.value]]).then(function (d) {
6084          fill(elMk, facetValues(d, "Make"), "Make");
6085        });
6086      });
6087      elMk.addEventListener("change", function () {
6088        reset([elMd, elSub], ["Model", "Submodel / trim"]);
6089        cmFetch([["Year", elY.value], ["Make", elMk.value]]).then(function (d) {
6090          fill(elMd, facetValues(d, "Model"), "Model");
6091        });
6092      });
6093      elMd.addEventListener("change", function () {
6094        reset([elSub], ["Submodel / trim"]);
6095        cmFetch([["Year", elY.value], ["Make", elMk.value], ["Model", elMd.value]]).then(function (d) {
6096          var subs = facetValues(d, "Submodel");
6097          fill(elSub, subs, "Submodel / trim");
6098          if (subs.length === 1) {
6099            elSub.value = subs[0];
6100            btn.disabled = false;
6101          }
6102        });
6103      });
6104      elSub.addEventListener("change", function () { btn.disabled = !elSub.value; });
6105
6106      btn.addEventListener("click", function () {
6107        if (!elY.value || !elMk.value || !elMd.value || !elSub.value) {
6108          err("All four, please — fitment is exact or it's wrong.");
6109          return;
6110        }
6111        state.year = elY.value; state.make = elMk.value;
6112        state.model = elMd.value; state.submodel = elSub.value;
6113        track("TP Quiz Step", { step: "vehicle", year: state.year, make: state.make, model: state.model, submodel: state.submodel });
6114        stepIdx = 1; render();
6115      });
6116    },
6117    function stance() {
6118      body().innerHTML = header("How should it sit?", "Same car, three different builds.", 5, 1) +
6119        '<div class="tpq-cards">' +
6120        '<button class="tpq-card" data-v="stock_plus"><b>Stock+</b><span>Cleaner than factory, zero drama. Daily-friendly.</span></button>' +
6121        '<button class="tpq-card" data-v="flush"><b>Flush</b><span>Wheel face meets fender line. The look most builds chase.</span></button>' +
6122        '<button class="tpq-card" data-v="aggressive"><b>Aggressive</b><span>Poke, stretch, low. You know who you are.</span></button>' +
6123        "</div>";
6124      body().appendChild(backBtn(0));
6125      var cards = body().querySelectorAll(".tpq-card");
6126      for (var i = 0; i < cards.length; i++) {
6127        cards[i].addEventListener("click", function () {
6128          state.stance = this.getAttribute("data-v");
6129          track("TP Quiz Step", { step: "stance", stance: state.stance });
6130          stepIdx = 2; render();
6131        });
6132      }
6133    },
6134    function budget() {
6135      body().innerHTML = header("Monthly comfort zone?", "Most sets go 0% APR with Affirm, Klarna or Snap — think monthly, not sticker.", 5, 2) +
6136        '<div class="tpq-cards">' +
6137        '<button class="tpq-card" data-v="under_100"><b>Under $100/mo</b><span>Strong cast + flow-formed territory.</span></button>' +
6138        '<button class="tpq-card" data-v="100_150"><b>$100–150/mo</b><span>Flow-formed and entry forged. The sweet spot.</span></button>' +
6139        '<button class="tpq-card" data-v="150_plus"><b>$150+/mo</b><span>Forged, 3-piece, full custom finish.</span></button>' +
6140        "</div>";
6141      body().appendChild(backBtn(1));
6142      var cards = body().querySelectorAll(".tpq-card");
6143      for (var i = 0; i < cards.length; i++) {
6144        cards[i].addEventListener("click", function () {
6145          state.budget = this.getAttribute("data-v");
6146          track("TP Quiz Step", { step: "budget", budget: state.budget });
6147          stepIdx = 3; render();
6148        });
6149      }
6150    },
6151    function emailGate() {
6152      body().innerHTML = header("Your matches are ready.",
6153        "Where do we send the fitment rundown for your " + state.year + " " + state.make + " " + state.model + "? A human checks every spec question you reply with.", 5, 3) +
6154        '<form class="tpq-form" novalidate>' +
6155        '<input type="email" placeholder="[email protected]" aria-label="Email address"/>' +
6156        '<button type="submit" class="tpq-btn">SEE WHAT FITS MY CAR</button>' +
6157        "</form>" +
6158        '<div class="tpq-fine">No spam. Unsubscribe anytime.</div>';
6159      body().appendChild(backBtn(2));
6160      body().querySelector(".tpq-form").addEventListener("submit", function (e) {
6161        e.preventDefault();
6162        var email = (body().querySelector("input[type=email]").value || "").trim();
6163        if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { err("Enter a valid email"); return; }
6164        var btn = body().querySelector(".tpq-btn");
6165        btn.disabled = true; btn.textContent = "...";
6166        var props = {
6167          Make: state.make, Model: state.model, Year: state.year,
6168          Submodel: state.submodel,
6169          tp_stance: state.stance, tp_budget_mo: state.budget,
6170          tp_quiz_variant: VARIANT,
6171        };
6172        // Car/truck for the welcome flows. Skipped when this browser already
6173        // signed up through the popup (tagged BOTH, possibly mid-welcome):
6174        // changing the value would stop that welcome series part-way.
6175        var vp = vehiclePref(state.year, state.make, state.model);
6176        if (vp && lsGet("tp_popup_submitted") !== "1") {
6177          props["Vehicle Preferences"] = vp;
6178          props.tp_vp_source = "quiz";
6179        }
6180        post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, {
6181          data: { type: "subscription", attributes: {
6182            custom_source: "TP Fitment Quiz " + VARIANT,
6183            profile: { data: { type: "profile", attributes: {
6184              email: email,
6185              properties: props,
6186            } } },
6187          }, relationships: { list: { data: { type: "list", id: LIST_ID } } } },
6188        }).then(function () {
6189          klIdentify(email);
6190          state.email = email;
6191          lsSet(LS_DONE, String(Date.now()));
6192          track("TP Quiz Completed", { year: state.year, make: state.make, model: state.model, submodel: state.submodel, stance: state.stance, budget: state.budget });
6193          stepIdx = 4; render();
6194        }).catch(function () {
6195          btn.disabled = false; btn.textContent = "SEE WHAT FITS MY CAR";
6196        });
6197      });
6198    },
6199    function result() {
6200      body().innerHTML = header("Verified for your " + state.year + " " + state.make + " " + state.model + ".",
6201        "Every wheel behind this button is filtered to your car's fitment. Full rundown is on its way to your inbox.", 5, 4) +
6202        '<a class="tpq-result-cta" href="' + resultsUrl(state) + '">SHOW MY WHEELS</a>' +
6203        '<form class="tpq-sms-form" novalidate style="margin-top:16px">' +
6204        '<input type="tel" placeholder="(555) 555-0134 — drops for your ' + state.make + ' by text (optional)" aria-label="Mobile number"/>' +
6205        '<button type="submit" class="tpq-btn" style="background:#111827">TEXT ME DROPS</button>' +
6206        "</form>" +
6207        '<div class="tpq-sms-fine">' + SMS_FINE + "</div>";
6208      body().querySelector(".tpq-sms-form").addEventListener("submit", function (e) {
6209        e.preventDefault();
6210        var phone = normPhone(body().querySelector("input[type=tel]").value);
6211        if (!phone) { err("Enter a valid US mobile number"); return; }
6212        var btn = body().querySelector(".tpq-sms-form .tpq-btn");
6213        btn.disabled = true; btn.textContent = "...";
6214        post("https://a.klaviyo.com/client/subscriptions/?company_id=" + COMPANY_ID, {
6215          data: { type: "subscription", attributes: {
6216            custom_source: "TP Fitment Quiz SMS " + VARIANT,
6217            profile: { data: { type: "profile", attributes: {
6218              email: state.email, phone_number: phone,
6219              properties: { tp_quiz_variant: VARIANT },
6220            } } },
6221          }, relationships: { list: { data: { type: "list", id: SMS_LIST_ID } } } },
6222        }).then(function () {
6223          track("TP Quiz SMS Submitted");
6224          btn.textContent = "LOCKED IN.";
6225        }).catch(function () {
6226          btn.disabled = false; btn.textContent = "TEXT ME DROPS";
6227        });
6228      });
6229      chip.remove();
6230    },
6231  ];
6232
6233  function err(msg) {
6234    var old = body().querySelector(".tpq-error");
6235    if (old) old.remove();
6236    var e = document.createElement("div");
6237    e.className = "tpq-error";
6238    e.textContent = msg;
6239    body().appendChild(e);
6240  }
6241  function render() { STEPS[stepIdx](); }
6242})();
6243
6244</script>
6244<script>(function(){try{
6245var REBATES={
6246 'CONTINENTAL':{amt:'$110',ends:'2026-08-31',label:'Aug 31'},
6247 'MICKEY THOMPSON':{amt:'$100',ends:'2026-07-31',label:'Jul 31'},
6248 'COOPER':{amt:'$80',ends:'2026-08-31',label:'Aug 31'}
6249};
6250function go(){try{
6251 if(document.getElementById('tp-rebate-badge'))return;
6252 if(!document.querySelector('.productView'))return;
6253 var bcEl=document.querySelector('.breadcrumbs, ul.breadcrumbs, nav[aria-label="Breadcrumb"]');
6254 var bcTxt=bcEl?(bcEl.textContent||''):'';
6255 if(!/\bTires\b/i.test(bcTxt))return;
6256 var brandEl=document.querySelector('.productView-brand, [itemprop="brand"]');
6257 var brand=(brandEl?(brandEl.textContent||''):'').trim().toUpperCase();
6258 if(!brand)return;
6259 var hit=null;
6260 for(var k in REBATES){if(brand.indexOf(k)!==-1){hit=REBATES[k];break;}}
6261 if(!hit)return;
6262 if(Date.now()>new Date(hit.ends+'T23:59:59-05:00').getTime())return;
6263 var price=document.querySelector('.productView-price');
6264 if(!price||!price.parentNode)return;
6265 var d=document.createElement('div');
6266 d.id='tp-rebate-badge';
6267 d.style.cssText='margin:10px 0;padding:8px 12px;background:#fdf8e8;border:1px solid #d6b53f;border-radius:4px;font-size:13px;line-height:1.45;color:#111;max-width:420px;';
6268 d.innerHTML='<strong style="color:#8a6d1a;">Manufacturer rebate:</strong> up to '+hit.amt+' back &mdash; ends '+hit.label+'. <a href="/tire-rebates/" style="color:#1a5fb4;text-decoration:underline;font-weight:600;">See details</a>';
6269 price.parentNode.insertBefore(d,price.nextSibling);
6270}catch(e){}}
6271if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',go);}else{go();}
6272setTimeout(go,1500);
6273}catch(e){}})();</script>
6273<script>
6274(function(){
6275  'use strict';
6276  var C={
6277    http:'https://chat.threepiece.us/chat/message',
6278    ws:'wss://chat.threepiece.us/chat/ws',
6279    max:500,
6280    timeout:22000,
6281    key:'tp_live_chat_visitor_id',
6282    ckey:'tp_live_chat_contact',
6283    hkey:'tp_live_chat_history',
6284    pkey:'tp_live_chat_pages',
6285    id:'tp-live-chat',
6286    sid:'tp-live-chat-style',
6287    akey:'tp_live_chat_auto_opened',
6288    autoDelay:5500,
6289    maxHistory:28,
6290    maxPages:8,
6291    skip:/(\/checkout|\/checkout\.php|\/order-confirmation|\/finishorder\.php)/i,
6292    // 2026-09-27 email rebuild (Jake-approved item 9): optional, UNticked email opt-in.
6293    klCompany:'WcaDix',
6294    klList:'Yh6y45',
6295    klRevision:'2024-10-15',
6296    optKey:'tp_live_chat_optin_at',
6297    optText:'Email me new arrivals and restocks for my car'
6298  };
6299  var T={
6300    hello:'What wheel, fitment, color, or package question can I answer for you?',
6301    fallback:'Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.',
6302    busy:'Chat is having trouble connecting. Email [email protected] with your vehicle and wheel interest, or call 813-535-5801.'
6303  };
6304  if(window.__TP_LIVE_CHAT_V2__||C.skip.test(location.pathname))return;
6305  window.__TP_LIVE_CHAT_V2__=true;
6306  function clean(v,n){return String(v||'').replace(/[\u0000-\u001F\u007F]/g,' ').replace(/\s+/g,' ').trim().slice(0,n||160)}
6307  function validName(v){return clean(v,120).length>=2}
6308  function validEmail(v){return/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(clean(v,200))}
6309  function validPhone(v){return clean(v,80).replace(/\D/g,'').length>=7}
6310  function mobile(){return window.matchMedia&&window.matchMedia('(max-width:480px)').matches}
6311  function e(t,a,x){var n=document.createElement(t),k;for(k in(a||{}))if(Object.prototype.hasOwnProperty.call(a,k))n.setAttribute(k,a[k]);if(x)n.textContent=x;return n}
6312  function add(p,c){p.appendChild(c);return c}
6313  function read(k,d){try{return JSON.parse(localStorage.getItem(k)||'')||d}catch(_){return d}}
6314  function write(k,v){try{localStorage.setItem(k,JSON.stringify(v))}catch(_){}}
6315  function vid(){try{var v=localStorage.getItem(C.key);if(v)return v;v='web_'+Date.now().toString(36)+'_'+Math.random().toString(36).slice(2,10);localStorage.setItem(C.key,v);return v}catch(_){return'web_'+Date.now().toString(36)}}
6316  function getContact(){var c=read(C.ckey,{}),s;if(c&&c.name&&c.email&&c.phone)return c;try{s=JSON.parse(sessionStorage.getItem(C.ckey)||'{}')||{}}catch(_){s={}}if(s.name&&s.email&&s.phone){write(C.ckey,s);return s}return{}}
6317  function setContact(c){write(C.ckey,c);try{sessionStorage.setItem(C.ckey,JSON.stringify(c))}catch(_){}}
6318  function history(){var h=read(C.hkey,[]);return h&&h.slice?h.slice(-C.maxHistory):[]}
6319  function saveHistory(h){write(C.hkey,(h||[]).slice(-C.maxHistory))}
6320  function remember(k,x){if(!x)return;var h=history();h.push({role:k,text:clean(x,900),at:new Date().toISOString()});saveHistory(h)}
6321  function q(s){return document.querySelector(s)}
6322  function notes(){
6323    var roots=[q('.productView'),q('.productView-description'),q('#tab-description'),q('[data-product-description]'),q('.productView-info')],seen={},out=[];
6324    roots.forEach(function(r){var text;if(!r)return;text=(r.innerText||r.textContent||'').split(/\n+/);text.forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(t&&!seen[t]&&/(mto|made.?to.?order|lead|eta|ship|ships|shipping|week|weeks|in stock|out of stock|availability)/i.test(l)){seen[t]=1;out.push(t)}})});
6325    if(out.length<3){(document.body.innerText||document.body.textContent||'').split(/\n+/).forEach(function(line){var t=clean(line,220),l=t.toLowerCase();if(out.length<8&&t&&!seen[t]&&/(special order|made.?to.?order|16.?-?.?24|24 weeks|eta|allow up to)/i.test(l)){seen[t]=1;out.push(t)}})}
6326    return out.slice(0,8)
6327  }
6328  function priceText(){
6329    var sels=['.price--sale','.sale-price','[data-product-price-without-tax]','.price--withoutTax','.price--main','.productView-price .price'],i,n,t,root,vals,m,re;
6330    for(i=0;i<sels.length;i++){n=q(sels[i]);t=n&&clean(n.textContent,80);if(t&&/\$\s*\d/.test(t))return t}
6331    root=q('.productView-price,.productView-details,.productView');t=root&&clean(root.textContent,1800);vals=[];re=/\$\s*([0-9,]+(?:\.\d{2})?)/g;if(t){while((m=re.exec(t))){vals.push(m[0])}}
6332    return vals.length?vals[vals.length-1]:''
6333  }
6334  function product(){
6335    var pt=document.body.getAttribute('data-page-type')||'',pv=q('.productView,[data-product-id],[data-entity-id]');
6336    if(pt!=='product'&&!pv)return null;
6337    var h=q('.productView-title,h1'),sku=q('[data-product-sku],.productView-info-value[data-product-sku],.productView-info-name+.productView-info-value'),id=(pv&&clean(pv.getAttribute('data-product-id')||pv.getAttribute('data-entity-id'),80))||'',img=q('.productView-image img,.productView-img-container img,[data-main-image] img');
6338    return{title:h?clean(h.textContent,180):clean(document.title,180),sku:sku?clean(sku.getAttribute('data-product-sku')||sku.textContent,100):'',price:priceText(),id:id,url:location.href,image:img?clean(img.currentSrc||img.src,300):'',notes:notes()}
6339  }
6340  function page(){return{url:location.href,title:clean(document.title,180),page_type:document.body.getAttribute('data-page-type')||'',product:product(),at:new Date().toISOString()}}
6341  function savePage(){var now=page(),pages=read(C.pkey,[]).filter(function(p){return p&&p.url!==now.url});pages.unshift(now);write(C.pkey,pages.slice(0,C.maxPages))}
6342  function context(){savePage();return{type:'context',visitor_id:vid(),page_url:location.href,page_type:document.body.getAttribute('data-page-type')||'',referrer:document.referrer||'',product:product(),contact:getContact(),recent_pages:read(C.pkey,[]).slice(0,C.maxPages),recent_messages:history().slice(-10)}}
6343  function styles(){if(document.getElementById(C.sid))return;add(document.head,e('style',{id:C.sid},[
6344    '#'+C.id+'{position:fixed;right:18px;bottom:112px;z-index:2147483000;font-family:Arial,sans-serif;color:#111;text-align:left}',
6345    '#'+C.id+' *{box-sizing:border-box}',
6346    '#'+C.id+' button,#'+C.id+' input{font:inherit}',
6347    '#'+C.id+' .tp-chat-launcher{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#1877f2;color:#fff;box-shadow:0 12px 30px rgba(24,119,242,.38),0 4px 12px rgba(0,0,0,.22);cursor:pointer;padding:11px 15px 11px 12px;animation:tp-chat-pop .55s ease-out both}',
6348    '#'+C.id+' .tp-chat-launcher:hover{background:#0f66d7;transform:translateY(-1px)}',
6349    '#'+C.id+' .tp-chat-copy{font-weight:800;font-size:15px;line-height:1.05;white-space:nowrap}',
6350    '#'+C.id+' .tp-wheel{position:relative;width:32px;height:32px;flex:0 0 32px;background:#fff;border:3px solid #063f8f;box-shadow:inset 0 0 0 5px #85bdff;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);image-rendering:pixelated}',
6351    '#'+C.id+' .tp-wheel:before{content:"";position:absolute;
6351left:10px;top:10px;width:6px;height:6px;background:#063f8f;box-shadow:-8px 0 0 #063f8f,8px 0 0 #063f8f,0 -8px 0 #063f8f,0 8px 0 #063f8f}',
6352    '#'+C.id+' .tp-chat-panel{display:none;position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 32px));height:540px;max-height:calc(100vh - 132px);background:#fff;border:1px solid #d6dce5;box-shadow:0 16px 40px rgba(0,0,0,.22);border-radius:8px;overflow:hidden}',
6353    '#'+C.id+'.tp-chat-open .tp-chat-panel{display:flex;flex-direction:column}',
6354    '#'+C.id+'.tp-chat-open .tp-chat-launcher{display:none}',
6355    '#'+C.id+' .tp-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#1877f2;color:#fff;font-weight:700}',
6356    '#'+C.id+' .tp-chat-close{background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 2px}',
6357    '#'+C.id+' .tp-chat-lead{padding:14px;background:#fff;border-bottom:1px solid #ddd}',
6358    '#'+C.id+' .tp-chat-lead-question{margin:0 0 10px;padding:9px 11px;border-radius:8px;background:#f7f7f7;border:1px solid #e0e0e0;color:#111;font-size:14px;line-height:1.35}',
6359    '#'+C.id+' .tp-chat-lead p{margin:0 0 10px;font-size:14px;line-height:1.35;color:#222}',
6360    '#'+C.id+' .tp-chat-lead input{width:100%;border:1px solid #bbb;border-radius:6px;padding:9px;margin:0 0 8px;font-size:14px}',
6361    '#'+C.id+' .tp-chat-optin{display:flex;align-items:flex-start;gap:8px;margin:2px 0 10px;font-size:13px;line-height:1.35;color:#333;cursor:pointer}',
6362    '#'+C.id+' .tp-chat-lead .tp-chat-optin input{width:16px;height:16px;flex:none;margin:1px 0 0;padding:0;border:0}',
6363    '#'+C.id+' .tp-chat-start{width:100%;border:0;border-radius:6px;background:#1877f2;color:#fff;padding:10px 12px;cursor:pointer;font-weight:700}',
6364    '#'+C.id+' .tp-chat-error{display:none;margin:0 0 8px;color:#b00020;font-size:13px}',
6365    '#'+C.id+' .tp-chat-messages{flex:1;overflow:auto;padding:14px;background:#f7f7f7}',
6366    '#'+C.id+' .tp-chat-msg{margin:0 0 10px;padding:9px 11px;border-radius:8px;line-height:1.35;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}',
6367    '#'+C.id+' .tp-chat-msg a{color:inherit;text-decoration:underline;font-weight:700}',
6368    '#'+C.id+' .tp-chat-msg-user{background:#1877f2;color:#fff;margin-left:34px}',
6369    '#'+C.id+' .tp-chat-msg-agent{background:#fff;border:1px solid #e0e0e0;margin-right:24px}',
6370    '#'+C.id+' .tp-chat-typing{display:none;margin:0 24px 10px 0;padding:9px 11px;border-radius:8px;background:#fff;border:1px solid #e0e0e0;color:#555;font-size:13px}',
6371    '#'+C.id+' .tp-chat-typing.tp-show{display:block}',
6372    '#'+C.id+' .tp-chat-form{display:none;gap:8px;padding:10px;border-top:1px solid #ddd;background:#fff}',
6373    '#'+C.id+' .tp-chat-ready .tp-chat-form{display:flex}',
6374    '#'+C.id+' .tp-chat-ready .tp-chat-lead{display:none}',
6375    '#'+C.id+' .tp-chat-input{flex:1;min-width:0;border:1px solid #bbb;border-radius:6px;padding:9px;font-size:14px}',
6376    '#'+C.id+' .tp-chat-send{border:0;border-radius:6px;background:#1877f2;color:#fff;padding:0 13px;
6376cursor:pointer;font-weight:700}',
6377    '#'+C.id+' .tp-chat-send:disabled{opacity:.55;cursor:not-allowed}',
6378    '@keyframes tp-chat-pop{0%{transform:translateY(12px);opacity:.35}100%{transform:translateY(0);opacity:1}}',
6379    '@media(prefers-reduced-motion:reduce){#'+C.id+' .tp-chat-launcher{animation:none}}',
6380    '@media(max-width:480px){#'+C.id+'{right:12px;bottom:92px}#'+C.id+' .tp-chat-panel{right:0;width:calc(100vw - 24px);height:min(520px,calc(100vh - 112px))}#'+C.id+' .tp-chat-copy{font-size:14px}}'
6381  ].join('')))}
6382  // --- 2026-09-27 email opt-in (optional, unticked). Car/truck word lists are a
6383  // verbatim copy of vehiclePref() in the Fitment Quiz script (keep in step).
6384  function vnorm(s) {
6385    return String(s || "").toLowerCase().replace(/&/g, " and ").replace(/[^a-z0-9]+/g, " ").replace(/^\s+|\s+$/g, "");
6386  }
6387  var TRUCK_MAKES = /^(jeep|ram|gmc|hummer|land rover|international|rivian|scout|am general|freightliner|ineos|polaris|can am|mahindra)$/;
6388  var TRUCK_BY_MAKE = {
6389    "chevrolet": /^(silverado|colorado|s10|tahoe|suburban|blazer|trailblazer|trax|equinox|traverse|avalanche|express|astro|[ckrv]\d{1,4}|g\d{2}|luv|tracker|uplander|venture|captiva|ssr|luminaapv|sportvan|ck)/,
6390    "ford": /^(f\d{3}|fseries|ranger|bronco|explorer|expedition|excursion|escape|edge|flex|ecosport|transit|e\d{3}|econoline|sporttrac|aerostar|windstar|freestar|freestyle|superduty|lightning|mustangmache|mache)/,
6391    "toyota": /^(tacoma|tundra|4runner|landcruiser|sequoia|highlander|grandhighlander|rav4|fjcruiser|fj\d|sienna|t100|pickup|hilux|venza|chr|corollacross|bz4x|previa|crownsignia|vellfire|alphard|hiace|noah|voxy)/,
6392    "nissan": /^(frontier|titan|xterra|pathfinder|armada|murano|rogue|juke|kicks|quest|nv|hardbody|pickup|d21|ariya)/,
6393    "honda": /^(ridgeline|pilot|passport|crv|hrv|element|odyssey|prologue)/,
6394    "acura": /^(mdx|rdx|zdx|slx|adx)/,
6395    "dodge": /^(ram|dakota|durango|nitro|journey|caravan|grandcaravan|sprinter|powerwagon|ramcharger|b\d{3}|d\d{2,3}|w\d{2,3})/,
6396    "chrysler": /^(pacifica|townandcountry|voyager|grandvoyager|aspen)/,
6397    "plymouth": /^(voyager|grandvoyager|trailduster)/,
6398    "cadillac": /^(escalade|xt[4-6]|srx|lyriq|vistiq|optiq)/,
6399    "lincoln": /^(navigator|aviator|nautilus|mkx|mkc|mkt|corsair|blackwood|marklt)/,
6400    "buick": /^(enclave|encore|envision|rainier|rendezvous|envista|terraza)/,
6401    "mazda": /^(cx\d|tribute|b\d{4}|bseries|mpv|navajo|mazda5$|5$)/,
6402    "subaru": /^(forester|outback|ascent|crosstrek|xvcrosstrek|baja|tribeca|b9tribeca|solterra)/,
6403    "hyundai": /^(santafe|tucson|palisade|kona|venue|santacruz|veracruz|entourage|ioniq9)/,
6404    "kia": /^(sorento|sportage|telluride|seltos|carnival|sedona|borrego|mohave|ev9)/,
6405    "mitsubishi": /^(outlander|montero|pajero|endeavor|eclipsecross|mightymax|raider|triton|l200|delica|rvr)/,
6406    "volkswagen": /^(atlas|tiguan|touareg|id4|taos|routan|vanagon|eurovan|transporter|amarok|idbuzz|bus|type2)/,
6407    "bmw": /^(x\d|xm|ix)/,
6408    "mercedes benz": /^(g\d|gclass|gwagon|gwagen|gl[abcesk]?(\d|class|coupe|$)|ml|eqb|eqssuv|eqesuv|sprinter|metris|xclass)/,
6409    "audi": /^(q\d|sq\d|rsq\d|etron(?!gt))/,
6410    "porsche": /^(cayenne|macan)/,
6411    "lexus": /^(rx|gx|lx|nx|ux|tx)\d*[a-z]*$/,
6412    "infiniti": /^(qx|fx|ex|jx)\d*/,
6413    "volvo": /^(xc\d|ex\d)/,
6414    "tesla": /^((model)?[xy]|cybertruck)/,
6415    "genesis": /^gv\d/,
6416    "jaguar": /^(fpace|epace|ipace)/,
6417    "land rover": /./,
6418    "alfa romeo": /^(stelvio|tonale)/,
6419    "maserati": /^(levante|grecale)/,
6420    "lamborghini": /^urus/,
6421    "bentley": /^bentayga/,
6422    "rolls royce": /^cullinan/,
6423    "aston martin": /^dbx/,
6424    "ferrari": /^purosangue/,
6425    "lotus": /^eletre/,
6426    "lucid": /^gravity/,
6427    "suzuki": /^(samurai|sidekick|vitara|grandvitara|xl7|x90|equator|jimny|nomade)/,
6428    "saturn": /^(vue|outlook|relay)/,
6429    "pontiac": /^(aztek|torrent|montana|transsport)/,
6430    "oldsmobile": /^(bravada|silhouette)/,
6431    "mercury": /^(mountaineer|mariner|villager|monterey)/,
6432  };
6433  function vehiclePref(year, make, model) {
6434    var mk = vnorm(make).replace(/^mercedes$/, "mercedes benz").replace(/^chevy$/, "chevrolet").replace(/^vw$/, "volkswagen");
6435    var md = vnorm(model), mdc = md.replace(/ /g, "");
6436    if (!mk && !md) return "";
6437    if (TRUCK_MAKES.test(mk)) return "TRUCKS";
6438    if (mk === "isuzu") return /^(impulse|stylus|imark|gemini)/.test(mdc) ? "CARS" : "TRUCKS";
6439    if (mk === "ford" && /^maverick/.test(mdc)) return parseInt(year, 10) >= 2019 ? "TRUCKS" : "CARS";
6440    var rx = TRUCK_BY_MAKE[mk];
6441    if (rx && rx.test(mdc)) return "TRUCKS";
6442    if (/\b(pickup|truck|van|ute|suv|4x4|1500|2500|3500|4500|5500)\b/.test(md)) return "TRUCKS";
6443    return "CARS";
6444  }
6445  // The car the shopper picked in the site's vehicle selector (Convermax), if any.
6446  function siteVehicle(){try{var X=window.Convermax,v;if(X&&typeof X.isVehicleSelected==='function'&&X.isVehicleSelected()&&typeof X.getVehicle==='function'){v=X.getVehicle()||{};return{year:clean(v.Year||v.year,8),make:clean(v.Make||v.make,60),model:clean(v.Model||v.model,80)}}}catch(_){}return null}
6447  // Ticked only: subscribe to Newsletter (Yh6y45) through Klaviyo's public
6448  // subscribe endpoint - same call and list as the site popup and quiz.
6449  // Consent is recorded by Klaviyo with source "website chat". Vehicle
6450  // Preferences (CARS/TRUCKS, else BOTH) routes them into the matching welcome
6451  // series; skipped if this browser already signed up via the popup or quiz
6452  // (changing it mid-series would stop that series part-way).
6453  function optIn(c){
6454    try{
6455      var v=siteVehicle(),props={tp_signup_source:'website chat'},vp='',prior='';
6456      try{prior=localStorage.getItem('tp_popup_submitted')||localStorage.getItem('tp_quiz_done_at')||''}catch(_){}
6457      if(v&&(v.make||v.model)){props.Year=v.year;props.Make=v.make;props.Model=v.model;vp=vehiclePref(v.year,v.make,v.model)}
6458      if(!prior){props['Vehicle Preferences']=vp||'BOTH';props.tp_vp_source='chat'}
6459      fetch('https://a.klaviyo.com/client/subscriptions/?company_id='+C.klCompany,{method:'POST',headers:{'Content-Type':'application/json',revision:C.klRevision},body:JSON.stringify({data:{type:'subscription',attributes:{custom_source:'website chat',profile:{data:{type:'profile',attributes:{email:c.email,properties:props}}}},relationships:{list:{data:{type:'list',id:C.klList}}}}})}).catch(function(){});
6460      try{window._learnq=window._learnq||[];window._learnq.push(['identify',{$email:c.email}])}catch(_){}
6461      try{localStorage.setItem(C.optKey,String(Date.now()))}catch(_){}
6462    }catch(_){}
6463  }
6464  function post(payload,cb){var x=new XMLHttpRequest(),done=false,to=setTimeout(function(){if(done)return;done=true;try{x.abort()}catch(_){}cb(1)},C.timeout);x.open('POST',C.http,true);x.setRequestHeader('Content-Type','application/json');x.onreadystatechange=function(){var d;if(x.readyState!==4||done)return;done=true;clearTimeout(to);if(x.status<200||x.status>=300)return cb(1);try{d=JSON.parse(x.responseText)}catch(_){return cb(1)}cb(0,d)};x.onerror=function(){if(done)return;done=true;clearTimeout(to);cb(1)};x.send(JSON.stringify(payload))}
6465  function mount(){if(!document.body||document.getElementById(C.id))return;savePage();styles();var root=e('div',{id:C.id}),btn=e('button',{class:'tp-chat-launcher',type:'button','aria-label':'Open live chat'}),wheel=e('span',{class:'tp-wheel','aria-hidden':'true'}),copy=e('span',{class:'tp-chat-copy'},'Hey, need help?'),panel=e('div',{class:'tp-chat-panel',role:'dialog','aria-label':'ThreePiece live chat'}),head=e('div',{class:'tp-chat-head'}),close=e('button',{class:'tp-chat-close',type:'button','aria-label':'Close live chat'},'x'),lead=e('form',{class:'tp-chat-lead'}),leadQuestion=e('div',{class:'tp-chat-lead-question'},T.hello),leadText=e('p',{},'Drop your name, email, and phone first so we can follow up if this needs a stock or fitment check.'),err=e('div',{class:'tp-chat-error'},'Enter your name, a valid email, and phone number.'),name=e('input',{type:'text',placeholder:'Name',autocomplete:'name',required:'required'}),email=e('input',{type:'email',placeholder:'Email',autocomplete:'email',required:'required'}),phone=e('input',{type:'tel',placeholder:'Phone',autocomplete:'tel',required:'required'}),optWrap=e('label',{class:'tp-chat-optin'}),opt=e('input',{type:'checkbox',name:'tp_chat_optin'}),optLabel=e('span',{},C.optText),start=e('button',{class:'tp-chat-start',type:'submit'},'Start chat'),msgs=e('div',{class:'tp-chat-messages','aria-live':'polite'}),typeEl=e('div',{class:'tp-chat-typing','aria-live':'polite'},'Agent is typing...'),form=e('form',{class:'tp-chat-form'}),input=e('input',{class:'tp-chat-input',type:'text',maxlength:String(C.max),placeholder:'Ask about wheels or fitment',autocomplete:'off'}),send=e('button',{class:'tp-chat-send',type:'submit'},'Send'),visitor=vid(),sock=null,ready=false,typeAt=0;
6466    function linkify(n,x){var s=String(x||''),re=/(https?:\/\/[^\s<>()]+|www\.[^\s<>()]+)/g,last=0,m,url,a;while((m=re.exec(s))){if(m.index>last)n.appendChild(document.createTextNode(s.slice(last,m.index)));url=m[0].replace(/[.,;:!?]+$/,'');if(m[0].length>url.length)re.lastIndex-=m[0].length-url.length;a=e('a',{href:url.indexOf('http')===0?url:'https://'+url,target:'_blank',rel:'noopener noreferrer'},url);n.appendChild(a);last=re.lastIndex}if(last<s.length)n.appendChild(document.createTextNode(s.slice(last)))}
6467    function msg(k,x,keep){var n=e('div',{class:'tp-chat-msg tp-chat-msg-'+k});if(k==='agent')linkify(n,x);else n.textContent=x;add(msgs,n);msgs.scrollTop=msgs.scrollHeight;if(keep)remember(k,x)}
6468    function restore(){history().forEach(function(m){if(m&&m.role&&m.text)msg(m.role,m.text,0)})}
6469    function typing(v){if(v)typeAt=Date.now();msgs.appendChild(typeEl);typeEl.className='tp-chat-typing'+(v?' tp-show':'');msgs.scrollTop=msgs.scrollHeight}
6470    function agent(x){var w=Math.max(0,650-(Date.now()-typeAt));setTimeout(function(){typing(0);msg('agent',x,1)},w)}
6471    function lock(v){send.disabled=v;input.disabled=v}
6472    function payload(body){var p=context();p.type='message';p.content=body;p.visitor_id=visitor;return p}
6473    function sendContext(){var c=context();try{if(sock&&sock.readyState===1)sock.send(JSON.stringify(c))}catch(_){}}
6474    function connect(){if(!ready||!('WebSocket'in window))return;if(sock&&sock.readyState<=1)return;try{sock=new WebSocket(C.ws+'?visitor_id='+encodeURIComponent(visitor));sock.onopen=sendContext;sock.onmessage=function(ev){try{var d=JSON.parse(ev.data);if(d.type==='typing')typing(!!d.show);if(d.type==='message'&&d.content)agent(d.content)}catch(_){}};sock.onerror=function(){typing(0);try{sock.close()}catch(_){}}}catch(_){sock=null}}
6475    function begin(){ready=true;panel.className='tp-chat-panel tp-chat-ready';if(!msgs.querySelector('.tp-chat-msg'))msg('agent',T.hello,1);connect();setTimeout(function(){input.focus()},0)}
6476    restore();
6477    function openChat(auto){root.className='tp-chat-open';savePage();var c=getContact();if(c.name&&c.email&&c.phone)begin();else setTimeout(function(){name.focus()},auto?80:0)}
6478    btn.onclick=function(){openChat(0)};
6479    close.onclick=function(){try{sessionStorage.setItem(C.akey,location.href)}catch(_){}root.className='';btn.focus()};
6480    window.addEventListener('pageshow',savePage);
6481    window.addEventListener('beforeunload',savePage);
6482    document.addEventListener('visibilitychange',function(){if(!document.hidden)savePage()});
6483    document.addEventListener('keydown',function(ev){if(ev.key==='Escape'&&root.className==='tp-chat-open'){root.className='';btn.focus()}});
6484    setTimeout(function(){var c=getContact(),seen;try{seen=sessionStorage.getItem(C.akey)}catch(_){seen=''}if(mobile()||seen===location.href||root.className==='tp-chat-open'||document.hidden)return;try{sessionStorage.setItem(C.akey,location.href)}catch(_){}openChat(1)},C.autoDelay);
6485    lead.onsubmit=function(ev){ev.preventDefault();var c={name:clean(name.value,120),email:clean(email.value,200).toLowerCase(),phone:clean(phone.value,80)};if(!validName(c.name)||!validEmail(c.email)||!validPhone(c.phone)){err.style.display='block';return}err.style.display='none';setContact(c);if(opt.checked)optIn(c);begin();sendContext()};
6486    form.onsubmit=function(ev){ev.preventDefault();var body=clean(input.value,C.max);if(!body||send.disabled)return;input.value='';savePage();msg('user',body,1);typing(1);if(sock&&sock.readyState===1){sock.send(JSON.stringify(payload(body)));return}lock(true);post(payload(body),function(x,d){lock(false);input.focus();agent(x||!d||!d.content?T.busy:d.content)})};
6487    add(btn,wheel);add(btn,copy);add(head,e('div',{},'ThreePiece Fitment Help'));add(head,close);add(lead,leadQuestion);add(lead,leadText);add(lead,err);add(lead,name);add(lead,email);add(lead,phone);add(optWrap,opt);add(optWrap,optLabel);add(lead,optWrap);add(lead,start);add(msgs,typeEl);add(panel,head);add(panel,lead);add(panel,msgs);add(form,input);add(form,send);add(panel,form);add(root,btn);add(root,panel);add(document.body,root)
6488  }
6489  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',mount);else mount();
6490}());
6491</script>
6491
6492
6493
6494    
6494<script>
6495    var _katapult_config = {
6496      api_key: "15eff35d8a3eb15941166ff0883ba10236bdde45",
6497      environment: "https://www.katapult.com",
6498    };
6499
6500    !(function (e, t) {
6501      e.katapult = e.katapult || {};
6502      var n, i, r;
6503      (i = !1),
6504        (n = document.createElement("script")),
6505        (n.type = "text/javascript"),
6506        (n.async = !0),
6507        (n.src = t.environment + "/" + "plugin/js/katapult.js"),
6508        (n.onload = n.onreadystatechange =
6509          function () {
6510            i ||
6511              (this.readyState && "complete" != this.readyState) ||
6512              ((i = !0), e.katapult.setConfig(t.api_key));
6513          }),
6514        (r = document.getElementsByTagName("script")[0]),
6515        r.parentNode.insertBefore(n, r);
6516    })(window, _katapult_config);
6517
6518    document.addEventListener('DOMContentLoaded', function() {
6519      var btn = document.querySelector('.banner-katapult-preapprove-light-728x90');
6520      if (btn) {
6521        btn.addEventListener('click', function() {
6522          if (window.katapult) katapult.preapprove();
6523        });
6524      }
6525    });
6526  </script>
6526
6527 <!-- NEW Google Tag Manager (noscript) -->
vendor: 77 bytes, lines 6527-6530
6527
6528<noscript
6529    ><iframe
6530    src="https://www.googletagmanager.com/ns.html?id=
6530GTM-PJLMLB8F
vendor: 104 bytes, lines 6530-6535
6530"
6531    height="0"
6532    width="0"
6533    style="display: none; visibility: hidden"
6534    ></iframe
6535></noscript>
6536<!-- End Google Tag Manager (noscript) -->
6537
6538    
6538<script>
6539(function() {
6540  'use strict';
6541
6542  window.dataLayer = window.dataLayer || [];
6543  var tracking = window.__tpTracking;
6544
6545  function getProductDataFromCard(article) {
6546    var entityId = article.getAttribute('data-entity-id') || '';
6547    var name = article.getAttribute('data-name') || '';
6548    var brand = article.getAttribute('data-product-brand') || '';
6549    var category = article.getAttribute('data-product-category') || '';
6550    var priceRaw = article.getAttribute('data-product-price') || '';
6551
6552    if (!name) {
6553      var titleEl = article.querySelector('.card-title a, .listItem-title a');
6554      name = titleEl ? titleEl.textContent.trim() : '';
6555    }
6556    if (!brand) {
6557      var brandEl = article.querySelector('.brand-name, .listItem-brand');
6558      brand = brandEl ? brandEl.textContent.trim() : '';
6559    }
6560
6561    var price = parseFloat(String(priceRaw).replace(/[^0-9.]/g, '')) || 0;
6562    if (!price) {
6563      var priceEl = article.querySelector(
6564        '.price--withoutTax, .price--withTax'
6565      );
6566      if (priceEl) {
6567        price = parseFloat(String(priceEl.textContent).replace(/[^0-9.]/g, '')) || 0;
6568      }
6569    }
6570
6571    if (!entityId) {
6572      var productLink = article.querySelector('a.card-figure__link, a.listItem-figure__link');
6573      if (productLink) {
6574        entityId = productLink.getAttribute('href') || '';
6575      }
6576    }
6577
6578    return {
6579      item_id: entityId,
6580      item_name: name,
6581      item_brand: brand,
6582      item_category: category,
6583      price: price
6584    };
6585  }
6586
6587  function getItemListName() {
6588    var path = window.location.pathname;
6589    var params = new URLSearchParams(window.location.search);
6590
6591    if (path.indexOf('/search') !== -1 || params.get('search_query')) {
6592      var query = params.get('search_query') || '';
6593      return 'search results' + (query ? ': ' + query : '');
6594    }
6595
6596    var heading = document.querySelector('h1.page-heading, .page-heading');
6597    var headingText = heading ? heading.textContent.trim() : '';
6598
6599    if (path.indexOf('/brands/') !== -1 || document.querySelector('.brand-products')) {
6600      return 'brand: ' + headingText;
6601    }
6602
6603    if (headingText) {
6604      return 'category: ' + headingText;
6605    }
6606
6607    return 'product listing';
6608  }
6609
6610  document.addEventListener('click', function(e) {
6611    var link = e.target.closest(
6612      'a.card-figure__link, .card-title a, a.listItem-figure__link, .listItem-title a'
6613    );
6614    if (!link) return;
6615
6616    var article = link.closest('article.card, article.listItem');
6617    if (!article) return;
6618
6619    var productData = getProductDataFromCard(article);
6620    if (!productData.item_name) return;
6621
6622    var listName = getItemListName();
6623    var payload = {
6624      ecommerce: {
6625        items: [{
6626          item_id: productData.item_id,
6627          item_name: productData.item_name,
6628          item_brand: productData.item_brand,
6629          item_category: productData.item_category,
6630          price: productData.price,
6631          item_list_name: listName
6632        }]
6633      },
6634      event_meta: {
6635        source: 'theme:select-item'
6636      }
6637    };
6638
6639    if (tracking && typeof tracking.pushEvent === 'function') {
6640      tracking.pushEvent('select_item', payload);
6641    } else {
6642      window.dataLayer.push({ ecommerce: null });
6643      window.dataLayer.push({
6644        event: 'select_item',
6645        ecommerce: payload.ecommerce
6646      });
6647    }
6648  }, true);
6649
6650  document.addEventListener('click', function(e) {
6651    var link = e.target.closest('a[href*="/cart.php"]');
6652    if (!link) return;
6653
6654    var article = link.closest('article.card, article.listItem');
6655    if (!article) return;
6656
6657    var productData = getProductDataFromCard(article);
6658    if (!productData.item_name) return;
6659
6660    e.preventDefault();
6661    var href = link.href;
6662
6663    var payload = {
6664      ecommerce: {
6665        currency: 'USD',
6666        items: [{
6667          item_id: productData.item_id,
6668          item_name: productData.item_name,
6669          item_brand: productData.item_brand,
6670          item_category: productData.item_category,
6671          price: productData.price,
6672          quantity: 1
6673        }]
6674      },
6675      event_meta: {
6676        source: 'theme:quick-add-link'
6677      }
6678    };
6679
6680    if (tracking && typeof tracking.pushEvent === 'function') {
6681      tracking.pushEvent('add_to_cart', payload);
6682    } else {
6683      window.dataLayer.push({ ecommerce: null });
6684      window.dataLayer.push({
6685        event: 'add_to_cart',
6686        ecommerce: payload.ecommerce
6687      });
6688    }
6689
6690    setTimeout(function() { window.location.href = href; }, 500);
6691  }, true);
6692
6693  document.addEventListener('click', function(e) {
6694    var btn = e.target.closest('button, [type="submit"], [class*="cm_button"]');
6695    if (!btn) return;
6696
6697    var widget = btn.closest(
6698      '[class*="cm_VehicleWidget"], [class*="cm_vehicleWidget"], ' +
6699      '[class*="cm_garage"], [class*="cm_Vehicle"]'
6700    );
6701    if (!widget) return;
6702
6703    var year = '', make = '', model = '';
6704
6705    var selects = widget.querySelectorAll('select');
6706    selects.forEach(function(sel) {
6707      var cls = (sel.className || '').toLowerCase();
6708      var ariaLabel = (sel.getAttribute('aria-label') || '').toLowerCase();
6709      var identifier = cls + ' ' + ariaLabel;
6710      var val = (sel.options[sel.selectedIndex] || {}).text || '';
6711      val = val.trim();
6712
6713      if (!val || /^(select|year|make|model|-|—)$/i.test(val)) return;
6714
6715      if (identifier.indexOf('year') !== -1) year = val;
6716      else if (identifier.indexOf('make') !== -1) make = val;
6717      else if (identifier.indexOf('model') !== -1) model = val;
6718    });
6719
6720    if (!year || !make || !model) {
6721      var dropdowns = widget.querySelectorAll('[class*="cm_select"], [class*="cm_dropdown"]');
6722      dropdowns.forEach(function(dd) {
6723        var cls = (dd.className || '').toLowerCase();
6724        var selectedEl = dd.querySelector(
6725          '.cm_selected, [class*="selected"], [class*="value"]'
6726        );
6727        var val = selectedEl ? selectedEl.textContent.trim() : '';
6728        if (!val || /^(select|year|make|model|-|—)$/i.test(val)) return;
6729
6730        if (cls.indexOf('year') !== -1 && !year) year = val;
6731        else if (cls.indexOf('make') !== -1 && !make) make = val;
6732        else if (cls.indexOf('model') !== -1 && !model) model = val;
6733      });
6734    }
6735
6736    if (year && make && model) {
6737      if (tracking && typeof tracking.pushEvent === 'function') {
6738        tracking.pushEvent('fitment_check', {
6739          event_meta: {
6740            source: 'theme:fitment-check'
6741          },
6742          extra: {
6743            fitment_year: year,
6744            fitment_make: make,
6745            fitment_model: model
6746          }
6747        });
6748      } else {
6749        window.dataLayer.push({
6750          event: 'fitment_check',
6751          fitment_year: year,
6752          fitment_make: make,
6753          fitment_model: model
6754        });
6755      }
6756    }
6757  }, true);
6758})();
6759</script>
6759
6760    
6760<script>
6761(function() {
6762  'use strict';
6763
6764  function loadEmailPopup() {
6765    var css = ''
6766      + '.open-button {'
6767      + '  background-color: #4C8FFE; color: white; padding: 15px;'
6768      + '  border: none; cursor: pointer; position: fixed;'
6769      + '  bottom: 23px; right: 28px; border-radius: 100%;'
6770      + '  transition: ease-in-out 0.18s; z-index: 99999;'
6771      + '}'
6772      + '.open-button:hover { transform: scale(1.1); }'
6773      + '.email-popup__threepieceus {'
6774      + '  display: none; position: fixed; bottom: 10px; right: 15px; z-index: 100000;'
6775      + '}'
6776      + '@media screen and (max-width:551px) {'
6777      + '  .email-popup__threepieceus { left: 0; right: 0; bottom: 0; }'
6778      + '}'
6779      + '.form-container {'
6780      + '  max-width: 350px; padding: 30px; background-color: white;'
6781      + '  border-radius: 10px;'
6782      + '  box-shadow: rgba(0,0,0,0.25) 0px 54px 55px, rgba(0,0,0,0.12) 0px -12px 30px,'
6783      + '    rgba(0,0,0,0.12) 0px 4px 6px, rgba(0,0,0,0.17) 0px 12px 13px,'
6784      + '    rgba(0,0,0,0.09) 0px -3px 5px;'
6785      + '}'
6786      + '.form-container h2 { font-size: 26px; margin-top: 0; margin-bottom: 30px; }'
6787      + '@media screen and (max-width:551px) {'
6788      + '  .form-container { max-width: none; height: 75vh; }'
6789      + '}'
6790      + '.form-container input, .form-container select, .form-container textarea {'
6791      + '  width: 100%; padding: 15px; margin: 5px 0 22px 0; border: none; background: #f1f1f1;'
6792      + '}'
6793      + '.form-container textarea { max-width: 100%; max-height: 80px; }'
6794      + '.form-container input:focus, .form-container select:focus, .form-container textarea:focus {'
6795      + '  background-color: #ddd; outline: 2px solid #4C8FFE; outline-offset: 1px;'
6796      + '}'
6797      + '.form-container .btn {'
6798      + '  background-color: #4C8FFE; color: white; padding: 16px 20px;'
6799      + '  border: none; cursor: pointer; width: 100%; margin-bottom: 10px;'
6800      + '}'
6801      + '.form-container .cancel { background-color: red; }';
6802
6803    var style = document.createElement('style');
6804    style.textContent = css;
6805    document.head.appendChild(style);
6806
6807    var html = ''
6808      + '<button class="open-button" id="emailPopupOpen" aria-label="Open contact form">'
6809      + '  <img src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/icons/speech-bubble.png" height="35" width="35" alt="" aria-hidden="true" />'
6810      + '</button>'
6811      + '<div class="email-popup__threepieceus" id="myForm" role="dialog" aria-modal="true" aria-label="Contact form">'
6812      + '  <form class="form-container" action="https://formsubmit.co/[email protected]" method="POST">'
6813      + '    <div style="text-align: end;">'
6814      + '      <button type="button" style="background:none;border:none;cursor:pointer;padding:0;" id="emailPopupClose" aria-label="Close contact form">'
6815      + '        <img src="https://cdn11.bigcommerce.com/s-8zxb6tk/stencil/216f56b0-a0c6-013f-37ac-06627e5707c7/e/fa349870-8a84-013f-3c49-5e8f456a1dbe/icons/close.svg" width="30" height="30" alt="" aria-hidden="true" />'
6816      + '      </button>'
6817      + '    </div>'
6818      + '    <h2>Contact Us</h2>'
6819      + '    <label for="popup-fullname"><b>Full Name</b></label>'
6820      + '    <input type="text" placeholder="Enter Full Name" name="fullname" id="popup-fullname" required autocomplete="name">'
6821      + '    <label for="popup-email"><b>Email</b></label>'
6822      + '    <input type="email" placeholder="Enter Email" name="email" id="popup-email" required autocomplete="email">'
6823      + '    <label for="popup-inquiry-type"><b>Inquiry Type</b></label>'
6824      + '    <select name="inquiry-type" id="popup-inquiry-type" required>'
6825      + '      <option value="Place an order">Place an order</option>'
6826      + '      <option value="Fitment help">Fitment help</option>'
6827      + '      <option value="Issues with an order">Issues with an order</option>'
6828      + '      <option value="returns/exchanges">Returns/Exchanges</option>'
6829      + '    </select>'
6830      + '    <div style="margin-bottom: 10px">'
6831      + '      <label for="popup-inquiry-text"><b>Message</b></label><br>'
6832      + '      <textarea name="inquiry-text" id="popup-inquiry-text" required></textarea>'
6833      + '    </div>'
6834      + '    <button type="submit" class="btn">Submit</button>'
6835      + '  </form>'
6836      + '</div>';
6837
6838    var frag = document.createElement('div');
6839    frag.innerHTML = html;
6840    while (frag.firstChild) {
6841      document.body.appendChild(frag.firstChild);
6842    }
6843
6844    document.getElementById('emailPopupOpen').addEventListener('click', function() {
6845      document.getElementById('myForm').style.display = 'block';
6846    });
6847    document.getElementById('emailPopupClose').addEventListener('click', function() {
6848      document.getElementById('myForm').style.display = 'none';
6849    });
6850
6851    // Expose global openForm/closeForm for product-contact-box and any other callers
6852    window.openForm = function() {
6853      var form = document.getElementById('myForm');
6854      if (form) form.style.display = 'block';
6855    };
6856    window.closeForm = function() {
6857      var form = document.getElementById('myForm');
6858      if (form) form.style.display = 'none';
6859    };
6860  }
6861
6862  // Load after the page is fully rendered — this widget is never needed immediately
6863  if (document.readyState === 'complete') {
6864    setTimeout(loadEmailPopup, 0);
6865  } else {
6866    window.addEventListener('load', function() {
6867      setTimeout(loadEmailPopup, 2000);
6868    });
6869  }
6870
6871})();
6872</script>
6872
6873
6874        <!-- ThreePiece.us attribution visit tracking -->
6875<script>
6876(function () {
6877  'use strict';
6878
6879  try {
6880    if (window.__TP_ATTRIBUTION_BRIDGE__ === 'bc-script') return;
6881
6882    var tracking = window.__tpTracking;
6883
6884    if (navigator.doNotTrack === '1' || window.doNotTrack === '1') return;
6885    if (!tracking || typeof tracking.postJSON !== 'function') return;
6886
6887    var sessionKey = 'tp_pages_this_session';
6888    var pageCount = 1;
6889    var maxScroll = 0;
6890    var identifiedUser = null;
6891
6892    try {
6893      pageCount = parseInt(window.sessionStorage.getItem(sessionKey) || '0', 10) + 1;
6894      window.sessionStorage.setItem(sessionKey, String(pageCount));
6895    } catch (err) {
6896      pageCount = 1;
6897    }
6898
6899    function updateScroll() {
6900      var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
6901      var docHeight = Math.max(
6902        document.body.scrollHeight,
6903        document.documentElement.scrollHeight
6904      ) - window.innerHeight;
6905
6906      if (docHeight <= 0) return;
6907
6908      var percent = Math.round((scrollTop / docHeight) * 100);
6909      if (percent > maxScroll) maxScroll = percent;
6910    }
6911
6912    if (window.dataLayer) {
6913      for (var i = window.dataLayer.length - 1; i >= 0; i--) {
6914        var entry = window.dataLayer[i];
6915        if (entry && entry.user_data && (entry.user_data.email || entry.user_data.external_id)) {
6916          identifiedUser = entry.user_data;
6917          break;
6918        }
6919      }
6920    }
6921
6922    function trackVisit() {
6923      var snapshot = tracking.getAttributionSnapshot();
6924
6925      tracking.postJSON('/v1/visits', {
6926        event_meta: tracking.buildEventMeta('page_visit', {
6927          source: 'theme:visitor-id-script'
6928        }),
6929        page: {
6930          location: snapshot.page_location,
6931          path: snapshot.page_path,
6932          referrer: snapshot.referrer,
6933          page_type: snapshot.page_type
6934        },
6935        attribution: snapshot,
6936        visit_metrics: {
6937          pages_this_session: pageCount,
6938          scroll_depth: maxScroll,
6939          screen_resolution: screen.width + 'x' + screen.height,
6940          timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
6941          user_agent: navigator.userAgent
6942        },
6943        user_data: identifiedUser
6944      });
6945    }
6946
6947    window.addEventListener('scroll', updateScroll, { passive: true });
6948
6949    if (document.readyState === 'complete') {
6950      setTimeout(trackVisit, 1500);
6951    } else {
6952      window.addEventListener('load', function () {
6953        setTimeout(trackVisit, 1500);
6954      });
6955    }
6956  } catch (err) {
6957    if (window.console && typeof window.console.warn === 'function') {
6958      window.console.warn('ThreePiece visit tracking disabled.', err);
6959    }
6960  }
6961})();
6962</script>
6962
6963
6964    
6964<script async src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WcaDix"></script>
6964
6965  
6965<script>window.__CF$cv$params={r:'a45154b85ed32c32',t:'MTc5MTA4Njk2NA==',u:'01a1051a3d7573948677fd0ec5ee2d63',ut:'loly0_SUIQ_xCnKD3cpx_6.pSMZBaZBPKZbZa.nkFq4-1791086968-1.2.1.1-uhhd62OEYRZLUNSvuzsy34MVH2FTWaI5nFlvam7VsyXCAWq8iwwRZEZllKFLSr1d4Yt4LIOQ0dvxr.oI2zdUolINZDD9Y7x8IR8sZh6arSE',i:60};(function(){if(!document.body)return;var s=document.createElement('script');s.src='/cdn-cgi/challenge-platform/scripts/precursor/main.js';document.head.appendChild(s);})();</script>
6965</body>
6966</html>
6967
6968
6969<!-- 
6969<script>
6970  const productQuery = `query {
6971    site {
6972        search {
6973            searchProducts(
6974                filters: {
6975                    productAttributes: [
6976                        {
6977                            attribute: "DIAMETER",
6978                            values: ["18"]
6979                        },
6980                        {
6981                            attribute: "WIDTH",
6982                            values: ["14"]
6983                        },
6984                        {
6985                            attribute: "OFFSET",
6986                            values: ["-18"]
6987                        },                          
6988                    ]
6989                }
6990            ) {
6991                products(first: 50) {
6992                    edges {
6993                        node {
6994                            sku
6995                            entityId
6996                            name
6997                            prices {
6998                                price {
6999                                    value
7000                                }
7001                            }
7002                        }
7003                    }
7004                }
7005            }
7006        }
7007    }
7008}`;
7009
7010  fetch("/graphql", {
7011    method: "POST",
7012    credentials: "same-origin",
7013    headers: {
7014      "Content-Type": "application/json",
7015      Authorization: "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOlsxXSwiY29ycyI6WyJodHRwczovL3d3dy50aHJlZXBpZWNlLnVzIl0sImVhdCI6MTc5MTIwNjU5MCwiaWF0IjoxNzkxMDMzNzkwLCJpc3MiOiJCQyIsInNpZCI6ODQ2MzU0LCJzdWIiOiJCQyIsInN1Yl90eXBlIjowLCJ0b2tlbl90eXBlIjoxfQ.1TXnt4GNK2qClvLu4PgoGOlKJjn3H-E9CFOeMQTuL1VhnsZShRRMw1tOggfwTphTYSC54bgD9-3xIodSY1WhYw",
7016    },
7017    body: JSON.stringify({
7018      query: productQuery,
7019    }),
7020  })
7021    .then((res) => res.json())
7022    .then((data) =>
7023      console.log(data.data.site.search.searchProducts.products.edges)
7024    )
7025    .catch((error) => console.error(error));
7026</script>
7026 -->

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.