PageSourceSearch

https://philwickham.store/cart

html philwickham.store collected 2026-10-02 18:38:58 UTC 250,460 bytes, 3,121 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en" dir="ltr">
3<head>
4
5
6
7
8  <meta name="google-site-verification" content="C6B25uAXiff22Bkw8oliXwJnmXfV1tApcMwlZ-8mMoY" />
9  <meta name="google-site-verification" content="1syvOKR70hKetmkqyeTO5qbjf1lKovPQMMHUttGkXvg" />
10  <meta name="google-site-verification" content="o4vABvLTzTJvH5IibBiseHSRJTcxc52A01rqMIJTvQw">
11  <meta name="google-site-verification" content="QhmMrLOfZkVZuK255MLiDmGX9Sg1UR0Bdl9W1RvQy7U" />
12
13<!-- AccessiBe -->
14<script> (function(){ var s = document.createElement('script'); var h = document.querySelector('head') || document.body; s.src = 'https://acsbapp.com/apps/app/dist/js/app.js'; s.async = true; s.onload = function(){ acsbJS.init({ statementLink : '', footerHtml : '', hideMobile : false, hideTrigger : false, disableBgProcess : false, language : 'en', position : 'left', leadColor : '#161616', triggerColor : '#161616', triggerRadius : '50%', triggerPositionX : 'right', triggerPositionY : 'bottom', triggerIcon : 'people', triggerSize : 'medium', triggerOffsetX : 20, triggerOffsetY : 20, mobile : { triggerSize : 'small', triggerPositionX : 'right', triggerPositionY : 'bottom', triggerOffsetX : 10, triggerOffsetY : 10, triggerRadius : '50%' } }); }; h.appendChild(s); })(); </script>
14
15<!-- End - AccessiBe-->
16  
17  
18  <meta charset="utf-8">
19  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
20  <meta name="viewport" content="width=device-width,initial-scale=1">
21  <meta name="theme-color" content="#111111">
22  <link rel="canonical" href="https://philwickham.store/cart">
23  <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
24  <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin>
25  <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com">
26  <link rel="dns-prefetch" href="https://ajax.googleapis.com">
27  <link rel="dns-prefetch" href="https://maps.googleapis.com">
28  <link rel="dns-prefetch" href="https://maps.gstatic.com"><link rel="shortcut icon" href="//philwickham.store/cdn/shop/files/favicon_-_Brandon_Lake-1_32x32.png?v=1701807547" type="image/png" /><title>Your Shopping Cart
29&ndash; Phil Wickham
30</title>
31<meta property="og:site_name" content="Phil Wickham">
32  <meta property="og:url" content="https://philwickham.store/cart">
33  <meta property="og:title" content="Your Shopping Cart">
34  <meta property="og:type" content="website">
35  <meta property="og:description" content="The official online store for Phil Wickham. Shop music, clothing, accessories and more."><meta property="og:image" content="http://philwickham.store/cdn/shop/files/NewWebBanner-06_7f46ff71-0c86-422c-9cd5-75205e2c0232.jpg?v=1709145359">
36    <meta property="og:image:secure_url" content="https://philwickham.store/cdn/shop/files/NewWebBanner-06_7f46ff71-0c86-422c-9cd5-75205e2c0232.jpg?v=1709145359">
37    <meta property="og:image:width" content="1200">
38    <meta property="og:image:height" content="658"><meta name="twitter:site" content="@">
39  <meta name="twitter:card" content="summary_large_image">
40  <meta name="twitter:title" content="Your Shopping Cart">
41  <meta name="twitter:description" content="The official online store for Phil Wickham. Shop music, clothing, accessories and more.">
42<style data-shopify>@font-face {
43  font-family: "Libre Franklin";
44  font-weight: 700;
45  font-style: normal;
46  font-display: swap;
47  src: url("//philwickham.store/cdn/fonts/libre_franklin/librefranklin_n7.6739620624550b8695d0cc23f92ffd46eb51c7a3.woff2") format("woff2"),
48       url("//philwickham.store/cdn/fonts/libre_franklin/librefranklin_n7.7cebc205621b23b061b803310af0ad39921ae57d.woff") format("woff");
49}
50
51  
52
53  
54  
55  
56</style><link href="//philwickham.store/cdn/shop/t/32/assets/theme.css?v=44263594034188710391777670661" rel="stylesheet" type="text/css" media="all" />
57<style data-shopify>:root {
58    --typeHeaderPrimary: "Libre Franklin";
59    --typeHeaderFallback: sans-serif;
60    --typeHeaderSize: 36px;
61    --typeHeaderWeight: 700;
62    --typeHeaderLineHeight: 1;
63    --typeHeaderSpacing: 0.0em;
64
65    --typeBasePrimary:Helvetica;
66    --typeBaseFallback:Arial, sans-serif;
67    --typeBaseSize: 16px;
68    --typeBaseWeight: 400;
69    --typeBaseSpacing: 0.025em;
70    --typeBaseLineHeight: 1.4;
71    --typeBaselineHeightMinus01: 1.3;
72
73    --typeCollectionTitle: 20px;
74
75    --iconWeight: 2px;
76    --iconLinecaps: miter;
77
78    
79        --buttonRadius: 0;
80    
81
82    --colorGridOverlayOpacity: 0.1;
83    }
84
85    .placeholder-content {
86    background-image: linear-gradient(100deg, #ffffff 40%, #f7f7f7 63%, #ffffff 79%);
87    }</style>
87<script>
88    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
89
90    window.theme = window.theme || {};
91    theme.routes = {
92      home: "/",
93      cart: "/cart.js",
94      cartPage: "/cart",
95      cartAdd: "/cart/add.js",
96      cartChange: "/cart/change.js",
97      search: "/search",
98      predictiveSearch: "/search/suggest"
99    };
100    theme.strings = {
101      soldOut: "Sold Out",
102      unavailable: "Unavailable",
103      inStockLabel: "In stock, ready to ship",
104      oneStockLabel: "Low stock - [count] item left",
105      otherStockLabel: "Low stock - [count] items left",
106      willNotShipUntil: "Ready to ship [date]",
107      willBeInStockAfter: "Back in stock [date]",
108      waitingForStock: "Inventory on the way",
109      savePrice: "Save [saved_amount]",
110      cartEmpty: "Your cart is currently empty.",
111      cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out",
112      searchCollections: "Collections",
113      searchPages: "Pages",
114      searchArticles: "Articles",
115      productFrom: "from ",
116      maxQuantity: "You can only have [quantity] of [title] in your cart."
117    };
118    theme.settings = {
119      cartType: "drawer",
120      isCustomerTemplate: false,
121      moneyFormat: "${{amount_no_decimals}}",
122      saveType: "dollar",
123      productImageSize: "square",
124      productImageCover: false,
125      predictiveSearch: false,
126      predictiveSearchType: null,
127      predictiveSearchVendor: false,
128      predictiveSearchPrice: false,
129      quickView: false,
130      themeName: 'Impulse',
131      themeVersion: "7.4.0"
132    };
133  </script>
133
134
135  
135<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
135<meta name="facebook-domain-verification" content="bjecceb2iwdx2d0qe9mwss47a731fx">
136<meta name="facebook-domain-verification" content="rs31gikvlwkdn2rx1zdnikuv1z00bz">
137<meta name="google-site-verification" content="QhmMrLOfZkVZuK255MLiDmGX9Sg1UR0Bdl9W1RvQy7U">
138<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/29219160098/digital_wallets/dialog">
139<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://philwickham.store/cart">
140<link rel="alternate" hreflang="en" href="https://philwickham.store/cart">
141<link rel="alternate" hreflang="en-AD" href="https://philwickham.store/en-int/cart">
142<link rel="alternate" hreflang="en-AE" href="https://philwickham.store/en-int/cart">
143<link rel="alternate" hreflang="en-AG" href="https://philwickham.store/en-int/cart">
144<link rel="alternate" hreflang="en-AI" href="https://philwickham.store/en-int/cart">
145<link rel="alternate" hreflang="en-AL" href="https://philwickham.store/en-int/cart">
146<link rel="alternate" hreflang="en-AM" href="https://philwickham.store/en-int/cart">
147<link rel="alternate" hreflang="en-AO" href="https://philwickham.store/en-int/cart">
148<link rel="alternate" hreflang="en-AR" href="https://philwickham.store/en-int/cart">
149<link rel="alternate" hreflang="en-AT" href="https://philwickham.store/en-int/cart">
150<link rel="alternate" hreflang="en-AU" href="https://philwickham.store/en-int/cart">
151<link rel="alternate" hreflang="en-AW" href="https://philwickham.store/en-int/cart">
152<link rel="alternate" hreflang="en-AZ" href="https://philwickham.store/en-int/cart">
153<link rel="alternate" hreflang="en-BA" href="https://philwickham.store/en-int/cart">
154<link rel="alternate" hreflang="en-BB" href="https://philwickham.store/en-int/cart">
155<link rel="alternate" hreflang="en-BD" href="https://philwickham.store/en-int/cart">
156<link rel="alternate" hreflang="en-BE" href="https://philwickham.store/en-int/cart">
157<link rel="alternate" hreflang="en-BF" href="https://philwickham.store/en-int/cart">
158<link rel="alternate" hreflang="en-BG" href="https://philwickham.store/en-int/cart">
159<link rel="alternate" hreflang="en-BH" href="https://philwickham.store/en-int/cart">
160<link rel="alternate" hreflang="en-BI" href="https://philwickham.store/en-int/cart">
161<link rel="alternate" hreflang="en-BJ" href="https://philwickham.store/en-int/cart">
162<link rel="alternate" hreflang="en-BL" href="https://philwickham.store/en-int/cart">
163<link rel="alternate" hreflang="en-BM" href="https://philwickham.store/en-int/cart">
164<link rel="alternate" hreflang="en-BN" href="https://philwickham.store/en-int/cart">
165<link rel="alternate" hreflang="en-BO" href="https://philwickham.store/en-int/cart">
166<link rel="alternate" hreflang="en-BQ" href="https://philwickham.store/en-int/cart">
167<link rel="alternate" hreflang="en-BR" href="https://philwickham.store/en-int/cart">
168<link rel="alternate" hreflang="en-BS" href="https://philwickham.store/en-int/cart">
169<link rel="alternate" hreflang="en-BW" href="https://philwickham.store/en-int/cart">
170<link rel="alternate" hreflang="en-BZ" href="https://philwickham.store/en-int/cart">
171<link rel="alternate" hreflang="en-CA" href="https://philwickham.store/en-int/cart">
172<link rel="alternate" hreflang="en-CH" href="https://philwickham.store/en-int/cart">
173<link rel="alternate" hreflang="en-CK" href="https://philwickham.store/en-int/cart">
174<link rel="alternate" hreflang="en-CL" href="https://philwickham.store/en-int/cart">
175<link rel="alternate" hreflang="en-CM" href="https://philwickham.store/en-int/cart">
176<link rel="alternate" hreflang="en-CN" href="https://philwickham.store/en-int/cart">
177<link rel="alternate" hreflang="en-CO" href="https://philwickham.store/en-int/cart">
178<link rel="alternate" hreflang="en-CR" href="https://philwickham.store/en-int/cart">
179<link rel="alternate" hreflang="en-CV" href="https://philwickham.store/en-int/cart">
180<link rel="alternate" hreflang="en-CW" href="https://philwickham.store/en-int/cart">
181<link rel="alternate" hreflang="en-CY" href="https://philwickham.store/en-int/cart">
182<link rel="alternate" hreflang="en-CZ" href="https://philwickham.store/en-int/cart">
183<link rel="alternate" hreflang="en-DE" href="https://philwickham.store/en-int/cart">
184<link rel="alternate" hreflang="en-DJ" href="https://philwickham.store/en-int/cart">
185<link rel="alternate" hreflang="en-DK" href="https://philwickham.store/en-int/cart">
186<link rel="alternate" hreflang="en-DM" href="https://philwickham.store/en-int/cart">
187<link rel="alternate" hreflang="en-DO" href="https://philwickham.store/en-int/cart">
188<link rel="alternate" hreflang="en-DZ" href="https://philwickham.store/en-int/cart">
189<link rel="alternate" hreflang="en-EC" href="https://philwickham.store/en-int/cart">
190<link rel="alternate" hreflang="en-EE" href="https://philwickham.store/en-int/cart">
191<link rel="alternate" hreflang="en-EG" href="https://philwickham.store/en-int/cart">
192<link rel="alternate" hreflang="en-ES" href="https://philwickham.store/en-int/cart">
193<link rel="alternate" hreflang="en-ET" href="https://philwickham.store/en-int/cart">
194<link rel="alternate" hreflang="en-FI" href="https://philwickham.store/en-int/cart">
195<link rel="alternate" hreflang="en-FJ" href="https://philwickham.store/en-int/cart">
196<link rel="alternate" hreflang="en-FK" href="https://philwickham.store/en-int/cart">
197<link rel="alternate" hreflang="en-FO" href="https://philwickham.store/en-int/cart">
198<link rel="alternate" hreflang="en-FR" href="https://philwickham.store/en-int/cart">
199<link rel="alternate" hreflang="en-GA" href="https://philwickham.store/en-int/cart">
200<link rel="alternate" hreflang="en-GB" href="https://philwickham.store/en-int/cart">
201<link rel="alternate" hreflang="en-GD" href="https://philwickham.store/en-int/cart">
202<link rel="alternate" hreflang="en-GE" href="https://philwickham.store/en-int/cart">
203<link rel="alternate" hreflang="en-GF" href="https://philwickham.store/en-int/cart">
204<link rel="alternate" hreflang="en-GG" href="https://philwickham.store/en-int/cart">
205<link rel="alternate" hreflang="en-GH" href="https://philwickham.store/en-int/cart">
206<link rel="alternate" hreflang="en-GI" href="https://philwickham.store/en-int/cart">
207<link rel="alternate" hreflang="en-GL" href="https://philwickham.store/en-int/cart">
208<link rel="alternate" hreflang="en-GM" href="https://philwickham.store/en-int/cart">
209<link rel="alternate" hreflang="en-GN" href="https://philwickham.store/en-int/cart">
210<link rel="alternate" hreflang="en-GP" href="https://philwickham.store/en-int/cart">
211<link rel="alternate" hreflang="en-GQ" href="https://philwickham.store/en-int/cart">
212<link rel="alternate" hreflang="en-GR" href="https://philwickham.store/en-int/cart">
213<link rel="alternate" hreflang="en-GT" href="https://philwickham.store/en-int/cart">
214<link rel="alternate" hreflang="en-GW" href="https://philwickham.store/en-int/cart">
215<link rel="alternate" hreflang="en-GY" href="https://philwickham.store/en-int/cart">
216<link rel="alternate" hreflang="en-HK" href="https://philwickham.store/en-int/cart">
217<link rel="alternate" hreflang="en-HN" href="https://philwickham.store/en-int/cart">
218<link rel="alternate" hreflang="en-HR" href="https://philwickham.store/en-int/cart">
219<link rel="alternate" hreflang="en-HT" href="https://philwickham.store/en-int/cart">
220<link rel="alternate" hreflang="en-HU" href="https://philwickham.store/en-int/cart">
221<link rel="alternate" hreflang="en-ID" href="https://philwickham.store/en-int/cart">
222<link rel="alternate" hreflang="en-IE" href="https://philwickham.store/en-int/cart">
223<link rel="alternate" hreflang="en-IL" href="https://philwickham.store/en-int/cart">
224<link rel="alternate" hreflang="en-IN" href="https://philwickham.store/en-int/cart">
225<link rel="alternate" hreflang="en-IS" href="https://philwickham.store/en-int/cart">
226<link rel="alternate" hreflang="en-IT" href="https://philwickham.store/en-int/cart">
227<link rel="alternate" hreflang="en-JE" href="https://philwickham.store/en-int/cart">
228<link rel="alternate" hreflang="en-JM" href="https://philwickham.store/en-int/cart">
229<link rel="alternate" hreflang="en-JO" href="https://philwickham.store/en-int/cart">
230<link rel="alternate" hreflang="en-JP" href="https://philwickham.store/en-int/cart">
231<link rel="alternate" hreflang="en-KE" href="https://philwickham.store/en-int/cart">
232<link rel="alternate" hreflang="en-KG" href="https://philwickham.store/en-int/cart">
233<link rel="alternate" hreflang="en-KH" href="https://philwickham.store/en-int/cart">
234<link rel="alternate" hreflang="en-KI" href="https://philwickham.store/en-int/cart">
235<link rel="alternate" hreflang="en-KM" href="https://philwickham.store/en-int/cart">
236<link rel="alternate" hreflang="en-KN" href="https://philwickham.store/en-int/cart">
237<link rel="alternate" hreflang="en-KR" href="https://philwickham.store/en-int/cart">
238<link rel="alternate" hreflang="en-KW" href="https://philwickham.store/en-int/cart">
239<link rel="alternate" hreflang="en-KY" href="https://philwickham.store/en-int/cart">
240<link rel="alternate" hreflang="en-KZ" href="https://philwickham.store/en-int/cart">
241<link rel="alternate" hreflang="en-LA" href="https://philwickham.store/en-int/cart">
242<link rel="alternate" hreflang="en-LC" href="https://philwickham.store/en-int/cart">
243<link rel="alternate" hreflang="en-LI" href="https://philwickham.store/en-int/cart">
244<link rel="alternate" hreflang="en-LK" href="https://philwickham.store/en-int/cart">
245<link rel="alternate" hreflang="en-LS" href="https://philwickham.store/en-int/cart">
246<link rel="alternate" hreflang="en-LT" href="https://philwickham.store/en-int/cart">
247<link rel="alternate" hreflang="en-LU" href="https://philwickham.store/en-int/cart">
248<link rel="alternate" hreflang="en-LV" href="https://philwickham.store/en-int/cart">
249<link rel="alternate" hreflang="en-MA" href="https://philwickham.store/en-int/cart">
250<link rel="alternate" hreflang="en-MC" href="https://philwickham.store/en-int/cart">
251<link rel="alternate" hreflang="en-MD" href="https://philwickham.store/en-int/cart">
252<link rel="alternate" hreflang="en-ME" href="https://philwickham.store/en-int/cart">
253<link rel="alternate" hreflang="en-MF" href="https://philwickham.store/en-int/cart">
254<link rel="alternate" hreflang="en-MG" href="https://philwickham.store/en-int/cart">
255<link rel="alternate" hreflang="en-MK" href="https://philwickham.store/en-int/cart">
256<link rel="alternate" hreflang="en-MN" href="https://philwickham.store/en-int/cart">
257<link rel="alternate" hreflang="en-MO" href="https://philwickham.store/en-int/cart">
258<link rel="alternate" hreflang="en-MQ" href="https://philwickham.store/en-int/cart">
259<link rel="alternate" hreflang="en-MR" href="https://philwickham.store/en-int/cart">
260<link rel="alternate" hreflang="en-MS" href="https://philwickham.store/en-int/cart">
261<link rel="alternate" hreflang="en-MT" href="https://philwickham.store/en-int/cart">
262<link rel="alternate" hreflang="en-MU" href="https://philwickham.store/en-int/cart">
263<link rel="alternate" hreflang="en-MV" href="https://philwickham.store/en-int/cart">
264<link rel="alternate" hreflang="en-MW" href="https://philwickham.store/en-int/cart">
265<link rel="alternate" hreflang="en-MX" href="https://philwickham.store/en-int/cart">
266<link rel="alternate" hreflang="en-MY" href="https://philwickham.store/en-int/cart">
267<link rel="alternate" hreflang="en-MZ" href="https://philwickham.store/en-int/cart">
268<link rel="alternate" hreflang="en-NA" href="https://philwickham.store/en-int/cart">
269<link rel="alternate" hreflang="en-NC" href="https://philwickham.store/en-int/cart">
270<link rel="alternate" hreflang="en-NG" href="https://philwickham.store/en-int/cart">
271<link rel="alternate" hreflang="en-NI" href="https://philwickham.store/en-int/cart">
272<link rel="alternate" hreflang="en-NL" href="https://philwickham.store/en-int/cart">
273<link rel="alternate" hreflang="en-NO" href="https://philwickham.store/en-int/cart">
274<link rel="alternate" hreflang="en-NP" href="https://philwickham.store/en-int/cart">
275<link rel="alternate" hreflang="en-NR" href="https://philwickham.store/en-int/cart">
276<link rel="alternate" hreflang="en-NU" href="https://philwickham.store/en-int/cart">
277<link rel="alternate" hreflang="en-NZ" href="https://philwickham.store/en-int/cart">
278<link rel="alternate" hreflang="en-OM" href="https://philwickham.store/en-int/cart">
279<link rel="alternate" hreflang="en-PA" href="https://philwickham.store/en-int/cart">
280<link rel="alternate" hreflang="en-PE" href="https://philwickham.store/en-int/cart">
281<link rel="alternate" hreflang="en-PF" href="https://philwickham.store/en-int/cart">
282<link rel="alternate" hreflang="en-PG" href="https://philwickham.store/en-int/cart">
283<link rel="alternate" hreflang="en-PH" href="https://philwickham.store/en-int/cart">
284<link rel="alternate" hreflang="en-PK" href="https://philwickham.store/en-int/cart">
285<link rel="alternate" hreflang="en-PL" href="https://philwickham.store/en-int/cart">
286<link rel="alternate" hreflang="en-PT" href="https://philwickham.store/en-int/cart">
287<link rel="alternate" hreflang="en-PY" href="https://philwickham.store/en-int/cart">
288<link rel="alternate" hreflang="en-QA" href="https://philwickham.store/en-int/cart">
289<link rel="alternate" hreflang="en-RE" href="https://philwickham.store/en-int/cart">
290<link rel="alternate" hreflang="en-RO" href="https://philwickham.store/en-int/cart">
291<link rel="alternate" hreflang="en-RS" href="https://philwickham.store/en-int/cart">
292<link rel="alternate" hreflang="en-RW" href="https://philwickham.store/en-int/cart">
293<link rel="alternate" hreflang="en-SA" href="https://philwickham.store/en-int/cart">
294<link rel="alternate" hreflang="en-SB" href="https://philwickham.store/en-int/cart">
295<link rel="alternate" hreflang="en-SC" href="https://philwickham.store/en-int/cart">
296<link rel="alternate" hreflang="en-SE" href="https://philwickham.store/en-int/cart">
297<link rel="alternate" hreflang="en-SG" href="https://philwickham.store/en-int/cart">
298<link rel="alternate" hreflang="en-SI" href="https://philwickham.store/en-int/cart">
299<link rel="alternate" hreflang="en-SK" href="https://philwickham.store/en-int/cart">
300<link rel="alternate" hreflang="en-SL" href="https://philwickham.store/en-int/cart">
301<link rel="alternate" hreflang="en-SM" href="https://philwickham.store/en-int/cart">
302<link rel="alternate" hreflang="en-SN" href="https://philwickham.store/en-int/cart">
303<link rel="alternate" hreflang="en-SR" href="https://philwickham.store/en-int/cart">
304<link rel="alternate" hreflang="en-ST" href="https://philwickham.store/en-int/cart">
305<link rel="alternate" hreflang="en-SV" href="https://philwickham.store/en-int/cart">
306<link rel="alternate" hreflang="en-SZ" href="https://philwickham.store/en-int/cart">
307<link rel="alternate" hreflang="en-TC" href="https://philwickham.store/en-int/cart">
308<link rel="alternate" hreflang="en-TD" href="https://philwickham.store/en-int/cart">
309<link rel="alternate" hreflang="en-TG" href="https://philwickham.store/en-int/cart">
310<link rel="alternate" hreflang="en-TH" href="https://philwickham.store/en-int/cart">
311<link rel="alternate" hreflang="en-TL" href="https://philwickham.store/en-int/cart">
312<link rel="alternate" hreflang="en-TN" href="https://philwickham.store/en-int/cart">
313<link rel="alternate" hreflang="en-TO" href="https://philwickham.store/en-int/cart">
314<link rel="alternate" hreflang="en-TT" href="https://philwickham.store/en-int/cart">
315<link rel="alternate" hreflang="en-TV" href="https://philwickham.store/en-int/cart">
316<link rel="alternate" hreflang="en-TW" href="https://philwickham.store/en-int/cart">
317<link rel="alternate" hreflang="en-TZ" href="https://philwickham.store/en-int/cart">
318<link rel="alternate" hreflang="en-UG" href="https://philwickham.store/en-int/cart">
319<link rel="alternate" hreflang="en-UY" href="https://philwickham.store/en-int/cart">
320<link rel="alternate" hreflang="en-UZ" href="https://philwickham.store/en-int/cart">
321<link rel="alternate" hreflang="en-VC" href="https://philwickham.store/en-int/cart">
322<link rel="alternate" hreflang="en-VG" href="https://philwickham.store/en-int/cart">
323<link rel="alternate" hreflang="en-VN" href="https://philwickham.store/en-int/cart">
324<link rel="alternate" hreflang="en-VU" href="https://philwickham.store/en-int/cart">
325<link rel="alternate" hreflang="en-WS" href="https://philwickham.store/en-int/cart">
326<link rel="alternate" hreflang="en-YT" href="https://philwickham.stor
326e/en-int/cart">
327<link rel="alternate" hreflang="en-ZA" href="https://philwickham.store/en-int/cart">
328<link rel="alternate" hreflang="en-ZM" href="https://philwickham.store/en-int/cart">
329<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=923664702"></script>
329
330<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
331<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=923664702&shop_id=29219160098" crossorigin="anonymous"></script>
vendor: 1 bytes, line 331
331
332<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":29219160098,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/29219160098","merchantName":"Phil Wickham","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Phil Wickham","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 332
332
333<script id="shopify-features" type="application/json">{"accessToken":"7f408546b72f28d1d032e58aa1e7779b","betas":["rich-media-storefront-analytics"],"domain":"philwickham.store","predictiveSearch":true,"shopId":29219160098,"locale":"en"}</script>
vendor: 1 bytes, line 333
333
334<script>var Shopify = Shopify || {};
335Shopify.shop = "phil-wickham-online-store.myshopify.com";
336Shopify.locale = "en";
337Shopify.currency = {"active":"USD","rate":"1.0"};
338Shopify.country = "US";
339Shopify.theme = {"name":"May 2025 - EDH","id":185529336126,"schema_name":"Impulse","schema_version":"7.4.0","theme_store_id":857,"role":"main"};
340Shopify.theme.handle = "null";
341Shopify.theme.style = {"id":null,"handle":null};
342Shopify.cdnHost = "philwickham.store/cdn";
343Shopify.routes = Shopify.routes || {};
344Shopify.routes.root = "/";
345Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
346Shopify.SignInWithShop = Shopify.SignInWithShop || {};
347Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
348Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 348
348
349<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 349
349
350<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 350
350
351<script>
352  window.ShopifyPay = window.ShopifyPay || {};
353  window.ShopifyPay.apiHost = "shop.app\/pay";
354  window.ShopifyPay.redirectState = null;
355</script>
vendor: 1 bytes, line 355
355
356<script>
357  window.Shopify = window.Shopify || {};
358  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
359  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
360  window.Shopify.SignInWithShop.eligible = true;
361</script>
vendor: 1 bytes, line 361
361
362<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 362
362
363<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 363
363
364<script type="module">
365  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
366
367  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
368
369</script>
vendor: 1 bytes, line 369
369
370<script>
371  window.Shopify = window.Shopify || {};
372  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
373  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
374</script>
vendor: 1 bytes, line 374
374
375<script>(function() {
376  var isLoaded = false;
377  function asyncLoad() {
378    if (isLoaded) return;
379    isLoaded = true;
380    var urls = ["https:\/\/cdn.attn.tv\/philwickham\/dtag.js?shop=phil-wickham-online-store.myshopify.com","https:\/\/api-na1.hubapi.com\/scriptloader\/v1\/43907278.js?shop=phil-wickham-online-store.myshopify.com","https:\/\/api-na1.hubapi.com\/scriptloader\/v1\/45841132.js?shop=phil-wickham-online-store.myshopify.com"];
381    for (var i = 0; i < urls.length; i++) {
382      var s = document.createElement('script');
383      s.type = 'text/javascript';
384      s.async = true;
385      s.src = urls[i];
386      var x = document.getElementsByTagName('script')[0];
387      x.parentNode.insertBefore(s, x);
388    }
389  };
390  if(window.attachEvent) {
391    window.attachEvent('onload', asyncLoad);
392  } else {
393    window.addEventListener('load', asyncLoad, false);
394  }
395})();</script>
vendor: 1 bytes, line 395
395
396<script id="__st">var __st={"a":29219160098,"offset":-18000,"reqid":"08e3270a-8ec2-4ca4-ae5d-f79019a1b93c-1790966337","pageurl":"philwickham.store\/cart","u":"76c0b8e54cc8","p":"cart"};</script>
vendor: 1 bytes, line 396
396
397<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 397
397
398<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!1)}();</script>
vendor: 1 bytes, line 398
398
399<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//philwickham.store/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 399
399
400<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//philwickham.store/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
400<script crossorigin="anonymous" defer="defer" src="//philwickham.store/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 400
400
401<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 401
401
402<script>
403  window.Shopify = window.Shopify || {};
404  window.Shopify.MCP = window.Shopify.MCP || {};
405  window.Shopify.MCP.enabled = true;
406  window.Shopify.MCP.shop = "phil-wickham-online-store.myshopify.com";
407  window.Shopify.MCP.mcpEndpoint = "https:\/\/philwickham.store\/api\/mcp";
408  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
409</script>
vendor: 1 bytes, line 409
409
410<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/philwickham.store\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
411</script>
vendor: 1 bytes, line 411
411
412<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://philwickham.store/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
413</script>
vendor: 1 bytes, line 413
413
414<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
415  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
416</script>
vendor: 1 bytes, line 416
416
417<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
418</script>
vendor: 1 bytes, line 418
418
419<script id='scb4127' type='text/javascript' async='' src='https://philwickham.store/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
419<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://philwickham.store/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
420<style id="shopify-accelerated-checkout-cart">
421        #shopify-buyer-consent {
422  margin-top: 1em;
423  display: inline-block;
424  width: 100%;
425}
426
427#shopify-buyer-consent.hidden {
428  display: none;
429}
430
431#shopify-subscription-policy-button {
432  background: none;
433  border: none;
434  padding: 0;
435  text-decoration: underline;
436  font-size: inherit;
437  cursor: pointer;
438}
439
440#shopify-subscription-policy-button::before {
441  box-shadow: none;
442}
443
444      </style>
445
446<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
446
447
448  
448<script src="//philwickham.store/cdn/shop/t/32/assets/vendor-scripts-v11.js" defer="defer"></script>
448<link rel="stylesheet" href="//philwickham.store/cdn/shop/t/32/assets/country-flags.css">
448<script src="//philwickham.store/cdn/shop/t/32/assets/theme.js?v=13442417270687149961777670645" defer="defer"></script>
448
449<!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
449<script type="text/javascript" src="https://cdn.attn.tv/philwickham/dtag.js?source=app-embed" defer="defer"></script>
449
450
451
452<!-- END app block --><!-- BEGIN app block: shopify://apps/fbp-fast-bundle/blocks/fast_bundle/9e87fbe2-9041-4c23-acf5-322413994cef -->
453
454
455
456<!-- BEGIN app snippet: fast_bundle -->
457
458
459
460
461
462
463<script>
464    if (Math.random() < 0.05) {
465        window.FastBundleRenderTimestamp = Date.now();
466    }
467
468    // Main initialization
469    const apiURL = 'https://api.fastbundle.co';
470    const sdkBaseUrl = 'https://sdk.fastbundle.co';
471    const rbrCartUrl = `${apiURL}/scripts/cart.js`;
472    const mainAppUrl = 'https://cdn.shopify.com/extensions/01a0f2a3-ce8c-7f09-b09d-297fc1e69c10/fast-bundle-product-bundles-165/assets/main.min.js'
473    const vendorUrl  = 'https://cdn.shopify.com/extensions/01a0f2a3-ce8c-7f09-b09d-297fc1e69c10/fast-bundle-product-bundles-165/assets/vendor.js';
474    const styleUrl   = 'https://cdn.shopify.com/extensions/01a0f2a3-ce8c-7f09-b09d-297fc1e69c10/fast-bundle-product-bundles-165/assets/main.min.css';
475    const legacyAppUrl = `${apiURL}/react-src/static/js/main.min.js`;
476    const previousScriptLoaded = Boolean(document.querySelectorAll(`script[src*="${sdkBaseUrl}"]`).length)
477    const previousLegacyScriptLoaded = Boolean(document.querySelectorAll(`script[src*="${legacyAppUrl}"]`).length)
478
479    if (!(previousScriptLoaded || previousLegacyScriptLoaded)) {
480        const FastBundleConf = {"enable_bap_modal":false,"frontend_version":"1.29.04","storefront_record_submitted":true,"use_shopify_prices":false,"currencies":[{"id":2574354243,"code":"AED","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354244,"code":"ALL","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354245,"code":"AMD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354246,"code":"ANG","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354247,"code":"AUD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354248,"code":"AWG","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354249,"code":"AZN","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354250,"code":"BAM","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354251,"code":"BBD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354252,"code":"BDT","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354253,"code":"BIF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354254,"code":"BND","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354255,"code":"BOB","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354256,"code":"BSD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354257,"code":"BWP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354258,"code":"BZD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354259,"code":"CAD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354260,"code":"CHF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354261,"code":"CNY","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354262,"code":"CRC","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354263,"code":"CVE","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354264,"code":"CZK","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354265,"code":"DJF","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354266,"code":"DKK","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354267,"code":"DOP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354268,"code":"DZD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354269,"code":"EGP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354270,"code":"ETB","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354271,"code":"EUR","conversion_fee":1.0,"roundup_number":0.95,"rounding_enabled":true},{"id":2574354272,"code":"FJD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354273,"code":"FKP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354274,"code":"GBP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354275,"code":"GMD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354276,"code":"GNF","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354277,"code":"GTQ","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354278,"code":"GYD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354279,"code":"HKD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354280,"code":"HNL","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354281,"code":"HUF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354282,"code":"IDR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354283,"code":"ILS","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354284,"code":"INR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354285,"code":"ISK","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354286,"code":"JMD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354287,"code":"JPY","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354288,"code":"KES","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354289,"code":"KGS","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354290,"code":"KHR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354291,"code":"KMF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354292,"code":"KRW","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354293,"code":"KYD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354294,"code":"KZT","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354295,"code":"LAK","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354296,"code":"LKR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354297,"code":"MAD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354298,"code":"MDL","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354299,"code":"MKD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354300,"code":"MNT","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354301,"code":"MOP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354302,"code":"MUR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354303,"code":"MVR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354304,"code":"MWK","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354305,"code":"MYR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354306,"code":"NGN","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354307,"code":"NIO","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354308,"code":"NPR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354309,"code":"NZD","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354310,"code":"PEN","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354311,"code":"PGK","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354312,"code":"PHP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354313,"code":"PKR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354314,"code":"PLN","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354315,"code":"PYG","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354316,"code":"QAR","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354317,"code":"RON","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354318,"code":"RSD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354319,"code":"RWF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354320,"code":"SAR","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354321,"code":"SBD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354322,"code":"SEK","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354323,"code":"SGD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354324,"code":"SLL","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354325,"code":"STD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354326,"code":"THB","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354327,"code":"TOP","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354328,"code":"TTD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354329,"code":"TWD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354330,"code":"TZS","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354331,"code":"UGX","conversion_fee":1.
4800,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354332,"code":"USD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354333,"code":"UYU","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354334,"code":"UZS","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354335,"code":"VND","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354336,"code":"VUV","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354337,"code":"WST","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354338,"code":"XAF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354339,"code":"XCD","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354340,"code":"XOF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true},{"id":2574354341,"code":"XPF","conversion_fee":1.0,"roundup_number":0.0,"rounding_enabled":true}],"is_active":true,"override_product_page_forms":true,"allow_funnel":true,"do_not_track_bundle_visibility":false,"translations":[],"pid":"","bap_ids":[12370449858878,12370616090942,12370462343486,12370615730494,11948546818366,11613079568702,11242243719486,11948548489534,11242222158142,11583368560958,11583411487038,11607202595134,11242244931902,11242236739902,11242242179390,11242224812350,11583429443902,11242223
480632702,11242226057534],"active_bundles_count":7,"use_color_swatch":false,"use_shop_price":false,"dropdown_color_swatch":true,"option_config":{},"enable_subscriptions":false,"has_fbt_bundle":false,"use_shopify_function_discount":true,"use_bundle_builder_modal":true,"use_cart_hidden_attributes":true,"bap_override_fetch":true,"invalid_bap_override_fetch":true,"volume_discount_add_on_override_fetch":true,"pmm_new_design":true,"merged_mix_and_match":false,"change_vd_product_picture":false,"buy_it_now":true,"rgn":978368,"baps":{"12370449858878":{"bundle_id":517099,"variant_id":53423042593086,"handle":"everyday-hallelujah-bundle","type":"multi","use_cart_transform":false},"12370616090942":{"bundle_id":517202,"variant_id":53423724495166,"handle":"book-journal-bundle","type":"multi","use_cart_transform":false},"12370462343486":{"bundle_id":517104,"variant_id":53423099937086,"handle":"everyday-hallelujah-10-book-bundle","type":"multi","use_cart_transform":false},"12370615730494":{"bundle_id":517201,"variant_id":53423722725694,"handle":"book-blanket-bundle","type":"multi","use_cart_transform":false},"11948546818366":{"bundle_id":364371,"variant_id":51932112290110,"handle":"fan-pack-1","type":"multi","use_cart_transform":false},"11613079568702":{"bundle_id":265218,"variant_id":50727184499006,"handle":"mix-match-1","type":"multi","use_cart_transform":false},"11242243719486":{"bundle_id":220818,"variant_id":49897028387134,"handle":"bap-0250692a-d3ba-452d-bdd6-837423431f8d","type":"multi","use_cart_transform":false},"11948548489534":{"bundle_id":364374,"variant_id":51932122939710,"handle":"limited-edition-song-of-the-saints-signed-cd-amen-hat-fan-pack","type":"multi","use_cart_transform":false},"11242222158142":{"bundle_id":220812,"variant_id":49896973271358,"handle":"bap-db46e428-e0af-4bdd-9a8c-97e15af1f596","type":"multi","use_cart_transform":false},"11583368560958":{"bundle_id":263714,"variant_id":50684476227902,"handle":"bundle-angels-hoodie-angels-tee-signed-cd-vinyl","type":"multi","use_cart_transform":false},"11583411487038":{"bundle_id":263725,"variant_id":50684533735742,"handle":"christmas-bundle-angels-tee-hallelujah-its-christmas-cd","type":"multi","use_cart_transform":false},"11607202595134":{"bundle_id":264833,"variant_id":50717069934910,"handle":"christmas-bundle-angels-tee-signed-cd-ornament-card","type":"multi","use_cart_transform":false},"11242244931902":{"bundle_id":220819,"variant_id":49897032450366,"handle":"bap-091ac50c-43c8-4bc8-9757-e5df81156a71","type":"multi","use_cart_transform":false},"11242236739902":{"bundle_id":220816,"variant_id":49897008333118,"handle":"bap-a946bec5-1dbe-4485-9ca4-21f258028d2b","type":"multi","use_cart_transform":false},"11242242179390":{"bundle_id":220817,"variant_id":49897022783806,"handle":"bap-0dbbb415-aeef-459f-bf18-33ec5e87768e","type":"multi","use_cart_transform":false},"11242224812350":{"bundle_id":220814,"variant_id":49896985624894,"handle":"bap-eb926637-3d0f-4a39-883b-8a25c26114ea","type":"multi","use_cart_transform":false},"11583429443902":{"bundle_id":263726,"variant_id":50684557623614,"handle":"christmas-bundle-angels-hoodie-hallelujah-its-christmas-vinyl","type":"multi","use_cart_transform":false},"11242223632702":{"bundle_id":220813,"variant_id":49896980185406,"handle":"bap-0e18accd-fb93-4ff3-8bd5-6dd602d42cf9","type":"multi","use_cart_transform":false},"11242226057534":{"bundle_id":220815,"variant_id":49896989327678,"handle":"bap-813d5fbd-9b90-4798-9711-5382d6e1f9cf","type":"multi","use_cart_transform":false}},"has_multilingual_permission":true,"use_vd_templating":true,"use_payload_variant_id_in_fetch_override":false,"use_compare_at_price":false,"storefront_access_token":"4702ff6f84eac154fedd7952d48090d6","serverless_vd_display":false,"serverless_vd_discount":false,"serverless_vd_auto_detection":false,"serverless_fixed_display":false,"serverless_add_on_display":false,"serverless_mix_and_match_display":false,"serverless_fixed_discount":false,"products_with_add_on":{},"collections_with_add_on":{},"ssr_add_on":false,"has_required_plan":true,"bundleBox":{"id":65707,"bundle_page_enabled":true,"bundle_page_style":null,"currency":"USD","currency_format":"$%s","percentage_format":"%s%","show_sold_out":true,"track_inventory":true,"shop_page_external_script":"","page_external_script":"","shop_page_style":null,"shop_page_title":null,"shop_page_description":null,"app_version":"v2","show_logo":false,"show_info":false,"money_format":"amount_no_decimals","tax_factor":1.0,"primary_locale":"en","discount_code_prefix":"BUNDLE","is_active":true,"created":"2024-06-07T17:46:22.575460Z","updated":"2024-06-07T17:46:22.575475Z","title":"Don't miss this offer","style":null,"inject_selector":null,"mix_inject_selector":null,"fbt_inject_selector":null,"volume_inject_selector":null,"volume_variant_selector":null,"button_title":"Buy this bundle","bogo_button_title":"Buy {quantity} items","price_description":"Add bundle to cart | Save {discount}
480","version":"v2.3","bogo_version":"v1","nth_child":1,"redirect_to_cart":true,"column_numbers":3,"color":null,"btn_font_color":"white","add_to_cart_selector":null,"cart_info_version":"v2","button_position":"bottom","bundle_page_shape":"row","add_bundle_action":"cart-page","requested_bundle_action":null,"request_action_text":null,"cart_drawer_function":"","cart_drawer_function_svelte":"","theme_template":"light","external_script":"","pre_add_script":"","shop_external_script":"","shop_style":"","bap_inject_selector":"","bap_none_selector":"","bap_form_script":"","bap_button_selector":"","bap_style_object":{"standard":{"custom_code":{"main":{"custom_js":"","custom_css":""}},"product_detail":{"price_style":{"color":"#5e5e5e","fontSize":16,"fontFamily":""},"title_style":{"color":"#303030","fontSize":16,"fontFamily":""},"image_border":{"borderColor":"#e5e5e5"},"pluses_style":{"fill":"","width":""},"separator_line_style":{"backgroundColor":"#e5e5e5"},"variant_selector_style":{"color":"#000000","height":46,"backgroundColor":"#fafafa"}}},"mix_and_match":{"custom_code":{"main":{"custom_js":"","custom_css":""}},"product_detail":{"price_style":{"color":"#5e5e5e","fontSize":16,"fontFamily":""},"title_style":{"color":"#303030","fontSize":16,"fontFamily":""},"image_border":{"borderColor":"#e5e5e5"},"pluses_style":{"fill":"","width":""},"checkbox_style":{"checked":"","unchecked":"","checked_color":"#2c6ecb"},"quantities_style":{"color":"","backgroundColor":""},"product_card_style":{"checked_border":"","unchecked_border":"","checked_background":""},"separator_line_style":{"backgroundColor":"#e5e5e5"},"variant_selector_style":{"color":"#000000","height":46,"backgroundColor":"#fafafa"},"quantities_selector_style":{"color":"#000000","backgroundColor":"#fafafa"}}}},"bundles_page_style_object":null,"style_object":{"fbt":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":14,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":8,"backgroundColor":"#FFF4FA"},"title":{"color":"#191919","fontSize":22,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"#CBCBCB","borderWidth":1,"borderRadius":12},"selected":{"borderColor":"#262626","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(38, 38, 38, 0.2)"}},"poweredBy":{"color":"#191919","fontSize":14,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"#FFFFFF"},"fastBundle":{"color":"#262626","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"rgba(203, 203, 203, 0.4)","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"}},"sellingPlan":{"color":"#262626","fontSize":18,"fontFamily":"inherit","fontWeight":400,"borderColor":"#262626","borderRadius":8,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#262626"}},"title":{"style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":8},"background":{"backgroundColor":"#262626"},"button_label":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(38, 38, 38, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":14,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":8},"background":{"backgroundColor":"rgba(255, 255, 255, 0.4)"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":8}},"total_section":{"text":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"border":{"borderRadius":8},"background":{"backgroundColor":"rgba(38, 38, 38, 0.05)"},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":8},"text_style":{"color":"#FFFFFF","fontSize":14,"fontFamily":"inherit"}},"product_detail":{"price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"image_border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":6},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"checkbox_style":{"checked_color":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"collection_image_border":{"borderColor":"rgba(203, 203, 203, 0.4)"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500}
480,"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400}}},"bogo":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":14,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":8,"backgroundColor":"#FFF4FA"},"title":{"color":"#191919","fontSize":22,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"#CBCBCB","borderWidth":1,"borderRadius":12},"selected":{"borderColor":"#262626","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(38, 38, 38, 0.2)"}},"poweredBy":{"color":"#191919","fontSize":14,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"#FFFFFF"},"fastBundle":{"color":"#262626","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"rgba(203, 203, 203, 0.4)","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"}},"sellingPlan":{"color":"#262626","fontSize":18,"fontFamily":"inherit","fontWeight":400,"borderColor":"#262626","borderRadius":8,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#262626"}},"title":{"style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":8},"background":{"backgroundColor":"#262626"},"button_label":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(38, 38, 38, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":14,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":8},"background":{"backgroundColor":"rgba(255, 255, 255, 0.4)"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":8}},"total_section":{"text":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"border":{"borderRadius":8},"background":{"backgroundColor":"rgba(38, 38, 38, 0.05)"},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":8},"text_style":{"color":"#FFFFFF","fontSize":14,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"image_border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":6},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"checkbox_style":{"checked_color":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"collection_image_border":{"borderColor":"rgba(203, 203, 203, 0.4)"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500}
480,"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400}}},"bxgyf":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":14,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":8,"backgroundColor":"#FFF4FA"},"title":{"color":"#191919","fontSize":22,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"#CBCBCB","borderWidth":1,"borderRadius":12},"selected":{"borderColor":"#262626","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(38, 38, 38, 0.2)"}},"poweredBy":{"color":"#191919","fontSize":14,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"#FFFFFF"},"fastBundle":{"color":"#262626","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"rgba(203, 203, 203, 0.4)","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"}},"sellingPlan":{"color":"#262626","fontSize":18,"fontFamily":"inherit","fontWeight":400,"borderColor":"#262626","borderRadius":8,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#262626"}},"title":{"style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":8},"background":{"backgroundColor":"#262626"},"button_label":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(38, 38, 38, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":14,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":8},"background":{"backgroundColor":"rgba(255, 255, 255, 0.4)"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":8}},"total_section":{"text":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"border":{"borderRadius":8},"background":{"backgroundColor":"rgba(38, 38, 38, 0.05)"},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":8},"text_style":{"color":"#FFFFFF","fontSize":14,"fontFamily":"inherit"}},"product_detail":{"price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"image_border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":6},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"checkbox_style":{"checked_color":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"collection_image_border":{"borderColor":"rgba(203, 203, 203, 0.4)"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500}
480,"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400}}},"standard":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":14,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":8,"backgroundColor":"#FFF4FA"},"title":{"color":"#191919","fontSize":22,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"#CBCBCB","borderWidth":1,"borderRadius":12},"selected":{"borderColor":"#262626","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(38, 38, 38, 0.2)"}},"poweredBy":{"color":"#191919","fontSize":14,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"#FFFFFF"},"fastBundle":{"color":"#262626","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"rgba(203, 203, 203, 0.4)","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"}},"sellingPlan":{"color":"#262626","fontSize":18,"fontFamily":"inherit","fontWeight":400,"borderColor":"#262626","borderRadius":8,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#262626"}},"title":{"style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":8},"background":{"backgroundColor":"#262626"},"button_label":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(38, 38, 38, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":14,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":8},"background":{"backgroundColor":"rgba(255, 255, 255, 0.4)"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":8}},"total_section":{"text":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"border":{"borderRadius":8},"background":{"backgroundColor":"rgba(38, 38, 38, 0.05)"},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":8},"text_style":{"color":"#FFFFFF","fontSize":14,"fontFamily":"inherit"}},"discount_label":{"background":{"backgroundColor":"#262626"},"text_style":{"color":"#FFFFFF"}},"product_detail":{"price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"image_border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":6},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"checkbox_style":{"checked_color":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"collection_image_border":{"borderColor":"rgba(203, 203, 203, 0.4)"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500}
480,"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400}}},"mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":14,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":8,"backgroundColor":"#FFF4FA"},"title":{"color":"#191919","fontSize":22,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"#CBCBCB","borderWidth":1,"borderRadius":12},"selected":{"borderColor":"#262626","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(38, 38, 38, 0.2)"}},"poweredBy":{"color":"#191919","fontSize":14,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"#FFFFFF"},"fastBundle":{"color":"#262626","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"rgba(203, 203, 203, 0.4)","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"}},"sellingPlan":{"color":"#262626","fontSize":18,"fontFamily":"inherit","fontWeight":400,"borderColor":"#262626","borderRadius":8,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#262626"}},"title":{"style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":8},"background":{"backgroundColor":"#262626"},"button_label":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(38, 38, 38, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":14,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":8},"background":{"backgroundColor":"rgba(255, 255, 255, 0.4)"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":8}},"total_section":{"text":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"border":{"borderRadius":8},"background":{"backgroundColor":"rgba(38, 38, 38, 0.05)"},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":8},"text_style":{"color":"#FFFFFF","fontSize":14,"fontFamily":"inherit"}},"product_detail":{"price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"image_border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":6},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"checkbox_style":{"checked_color":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"collection_image_border":{"borderColor":"rgba(203, 203, 203, 0.4)"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500}
480,"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400}}},"col_mix_and_match":{"box":{"error":{"fill":"#D72C0D","color":"#D72C0D","fontSize":14,"fontFamily":"inherit","borderColor":"#E0B5B2","borderRadius":8,"backgroundColor":"#FFF4FA"},"title":{"color":"#191919","fontSize":22,"fontFamily":"inherit","fontWeight":600},"border":{"borderColor":"#CBCBCB","borderWidth":1,"borderRadius":12},"selected":{"borderColor":"#262626","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(38, 38, 38, 0.2)"}},"poweredBy":{"color":"#191919","fontSize":14,"fontFamily":"inherit","fontWeight":400},"background":{"backgroundColor":"#FFFFFF"},"fastBundle":{"color":"#262626","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"notSelected":{"borderColor":"rgba(203, 203, 203, 0.4)","borderWidth":1,"borderRadius":12,"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"}},"sellingPlan":{"color":"#262626","fontSize":18,"fontFamily":"inherit","fontWeight":400,"borderColor":"#262626","borderRadius":8,"backgroundColor":"transparent"}},"plus":{"style":{"fill":"#FFFFFF","backgroundColor":"#262626"}},"title":{"style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500},"alignment":{"textAlign":"left"}},"button":{"border":{"borderColor":"transparent","borderRadius":8},"background":{"backgroundColor":"#262626"},"button_label":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500},"button_position":{"position":"bottom"},"backgroundSecondary":{"backgroundColor":"rgba(38, 38, 38, 0.7)"},"button_labelSecondary":{"color":"#FFFFFF","fontSize":18,"fontFamily":"inherit","fontWeight":500}},"design":{"main":{"design":"modern"}},"option":{"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit","fontWeight":500},"option_text_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":14,"fontFamily":"inherit"}},"innerBox":{"border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":8},"background":{"backgroundColor":"rgba(255, 255, 255, 0.4)"}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"soldOutBadge":{"background":{"backgroundColor":"#E8144B","borderTopRightRadius":8}},"total_section":{"text":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"border":{"borderRadius":8},"background":{"backgroundColor":"rgba(38, 38, 38, 0.05)"},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"}},"discount_badge":{"background":{"backgroundColor":"#E8144B","borderTopLeftRadius":8},"text_style":{"color":"#FFFFFF","fontSize":14,"fontFamily":"inherit"}},"product_detail":{"price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"image_border":{"borderColor":"rgba(203, 203, 203, 0.4)","borderRadius":6},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"checkbox_style":{"checked_color":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"final_price_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"original_price_style":{"color":"rgba(25, 25, 25, 0.5)","fontSize":16,"fontFamily":"inherit"},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"variant_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"},"quantities_selector_style":{"color":"#000000","borderColor":"#EBEBEB","borderRadius":6,"backgroundColor":"#FAFAFA"}},"discount_options":{"applied":{"color":"#13A165","backgroundColor":"#E0FAEF"},"unApplied":{"color":"#5E5E5E","backgroundColor":"#F1F1F1"}},"collection_details":{"title_style":{"color":"#191919","fontSize":16,"fontFamily":"inherit"},"pluses_style":{"fill":"#FFFFFF","backgroundColor":"#262626"},"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":14,"fontFamily":"inherit","fontWeight":400},"separator_line_style":{"backgroundColor":"rgba(203, 203, 203, 0.2)"},"collection_image_border":{"borderColor":"rgba(203, 203, 203, 0.4)"}},"title_and_description":{"alignment":{"textAlign":"left"},"title_style":{"color":"#191919","fontSize":18,"fontFamily":"inherit","fontWeight":500}
480,"subtitle_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400},"description_style":{"color":"rgba(25, 25, 25, 0.7)","fontSize":16,"fontFamily":"inherit","fontWeight":400}}}},"old_style_object":null,"zero_discount_btn_title":"Add to cart","mix_btn_title":"Add selected to cart","collection_btn_title":"Add selected to cart","cart_page_issue":null,"cart_drawer_issue":null,"volume_btn_title":"Add {quantity} | save {discount}","badge_color":"#C30000","badge_price_description":"Save {discount}!","use_discount_on_cookie":true,"show_bap_buy_button":false,"bap_version":"v1","bap_price_selector":null,"bap_compare_price_selector":null,"bundles_display":"vertical","use_first_variant":false,"shop":59149},"bundlePageInfo":{"title":null,"description":null,"enabled":true,"handle":"fastbundles","shop_style":null,"shop_external_script":"","style":null,"external_script":"","bundles_alignment":"bottom","bundles_display":"horizontal"},"cartInfo":{"id":65721,"currency":"USD","currency_format":"$%s","box_discount_description":"Add bundle to cart | Save {discount}","box_button_title":"Buy this bundle","free_shipping_translation":null,"shipping_cost_translation":null,"is_reference":false,"subtotal_selector":".cart__page>.cart__page-col:nth-child(2)>.cart__item-sub.cart__item-row","subtotal_price_selector":".cart__page>.cart__page-col:nth-child(2)>.cart__item-sub.cart__item-row> div:nth-child(2)","subtotal_title_selector":"","line_items_selector":".cart__item","discount_tag_html":"<div class=\"cart__item-sub cart__item-row %class\">\r\n            <div>Bundle (-%discount)</div>\r\n            <div data-subtotal=\"\"><span class=\"money\" ls-currency-gbp=\"39.94\" ls-currency-aud=\"70.64296082565752\" ls-currency=\"aud\">%final_price</span></div>\r\n          </div>","free_shipping_tag":null,"form_subtotal_selector":".drawer__footer.appear-animation.appear-delay-4>.cart__item-sub.cart__item-row","form_subtotal_price_selector":".drawer__footer.appear-animation.appear-delay-4>.cart__item-sub.cart__item-row> div:nth-child(2)","form_line_items_selector":".cart__item","form_discount_html_tag":"<div class=\"cart__item-sub cart__item-row %class\">\r\n            <div class=\"ajaxcart__subtotal\">Bundle (-%discount)</div>\r\n            <div data-subtotal=\"\"><span class=\"money\" ls-currency-gbp=\"39.94\" ls-currency-aud=\"70.64296082565752\" ls-currency=\"aud\">%final_price</span></div>\r\n          </div>","form_free_shipping_tag":null,"external_script":"","funnel_show_method":"three_seconds","funnel_popup_title":"Complete your cart with this bundle and save","funnel_alert":"This item is already in your cart.","funnel_discount_description":"save {discount}","style":"","shop_style":null,"shop_external_script":"","funnel_color":"","funnel_badge_color":"","style_object":{"standard":{"box":{"background":{"backgroundColor":"#ffffff"}},"badge":{"main":{"switchBtn":""},"background":{"backgroundColor":""},"text_style":{"color":"","total":"","fontSize":"","fontFamily":""}},"button":{"background":{"backgroundColor":"#000000"},"button_label":{"color":"#ffffff","fontSize":16,"fontFamily":"","price_description":"","zero_discount_btn_title":""}},"custom_code":{"main":{"custom_js":"","custom_css":""}},"bundle_title":{"style":{"color":"#303030","fontSize":22,"fontFamily":""},"alignment":{"textAlign":"left"}},"pop_up_title":{"style":{"color":"","fontSize":"","fontFamily":"","price_description":""},"alignment":{"textAlign":"left"}},"total_section":{"text":{"color":"#303030","fontSize":16,"fontFamily":""},"background":{"backgroundColor":"#e5e5e5"},"final_price_style":{"color":"#008060","fontSize":16,"fontFamily":""},"original_price_style":{"color":"#D72C0D","fontSize":16,"fontFamily":""}},"product_detail":{"price_style":{"color":"#5e5e5e","fontSize":16,"fontFamily":""},"title_style":{"color":"#303030","fontSize":16,"fontFamily":""},"image_border":{"borderColor":"#e5e5e5"},"pluses_style":{"fill":"#000000","width":16},"variant_selector_style":{"color":"#5e5e5e","height":"","backgroundColor":"#FAFAFA"}},"pre_selected_products":{"final_price_style":{"color":"","total":"","fontSize":"","fontFamily":""}}}},"old_style_object":null,"funnel_button_description":"Buy this bundle | Save {discount}","funnel_injection_constraint":"","show_discount_section":false,"discount_section_style":null,"discount_section_selector":null,"reload_after_change_detection":false,"app_version":"v2","show_info":false,"box_zero_discount_title":"Add to cart"}};
481        FastBundleConf.pid = '';
482        FastBundleConf.domain = 'phil-wickham-online-store.myshopify.com';
483        FastBundleConf.variantIds = [];
484        window.FastBundleConf = FastBundleConf;
485
486        // add random generated number query parameter to clear the cache
487        const urlQueryParameter = `?rgn=${FastBundleConf?.rgn}`;
488        loadFastBundleAssets(mainAppUrl, vendorUrl, styleUrl, rbrCartUrl + urlQueryParameter);
489    }
490
491    // if the product id is set and the bap_override_fetch is not set, we add the style to the theme to hide the add to cart buttons
492    if (window.FastBundleConf?.pid && !window.FastBundleConf?.bap_override_fetch) {
493        if (window.FastBundleConf.bap_ids.includes(+window.FastBundleConf.pid)) {
494            const styleElement = document.createElement('style')
495            let bundleBox = window.FastBundleConf?.bundleBox
496            styleElement.id = 'fb-bap-style'
497            let externalSelector = bundleBox?.bap_button_selector ? `, ${bundleBox?.bap_button_selector}` : ''
498            styleElement.innerHTML = `
499                button[name="add"], form[action="/cart/add"] button[type="submit"], input[name="add"] ${externalSelector}{
500                    display: none !important;
501                }`
502            document.head.appendChild(styleElement)
503        }
504    }
505
506    // Helper function to load FastBundle assets
507    function loadFastBundleAssets(mainAppUrl, vendorUrl, styleUrl, cartUrl) {
508
509        // Preconnect to the asset origin. Two hints are emitted because browsers
510        // maintain separate HTTP/2 connection pools per CORS-mode: the anonymous
511        // one is reused by the module scripts (vendor + main); the non-anonymous
512        // one is reused by the non-CORS stylesheet. DNS resolution is shared.
513        // Origin is parsed from mainAppUrl so this works whether assets are served
514        // from the SDK CDN or from the Shopify CDN (browser dedupes either way).
515        const assetOrigin = new URL(mainAppUrl, location.href).origin;
516
517        const preconnectAnon = document.createElement('link');
518        preconnectAnon.rel = 'preconnect';
519        preconnectAnon.href = assetOrigin;
520        preconnectAnon.crossOrigin = 'anonymous';
521        document.head.appendChild(preconnectAnon);
522
523        const preconnect = document.createElement('link');
524        preconnect.rel = 'preconnect';
525        preconnect.href = assetOrigin;
526        document.head.appendChild(preconnect);
527
528        // Load vendor script with modulepreload
529        const vendorScript = document.createElement('link');
530        vendorScript.rel = 'modulepreload';
531        vendorScript.href = vendorUrl;
532        document.head.appendChild(vendorScript);
533
534        // Load main app script
535        const mainScript = document.createElement('script');
536        mainScript.defer = true;
537        mainScript.type = 'module';
538        mainScript.src = mainAppUrl;
539        document.head.appendChild(mainScript);
540
541        // Load cart script
542        const cartScript = document.createElement('script');
543        cartScript.src = cartUrl;
544        cartScript.defer = true;
545        cartScript.type = 'text/javascript';
546        document.head.appendChild(cartScript);
547
548        // Load stylesheet
549        const styleLink = document.createElement('link');
550        styleLink.rel = 'stylesheet';
551        styleLink.href = styleUrl;
552        document.head.appendChild(styleLink);
553    }
554
555  </script>
555
556
557<!-- END app snippet -->
558  <!-- BEGIN app snippet: fast_bundle_shared -->
558<script>
559  (function(){
560    const FastBundleConf = window?.FastBundleConf || {};
561    
562    const shopDomain = FastBundleConf?.shop_domain || "phil-wickham-online-store.myshopify.com";
563    const countryByMarket = "US";
564    const countryByLocale = null;
565    const countryCode = countryByMarket || countryByLocale || FastBundleConf?.country_code || 'US';
566    const language = {"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}};
567    const shopLocale = language.shop_locale.locale || null;
568    const firstRawLanguage = "en";
569    const SecondRawLanguage = "en";
570    const langCandidates = [
571      firstRawLanguage,
572      SecondRawLanguage,
573      navigator.language,
574      navigator.userLanguage,
575      null,
576    ];
577    let shopLanguage = null;
578    for (const candidate of langCandidates) {
579      shopLanguage = fastBundleExtractValidLanguage(candidate);
580      if (shopLanguage) break;
581    }
582    if (!shopLanguage) shopLanguage = "EN";
583    const storefrontAccessToken = "4702ff6f84eac154fedd7952d48090d6" || '';
584    const mainProduct = null;
585    window.FastBundleShared = window.FastBundleShared || {};
586    window.FastBundleShared.functions = window.FastBundleShared.functions || {};
587
588    function fastBundleExtractValidLanguage(raw) {
589    if (!raw || typeof raw !== "string") return null;
590    const clean = raw.trim().toLowerCase();
591    if (/^[a-z]{2}$/.test(clean)) {
592      return clean.toUpperCase();
593    }
594    if (/^[a-z]{2}-[a-z0-9]+$/.test(clean)) {
595      return clean.split('-')[0].toUpperCase();
596    }
597    if (/^[a-z]{2}_[a-z0-9]+$/.test(clean)) {
598      return clean.split('_')[0].toUpperCase();
599    }
600    return null;
601  }
602
603    window.FastBundleShared.defineFunction = function (name, fn) {
604      if (!window.FastBundleShared.functions[name]) {
605        window.FastBundleShared.functions[name] = fn;
606      } else {
607        console.warn(`Function "${name}" is already defined.`);
608      }
609    };
610
611    
612    window.FastBundleShared.config = {
613      shopDomain: shopDomain,
614      countryCode: countryCode,
615      shopLanguage: shopLanguage,
616      storefrontAccessToken: storefrontAccessToken,
617    };
618    window.FastBundleShared.__ready = window.FastBundleShared.__ready || new Promise(function (resolve) {
619      const script = document.createElement('script');
620      script.src = "https://cdn.shopify.com/extensions/01a0f2a3-ce8c-7f09-b09d-297fc1e69c10/fast-bundle-product-bundles-165/assets/fast_bundle_shared.js";
621      script.onload = resolve;
622      script.onerror = function () {
623        console.error('FastBundle: failed to load fast_bundle_shared.js');
624        resolve();
625      };
626      (document.head || document.documentElement).appendChild(script);
627    });
628
629    // A stale CDN copy of the asset may predate a fetcher, so fall back to the
630    // shape each caller expects rather than throwing.
631    function fastBundleDeferToAsset(name, emptyValue) {
632      return async function () {
633        await window.FastBundleShared.__ready;
634        const fn = window.FastBundleShared.__impl?.[name];
635        if (typeof fn !== 'function') {
636          console.error(`FastBundle: ${name} unavailable (fast_bundle_shared.js did not load)`);
637          return emptyValue;
638        }
639        return fn.apply(null, arguments);
640      };
641    }
642
643    window.FastBundleShared.defineFunction('fetchProductByID', fastBundleDeferToAsset('fetchProductByID', null));
644    window.FastBundleShared.defineFunction('fetchProductsByIDs', fastBundleDeferToAsset('fetchProductsByIDs', {}));
645    window.FastBundleShared.defineFunction('fetchAllProductVariants', fastBundleDeferToAsset('fetchAllProductVariants', null));
646    window.FastBundleShared.defineFunction('ensureAllVariants', fastBundleDeferToAsset('ensureAllVariants', null));
647
648    // fast_bundle_volume.liquid reads this synchronously at parse time, so it
649    // cannot defer to the asset like the fetchers above.
650    window.FastBundleShared.defineFunction('formatMoney', function (amount, currency = 'USD') {
651      return new Intl.NumberFormat('en-US', {
652        style: 'currency',
653        currency,
654      }).format(amount);
655    });
656
657    window.FastBundleShared.defineFunction('getMainProduct', function () {
658      if (!mainProduct) return null;
659      
660      mainProduct.collections = [];
661      mainProduct.body_html = mainProduct.description;
662      mainProduct.image = mainProduct.images.length ? mainProduct.images[0] : null;
663      mainProduct.raw_price = mainProduct.price / 100;
664      
665      mainProduct.price = "";
666      
667      mainProduct.options_with_values = [
668        
669      ];
670      mainProduct.options = mainProduct.options_with_values;
671      delete mainProduct.options_with_values
672      return mainProduct;
673    })
674
675    window.FastBundleShared.defineFunction('excludeVariants', function (product, excludedVariants) {
676      let preprocessedProduct = { ...product };
677      if (excludedVariants.length) {
678        const excludedIds = new Set(excludedVariants.map((id) => Number(id)));
679        preprocessedProduct.variants = product.variants.filter((variant) => !excludedIds.has(variant.id));
680      }
681      return preprocessedProduct;
682    });
683
684    window.FastBundleShared.defineFunction('handleTranslations', async function(offer, bundleTranslationKeys, discountTranslationKeys, itemTranslationKeys = []) {
685      const translations = offer.translations || {};
686      const t = translations[shopLocale] || {};
687      bundleTranslationKeys.forEach((key) => {
688        if (t[key]) {
689          offer[key] = t[key];
690        }
691      });
692      delete offer.translations;
693      if (offer.discounts && Array.isArray(offer.discounts)) {
694        offer.discounts.forEach((discount, j) => {
695          const discountTranslations = discount.translations || {};
696          const dt = discountTranslations[shopLocale] || {};
697          discountTranslationKeys.forEach((key) => {
698            if (dt[key]) {
699              offer.discounts[j][key] = dt[key];
700            }
701          });
702          delete discount.translations;
703        });
704      }
705      // Item-level translations (offer.items[].translations), keyed by locale like
706      // the offer/discount ones. Only mix & match passes item keys today; callers
707      // that omit them keep the exact previous behaviour, translations included.
708      if (itemTranslationKeys.length && Array.isArray(offer.items)) {
709        offer.items.forEach((item, k) => {
710          const itemTranslations = item.translations || {};
711          const it = itemTranslations[shopLocale] || {};
712          itemTranslationKeys.forEach((key) => {
713            if (it[key]) {
714              offer.items[k][key] = it[key];
715            }
716          });
717          delete item.translations;
718        });
719      }
720    });
721
722    window.FastBundleShared.defineFunction('isPreview', function(){
723      const params = new URLSearchParams(window.location.search.toLowerCase());
724      const isPreview = params.get('ispreview') === 'true';
725      return isPreview
726    })
727
728    window.FastBundleShared.defineFunction('conditionalLog', function (...args) {
729      try {
730        if (localStorage.getItem('allowRBRLogs') === 'true') {
731          console.log('From Extension:***', ...args);
732        }
733      } catch (error) {
734        console.error(error);
735      }
736    });
737  })();
738</script>
738
739<!-- END app snippet -->
740  <!-- BEGIN app snippet: fast_bundle_volume -->
741
742<script>
743  (async function() {
744    const FastBundleConf = window?.FastBundleConf || {};
745    const fetchProductByID = window.FastBundleShared.functions.fetchProductByID;
746    const getMainProduct = window.FastBundleShared.functions.getMainProduct;
747    const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});
748    const mainProduct = getMainProduct();
749    conditionalLog('mainProduct',mainProduct);
750    const excludeVariants = window.FastBundleShared.functions.excludeVariants;
751    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
752    if (FastBundleConf?.serverless_vd || FastBundleConf?.serverless_vd_display) {
753      if (!mainProduct) return;
754      window.FastBundleConf.change_vd_product_picture = true;
755      let FastBundleVolumeOffers = [];
756      conditionalLog('FastBundleVolumeOffers', FastBundleVolumeOffers);
757      window.FastBundleVolumeOffers = FastBundleVolumeOffers;
758
759      function finishWithNoVolumeOffer() {
760        window.FastBundleVolumeOffer = [];
761        document.dispatchEvent(new CustomEvent('FastBundleVolumeOffersReady', { detail: [] }));
762      }
763
764      
765      const totalVariantsCount = null || 0;
766      const shopCurrency = "USD";
767      const shopMoneyFormat = "${{amount_no_decimals}}";
768      const fetchAllProductVariants = window.FastBundleShared.functions.fetchAllProductVariants;
769      const formatMoney = window.FastBundleShared.functions.formatMoney;
770
771      function formatWithDelimiters(cents, precision, thousands, decimal) {
772        const fixed = (cents / 100).toFixed(precision);
773        const parts = fixed.split('.');
774        const units = parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + thousands);
775        return parts[1] ? units + decimal + parts[1] : units;
776      }
777
778      function formatMoneyLikeLiquid(cents, currencyCode) {
779        // Reproduce the Liquid money filter so appended variants display like the first 250.
780        // Fall back to Intl formatting when the price is not in the shop currency.
781        if (currencyCode !== shopCurrency || !shopMoneyFormat) {
782          return formatMoney(cents / 100, currencyCode);
783        }
784        const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
785        const placeholder = (shopMoneyFormat.match(placeholderRegex) || [])[1];
786        let value;
787        switch (placeholder) {
788          case 'amount_no_decimals': value = formatWithDelimiters(cents, 0, ',', '.'); break;
789          case 'amount_with_comma_separator': value = formatWithDelimiters(cents, 2, '.', ','); break;
790          case 'amount_no_decimals_with_comma_separator': value = formatWithDelimiters(cents, 0, '.', ','); break;
791          case 'amount_with_apostrophe_separator': value = formatWithDelimiters(cents, 2, "'", '.'); break;
792          default: value = formatWithDelimiters(cents, 2, ',', '.');
793        }
794        return shopMoneyFormat.replace(placeholderRegex, value);
795      }
796
797      function convertStorefrontVariant(node) {
798        const variantId = Number(String(node?.id || '').split('/').pop());
799        const currencyCode = node?.price?.currencyCode;
800        const rawPrice = parseFloat(node?.price?.amount || 0);
801        const rawCompareAtPrice = node?.compareAtPrice ? parseFloat(node.compareAtPrice.amount) : rawPrice;
802        const rawQuantity = node?.quantityAvailable;
803        const isTracked = typeof rawQuantity === 'number' && rawQuantity !== -1;
804        const sellsWhenOutOfStock = !!node?.currentlyNotInStock && node?.availableForSale === true;
805        const inventoryManagement = isTracked ? 'shopify' : null;
806        const inventoryPolicy = isTracked ? (sellsWhenOutOfStock ? 'continue' : 'deny') : 'continue';
807        const inventoryQuantity = isTracked ? rawQuantity : (node?.availableForSale ? 1 : 0);
808        const image = node?.image?.url ? { src: node.image.url, alt: null } : null;
809        const selectedOptions = node?.selectedOptions || [];
810        return {
811          id: variantId,
812          title: node?.title,
813          name: mainProduct.title + ' - ' + node?.title,
814          public_title: node?.title,
815          available: node?.availableForSale === true,
816          availableForSale: node?.availableForSale === true,
817          currentlyNotInStock: !!node?.currentlyNotInStock,
818          is_inventory_tracked: isTracked,
819          option1: selectedOptions[0]?.value ?? null,
820          option2: selectedOptions[1]?.value ?? null,
821          option3: selectedOptions[2]?.value ?? null,
822          selectedOptions: selectedOptions,
823          sku: node?.sku || null,
824          requires_shipping: node?.requiresShipping !== false,
825          taxable: node?.taxable !== false,
826          barcode: null,
827          weight: 0,
828          featured_image: image,
829          featured_media: null,
830          requires_selling_plan: false,
831          selling_plan_allocations: [],
832          quantity_price_breaks: [],
833          quantity_rule: { min: 1, max: null, increment: 1 },
834          // raw_price is in currency units to match getMainProduct() (variant.price | divided_by: 100.0)
835          raw_price: rawPrice,
836          price: formatMoneyLikeLiquid(Math.round(rawPrice * 100), currencyCode),
837          raw_compare_at_price: rawCompareAtPrice,
838          compare_at_price: formatMoneyLikeLiquid(Math.round(rawCompareAtPrice * 100), currencyCode),
839          image: image,
840          inventory_policy: inventoryPolicy,
841          inventory_quantity: inventoryQuantity,
842          inventory_management: inventoryManagement,
843          quantity: (inventoryManagement && inventoryPolicy === 'deny') ? inventoryQuantity : 1,
844        };
845      }
846
847      async function ensureAllVariants(product) {
848        if (!totalVariantsCount || totalVariantsCount <= product.variants.length) return product;
849        if (typeof fetchAllProductVariants !== 'function') return product;
850        try {
851          const nodes = await fetchAllProductVariants(product.id);
852          if (!nodes || !nodes.length) return product;
853          const knownIds = new Set(product.variants.map((variant) => variant.id));
854          const missingVariants = nodes
855            .map(convertStorefrontVariant)
856            .filter((variant) => variant.id && !knownIds.has(variant.id));
857          if (!missingVariants.length) return product;
858          conditionalLog('Volume: appended variants beyond the Liquid 250 cap', {
859            rendered: product.variants.length,
860            fetched: nodes.length,
861            appended: missingVariants.length,
862          });
863          // Return a copy: mainProduct is shared with the other bundle types and must stay capped for them.
864          return { ...product, variants: product.variants.concat(missingVariants) };
865        } catch (error) {
866          conditionalLog('Volume: full variant fetch failed, falling back to the first 250 variants', error);
867          return product;
868        }
869      }
870
871      if (!FastBundleVolumeOffers.length) {
872        conditionalLog('No Volume Offers Found');
873        finishWithNoVolumeOffer();
874        return;
875      }
876
877      for (const offer of FastBundleVolumeOffers) {
878        offer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
879        offer.discount = offer.discounts[0] || {};
880        await handleTranslations(
881          offer,
882          ['title',
883          'description',
884          'volume_show_price_per_item_suffix'],
885          ['badge',
886          'description',
887          'label',
888          'subtitle']
889        );
890      }
891      async function attachFastBundleFreeGifts() {
892        const offersWithDiscounts = window.FastBundleVolumeOffer || [];
893        const promises = [];
894        offersWithDiscounts.forEach((offer) => {
895          if (offer.discounts && Array.isArray(offer.discounts)) {
896            offer.discounts.forEach((discount) => {
897              if (discount.free_gift && discount.free_gift.product_id) {
898                const numericId = discount.free_gift.product_id;
899                const gid = `gid://shopify/Product/${numericId}`;
900                const p = fetchProductByID(gid).then(product => {
901                  if (product) {
902                    discount.free_gift.product = product;
903                  }
904                });
905                promises.push(p);
906              }
907            });
908          }
909        });
910
911        await Promise.all(promises);
912        document.dispatchEvent(new CustomEvent('FastBundleVolumeFreeGiftsReady', { detail: offersWithDiscounts }));
913        window.FastBundleVolumeOffer = offersWithDiscounts;
914      }
915      function isFastBundleOfferActive(offer) {
916        const isPreview = window.FastBundleShared.functions.isPreview;
917        if (!isPreview() && !offer?.enabled) return false;
918        const now = new Date();
919        if (offer.start_datetime && new Date(offer.start_datetime) > now) return false;
920        if (offer.end_datetime && new Date(offer.end_datetime) < now) return false;
921        return true;
922      }
923      async function determineFastBundlVolumeeOffer() {
924        for (const offer of FastBundleVolumeOffers) {
925          if (isFastBundleOfferActive(offer)) return offer;
926        }
927        return {};
928      }
929      determineFastBundlVolumeeOffer().then(async offer => {
930        if (!offer?.id) {
931          conditionalLog('No Active Volume Offer Found');
932          finishWithNoVolumeOffer();
933          return;
934        }
935
936        const volumeProduct = await ensureAllVariants(mainProduct);
937        const excludedVariants = [
938          ...(offer?.item?.excluded_variants || []),
939          ...(offer?.item?.collect_excluded_variants?.[mainProduct.id] || []),
940        ];
941        conditionalLog('excludedVariants', excludedVariants);
942        const preprocessedProduct = excludeVariants(volumeProduct, excludedVariants);
943        preprocessedProduct.item_id = offer?.item?.id || 0;
944        offer.items = [preprocessedProduct];
945        window.FastBundleVolumeOffer = [offer];
946        await attachFastBundleFreeGifts();
947        document.dispatchEvent(new CustomEvent('FastBundleVolumeOffersReady', { detail: window.FastBundleVolumeOffer }));
948      }).catch(error => {
949        conditionalLog('Error determining FastBundleVolumeOffer', error);
950      });
951    }
952  })();
953</script>
953
954<!-- END app snippet -->
955  <!-- BEGIN app snippet: fast_bundle_cross_sell -->
955<script>
956  (async function(){
957    let FastBundleCrossSellOffers = [];
958    const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});
959     conditionalLog('FastBundleCrossSellOffers', FastBundleCrossSellOffers);
960    const FastBundleConf = window?.FastBundleConf || {};
961    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
962    const isPreview = window.FastBundleShared.functions.isPreview;
963
964    function isCrossSellOfferActive(offer) {
965      if (offer?.enabled === false) return false;
966      const now = Date.now();
967      if (offer.start_datetime && Date.parse(offer.start_datetime) > now) return false;
968      if (offer.end_datetime && Date.parse(offer.end_datetime) < now) return false;
969      return true;
970    }
971
972    if (!isPreview()) {
973      FastBundleCrossSellOffers = (FastBundleCrossSellOffers || []).filter(isCrossSellOfferActive);
974    }
975
976    async function attachFastBundleItems(offer) {
977      if (!offer) return;
978        const getMainProduct = window.FastBundleShared.functions.getMainProduct;
979        const fetchProductByID = window.FastBundleShared.functions.fetchProductByID;
980        const mainProduct = getMainProduct();
981        const pid = '';
982        const excludeVariants = window.FastBundleShared.functions.excludeVariants;
983        const uniqueChildIds = offer.children?.flatMap(child =>
984          (child.items || []).map(item => item.item_id)
985        ) || [];
986        const uniqueProductIds = [
987          ...new Set([
988            ...(uniqueChildIds || []),
989            offer.main_item_id ? String(offer.main_item_id) : null,
990          ].filter(Boolean))
991        ]
992        const productMap = {};
993        try {
994          const results = await Promise.all(
995            uniqueProductIds.map(async (id) => {
996              const gid = id.startsWith('gid://') ? id : `gid://shopify/Product/${id}`;
997              const product = await fetchProductByID(gid, false);
998              if (product) productMap[id] = product;
999            })
1000          );
1001        } catch (err) {
1002          console.error('Error fetching products:', err);
1003        }
1004        offer.main_item = productMap[String(offer.main_item_id)] || null;
1005        const filteredChildren = (offer.children || []).filter(child =>
1006          (child.items || []).every(item => productMap[item.item_id])
1007        );
1008        offer.children = filteredChildren.map(child => ({
1009          ...child,
1010          items: child.items.map(item => ({
1011            ...item,
1012            ...excludeVariants(productMap[item.item_id], item.excluded_variants) || {},
1013          })),
1014          volume_single_variant_selector: offer?.volume_single_variant_selector,
1015        }));
1016        window.FastBundleCrossSellOffer = offer;
1017    }
1018    if (FastBundleCrossSellOffers?.length) {
1019      document.dispatchEvent(new CustomEvent('FastBundleCrossSellOfferExists', {
1020        detail: true
1021      }));
1022      await attachFastBundleItems(FastBundleCrossSellOffers[0]);
1023      await handleTranslations(
1024        FastBundleCrossSellOffers[0],
1025        ['title', 'description'],
1026        ['description']
1027      );
1028      FastBundleCrossSellOffers[0].use_compare_at_price = FastBundleConf?.use_compare_at_price;
1029      for (const child of FastBundleCrossSellOffers[0].children) {
1030        await handleTranslations(
1031          child,
1032          ['title', 'description'],
1033          ['description']
1034        );
1035        child.use_compare_at_price = FastBundleConf?.use_compare_at_price;
1036        child.is_child = true;
1037        child.discount = child.discounts[0] || {};
1038      }
1039      window.FastBundleCrossSellOffer = [FastBundleCrossSellOffers?.[0]].filter(Boolean);
1040    } else {
1041      document.dispatchEvent(new CustomEvent('FastBundleCrossSellOfferExists', {
1042        detail: false
1043      }));
1044      window.FastBundleCrossSellOffer = null;
1045    }
1046    
1047    document.dispatchEvent(new CustomEvent('FastBundleCrossSellOfferReady', {
1048      detail: window.FastBundleCrossSellOffer || {}
1049    }));
1050  })();
1051</script>
1051
1052<!-- END app snippet -->
1053  <!-- BEGIN app snippet: fast_bundle_add_on -->
1054<!-- BEGIN app snippet: fast_bundle_add_on_match -->
1055<script>
1056(async function () {
1057const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});
1058
1059let FastBundleAddOnOffers = [];
1060conditionalLog('FastBundleAddOnOffers', FastBundleAddOnOffers);
1061const FastBundleConf = window?.FastBundleConf || {};
1062const handleTranslations = window.FastBundleShared.functions.handleTranslations;
1063const isPreview = window.FastBundleShared.functions.isPreview;
1064
1065function isAddOnOfferActive(offer) {
1066if (offer?.enabled === false) return false;
1067const now = Date.now();
1068if (offer.start_datetime && Date.parse(offer.start_datetime) > now) return false;
1069if (offer.end_datetime && Date.parse(offer.end_datetime) < now) return false;
1070return true;
1071}
1072
1073if (!isPreview()) {
1074FastBundleAddOnOffers = (FastBundleAddOnOffers || []).filter(isAddOnOfferActive);
1075conditionalLog('FastBundleAddOnOffers after active filter', FastBundleAddOnOffers);
1076}
1077
1078const ADD_ON_ITEM_TYPE_PRIORITY = {
1079product: 0,
1080collection: 1,
1081general: 2,
1082};
1083
1084function pickBestAddOnOfferFB(offers) {
1085const list = [...(offers || [])];
1086if (!list.length) return null;
1087
1088list.sort((a, b) => {
1089const priorityDiff =
1090(ADD_ON_ITEM_TYPE_PRIORITY[a.item_type] ?? 99) -
1091(ADD_ON_ITEM_TYPE_PRIORITY[b.item_type] ?? 99);
1092if (priorityDiff !== 0) return priorityDiff;
1093return (a.products_page_priority ?? 0) - (b.products_page_priority ?? 0);
1094});
1095
1096return list[0];
1097}
1098
1099async function attachFastBundleItemsFB(offer) {
1100if (!offer) {
1101conditionalLog('No offer found');
1102return false
1103};
1104const getMainProduct = window.FastBundleShared.functions.getMainProduct;
1105const fetchProductsByIDs = window.FastBundleShared.functions.fetchProductsByIDs;
1106const excludeVariants = window.FastBundleShared.functions.excludeVariants;
1107
1108const items = offer.items || [];
1109if (!items.length) {
1110conditionalLog('No items found');
1111return false;
1112};
1113
1114const mainProduct = getMainProduct();
1115if (!mainProduct) {
1116conditionalLog('No main product found');
1117return false;
1118};
1119
1120const addOnProductIds = [
1121...new Set(
1122items
1123.filter((item) =>
1123 item.is_add_on === true)
1124.map((item) => String(item.item_id))
1125.filter(Boolean)
1126),
1127];
1128
1129const productMap = {};
1130try {
1131if (!fetchProductsByIDs && addOnProductIds.length) {
1132conditionalLog('fetchProductsByIDs function is missing, add-on products cannot be fetched');
1133}
1134if (fetchProductsByIDs && addOnProductIds.length) {
1135const fetchedProducts = await fetchProductsByIDs(addOnProductIds, false);
1136conditionalLog('fetchedProducts', fetchedProducts);
1137Object.keys(fetchedProducts || {}).forEach((id) => {
1138if (fetchedProducts[id]) productMap[id] = fetchedProducts[id];
1139});
1140}
1141} catch (err) {
1142conditionalLog('Error fetching products:', err);
1143return false;
1144}
1145
1146const hydratedItems = [];
1147for (const item of items) {
1148if (item.is_add_on === false || item.type === 'collection' || item.type === 'general') {
1149const excludedVariants = [
1150...(item.excluded_variants || []),
1151...(item.collect_excluded_variants?.[mainProduct.id] || []),
1152];
1153const preprocessedProduct = excludeVariants(mainProduct, excludedVariants) || {};
1154if (!Array.isArray(preprocessedProduct.variants) || preprocessedProduct.variants.length === 0) {
1155conditionalLog('No variants left after exclusions on main product', mainProduct.id);
1156return false;
1157}
1158hydratedItems.push({
1159...item,
1160...preprocessedProduct,
1161id: item.id,
1162item_id: String(mainProduct.id),
1163});
1164continue;
1165}
1166
1167if (item.is_add_on === true) {
1168const product = productMap[String(item.item_id)];
1169if (!product) {
1170conditionalLog('Add-on product not found in fetched products', item.item_id);
1171return false;
1172};
1173const preprocessedProduct = excludeVariants(product, item.excluded_variants || []) || {};
1174if (!Array.isArray(preprocessedProduct.variants) || preprocessedProduct.variants.length === 0) {
1175conditionalLog('No variants left after exclusions on add-on product', item.item_id);
1176return false;
1177}
1178hydratedItems.push({ ...item, ...preprocessedProduct });
1179}
1180}
1181conditionalLog('hydratedItems', hydratedItems);
1182offer.items = hydratedItems;
1183return true;
1184}
1185
1186const pageMatchingOffers = FastBundleAddOnOffers || [];
1187const bestOffer = pickBestAddOnOfferFB(pageMatchingOffers);
1188conditionalLog('bestOffer', bestOffer);
1189if (bestOffer) {
1190document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferExists', { detail: true }));
1191window.FastBundleAddOnOffers = pageMatchingOffers;
1192
1193const ok = await attachFastBundleItemsFB(bestOffer);
1194conditionalLog('attachFastBundleItemsFB result', ok);
1195if (!ok) {
1196document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferExists', { detail: false }));
1197// Empty array = "serverless checked, no offer" -> SDK falls back to serverfull.
1198window.FastBundleAddOnOffer = [];
1199conditionalLog('Set window.FastBundleAddOnOffer = [] -> offer item hydration failed (see previous log for the reason), falling back to serverfull');
1200window.FastBundleAddOnOffers = null;
1201document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferReady', { detail: [] }));
1202return;
1203}
1204
1205bestOffer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
1206bestOffer.discount = bestOffer.discounts?.[0] || {};
1207await handleTranslations(
1208bestOffer,
1209['title', 'description'],
1210['description', 'label', 'badge', 'subtitle']
1211);
1212window.FastBundleAddOnOffer = [bestOffer];
1213} else {
1214document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferExists', { detail: false }));
1215// Empty array = "serverless checked, no offer" -> SDK falls back to serverfull.
1216window.FastBundleAddOnOffer = [];
1217conditionalLog('Set window.FastBundleAddOnOffer = [] -> no active add-on offer matches this page, falling back to serverfull');
1218window.FastBundleAddOnOffers = null;
1219}
1220
1221document.dispatchEvent(new CustomEvent('FastBundleAddOnOfferReady', {
1222detail: window.FastBundleAddOnOffer || []
1223}));
1224})();
1225</script>
1225<!-- END app snippet --><!-- END app snippet -->
1226  <!-- BEGIN app snippet: fast_bundle_fixed -->
1226<script>
1227  (async function(){
1228    let FastBundleFixedOffers = [];
1229    const FastBundleConf = window?.FastBundleConf || {};
1230    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
1231    const isPreview = window.FastBundleShared.functions.isPreview;
1232
1233    function isFixedOfferActive(offer) {
1234      if (offer?.enabled === false) return false;
1235      const now = Date.now();
1236      if (offer.start_datetime && new Date(offer.start_datetime).getTime() > now) return false;
1237      if (offer.end_datetime && new Date(offer.end_datetime).getTime() < now) return false;
1238      return true;
1239    }
1240
1241    if (!isPreview()) {
1242      FastBundleFixedOffers = (FastBundleFixedOffers || []).filter(isFixedOfferActive);
1243    }
1244
1245    // Returns true only if every bundle item resolves to a fetched product with
1246    // at least one selectable variant. Deleted/hidden products (or products that
1247    // collapse to zero variants after `excluded_variants`) cause the whole bundle
1248    // to be dropped — partial bundles must never reach the storefront.
1249    async function attachFastBundleItems(offer) {
1250      if (!offer) return false;
1251      const fetchProductsByIDs = window.FastBundleShared.functions.fetchProductsByIDs;
1252      const excludeVariants = window.FastBundleShared.functions.excludeVariants;
1253
1254      const items = offer.items || [];
1255      if (!items.length) return false;
1256
1257      const uniqueProductIds = [
1258        ...new Set(items.map(item => String(item.item_id)))
1259      ];
1260
1261      const productMap = {};
1262      try {
1263        if (fetchProductsByIDs && uniqueProductIds.length) {
1264          const fetchedProducts = await fetchProductsByIDs(uniqueProductIds, false);
1265          Object.keys(fetchedProducts || {}).forEach((id) => {
1266            if (fetchedProducts[id]) productMap[id] = fetchedProducts[id];
1267          });
1268        }
1269      } catch (err) {
1270        console.error('Error fetching products:', err);
1271        return false;
1272      }
1273
1274      const hydratedItems = [];
1275      for (const item of items) {
1276        const product = productMap[item.item_id];
1277        if (!product) return false;
1278        const preprocessedProduct = excludeVariants(product, item.excluded_variants) || {};
1279        if (!Array.isArray(preprocessedProduct.variants) || preprocessedProduct.variants.length === 0) {
1280          return false;
1281        }
1282        hydratedItems.push({ ...item, ...preprocessedProduct });
1283      }
1284
1285      offer.items = hydratedItems;
1286      return true;
1287    }
1288
1289    if (FastBundleFixedOffers?.length) {
1290      document.dispatchEvent(new CustomEvent('FastBundleFixedOfferExists', { detail: true }));
1291      const hydratedOffers = [];
1292      for (const offer of FastBundleFixedOffers) {
1293        const ok = await attachFastBundleItems(offer);
1294        if (!ok) continue;
1295        offer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
1296        offer.discount = offer.discounts[0] || {};
1297        await handleTranslations(
1298          offer,
1299          ['title', 'description'],
1300          ['description', 'label', 'badge', 'subtitle']
1301        );
1302        hydratedOffers.push(offer);
1303      }
1304      if (hydratedOffers.length === 0) {
1305        document.dispatchEvent(new CustomEvent('FastBundleFixedOfferExists', { detail: false }));
1306        window.FastBundleFixedOffer = [];
1307        document.dispatchEvent(new CustomEvent('FastBundleFixedOfferReady', { detail: [] }));
1308        return;
1309      }
1310      window.FastBundleFixedOffer = hydratedOffers;
1311    } else {
1312      document.dispatchEvent(new CustomEvent('FastBundleFixedOfferExists', { detail: false }));
1313      // Empty array = "serverless checked, no offer" -> SDK falls back to serverfull.
1314      window.FastBundleFixedOffer = [];
1315    }
1316
1317    document.dispatchEvent(new CustomEvent('FastBundleFixedOfferReady', {
1318      detail: window.FastBundleFixedOffer || []
1319    }));
1320  })();
1321</script>
1321
1322<!-- END app snippet -->
1323  <!-- BEGIN app snippet: fast_bundle_mix_and_match -->
1324<script>
1325  (async function () {
1326    let FastBundleMixAndMatchOffers = [];
1327    
1328    const FastBundleConf = window?.FastBundleConf || {};
1329    const conditionalLog = window.FastBundleShared?.functions?.conditionalLog || (() => {});
1330    const handleTranslations = window.FastBundleShared.functions.handleTranslations;
1331    const isPreview = window.FastBundleShared.functions.isPreview;
1332    conditionalLog('FastBundleMixAndMatchOffers', FastBundleMixAndMatchOffers);
1333    function isMixAndMatchOfferActive(offer) {
1334      if (offer?.enabled === false) return false;
1335      const now = Date.now();
1336      if (offer.start_datetime && new Date(offer.start_datetime).getTime() > now) return false;
1337      if (offer.end_datetime && new Date(offer.end_datetime).getTime() < now) return false;
1338      return true;
1339    }
1340
1341    if (!isPreview()) {
1342      FastBundleMixAndMatchOffers = (FastBundleMixAndMatchOffers || []).filter(isMixAndMatchOfferActive);
1343    }
1344
1345    // No product/collection hydration and no price/id transform here — the front
1346    // project fetches collection products via the Shopify Storefront GraphQL API.
1347    // We only localize the offer-level strings so the storefront gets the same
1348    // localized copy the serverfull backend would have returned.
1349    for (const offer of FastBundleMixAndMatchOffers) {
1350      offer.use_compare_at_price = FastBundleConf?.use_compare_at_price;
1351      offer.discount = offer.discounts?.[0] || {};
1352      await handleTranslations(
1353        offer,
1354        ['title', 'description'],
1355        ['description', 'label', 'badge', 'subtitle'],
1356        // Item-level: the metafield carries a translations entry for EVERY shop
1357        // locale (primary included, rebuilt from the flat section_* values) on every
1358        // item, manual and smart alike, covering all three of the backend's
1359        // CollectionBundleItem.TRANSLATABLE_FIELDS. A locale the merchant never
1360        // filled in ships nulls for description/badge, which handleTranslations
1361        // skips, so the primary-locale wording stays.
1362        ['section_title', 'section_description', 'section_badge']
1363      );
1364    }
1365
1366    // Contract: array of product-related offers ([] when none), serves both widget
1367    // and BAP. Empty array => the front falls back to the serverfull path.
1368    window.FastBundleMixAndMatchOffer = FastBundleMixAndMatchOffers || [];
1369    conditionalLog('FastBundleMixAndMatchOffer', window.FastBundleMixAndMatchOffer);
1370    document.dispatchEvent(new CustomEvent('FastBundleMixAndMatchOfferReady', {
1371      detail: window.FastBundleMixAndMatchOffer,
1372    }));
1373  })();
1374</script>
1374
1375<!-- END app snippet -->
1376  <!-- BEGIN app snippet: recording_consent -->
1377<script src="https://cdn.shopify.com/extensions/01a0f2a3-ce8c-7f09-b09d-297fc1e69c10/fast-bundle-product-bundles-165/assets/fast_bundle_recording_consent.js" defer
1378  data-fb-record-submitted="true"
1379  data-fb-shop-id="59149"></script>
1379
1380<!-- END app snippet -->
1381
1382
1383
1384<!-- END app block --><!-- BEGIN app block: shopify://apps/eg-auto-add-to-cart/blocks/app-embed/0f7d4f74-1e89-4820-aec4-6564d7e535d2 -->
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396  
1397    
1397<script
1398      async
1399      type="text/javascript"
1400      src="https://cdn.506.io/eg/script.js?shop=phil-wickham-online-store.myshopify.com&v=12"
1401    ></script>
1401
1402  
1403
1404
1405
1406  <meta id="easygift-shop" itemid="c2hvcF8kXzE3OTA5NjYzMzc=" content="{&quot;isInstalled&quot;:true,&quot;installedOn&quot;:&quot;2025-10-30T19:02:13.544Z&quot;,&quot;appVersion&quot;:&quot;3.0&quot;,&quot;subscriptionName&quot;:&quot;Standard&quot;,&quot;cartAnalytics&quot;:true,&quot;freeTrialEndsOn&quot;:null,&quot;settings&quot;:{&quot;reminderBannerStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:&quot;right&quot;,&quot;vertical&quot;:&quot;bottom&quot;},&quot;closingMode&quot;:&quot;doNotAutoClose&quot;,&quot;cssStyles&quot;:&quot;&quot;,&quot;displayAfter&quot;:5,&quot;headerText&quot;:&quot;&quot;,&quot;imageUrl&quot;:null,&quot;primaryColor&quot;:&quot;#000000&quot;,&quot;reshowBannerAfter&quot;:&quot;everyNewSession&quot;,&quot;selfcloseAfter&quot;:5,&quot;showImage&quot;:false,&quot;subHeaderText&quot;:&quot;&quot;},&quot;addedItemIdentifier&quot;:&quot;_Gifted&quot;,&quot;ignoreOtherAppLineItems&quot;:null,&quot;customVariantsInfoLifetimeMins&quot;:1440,&quot;redirectPath&quot;:null,&quot;ignoreNonStandardCartRequests&quot;:false,&quot;bannerStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:&quot;right&quot;,&quot;vertical&quot;:&quot;bottom&quot;},&quot;cssStyles&quot;:null,&quot;primaryColor&quot;:&quot;#000000&quot;},&quot;themePresetId&quot;:null,&quot;notificationStyle&quot;:{&quot;position&quot;:{&quot;horizontal&quot;:null,&quot;vertical&quot;:null},&quot;cssStyles&quot;:null,&quot;duration&quot;:null,&quot;hasCustomizations&quot;:false,&quot;primaryColor&quot;:null},&quot;fetchCartData&quot;:false,&quot;useLocalStorage&quot;:{&quot;enabled&quot;:false,&quot;expiryMinutes&quot;:null},&quot;popupStyle&quot;:{&quot;addButtonText&quot;:null,&quot;cssStyles&quot;:null,&quot;dismissButtonText&quot;:null,&quot;hasCustomizations&quot;:false,&quot;imageUrl&quot;:null,&quot;outOfStockButtonText&quot;:null,&quot;primaryColor&quot;:null,&quot;secondaryColor&quot;:null,&quot;showProductLink&quot;:false,&quot;subscriptionLabel&quot;:null},&quot;refreshAfterBannerClick&quot;:false,&quot;disableReapplyRules&quot;:false,&quot;disableReloadOnFailedAddition&quot;:false,&quot;autoReloadCartPage&quot;:false,&quot;ajaxRedirectPath&quot;:null,&quot;allowSimultaneousRequests&quot;:false,&quot;applyRulesOnCheckout&quot;:false,&quot;enableCartCtrlOverrides&quot;:true,&quot;scriptSettings&quot;:{&quot;branding&quot;:{&quot;removalRequestSent&quot;:null,&quot;show&quot;:false},&quot;productPageRedirection&quot;:{&quot;enabled&quot;:false,&quot;products&quot;:[],&quot;redirectionURL&quot;:&quot;\/&quot;},&quot;debugging&quot;:{&quot;enabled&quot;:false,&quot;enabledOn&quot;:null,&quot;stringifyObj&quot;:false},&quot;customCSS&quot;:null,&quot;decodePayload&quot;:false,&quot;delayUpdates&quot;:2000,&quot;enableBuyNowInterceptions&quot;:false,&quot;fetchCartDataBeforeRequest&quot;:false,&quot;fetchProductInfoFromSavedDomain&quot;:false,&quot;hideAlertsOnFrontend&quot;:false,&quot;hideGiftedPropertyText&quot;:false,&quot;removeEGPropertyFromSplitActionLineItems&quot;:false,&quot;removeProductsAddedFromExpiredRules&quot;:false,&quot;useFinalPrice&quot;:true}},&quot;translations&quot;:null,&quot;defaultLocale&quot;:&quot;en&quot;,&quot;shopDomain&quot;:&quot;philwickham.store&quot;}">
1407
1408
1409<script defer>
1410  (async function() {
1411    try {
1412
1413      const blockVersion = "v3"
1414      if (blockVersion != "v3") {
1415        return
1416      }
1417
1418      let metaErrorFlag = false;
1419      if (metaErrorFlag) {
1420        return
1421      }
1422
1423      // Parse metafields as JSON
1424      const metafields = {};
1425
1426      // Process metafields in JavaScript
1427      let savedRulesArray = [];
1428      for (const [key, value] of Object.entries(metafields)) {
1429        if (value) {
1430          for (const prop in value) {
1431            // avoiding Object.Keys for performance gain -- no need to make an array of keys.
1432            savedRulesArray.push(value);
1433            break;
1434          }
1435        }
1436      }
1437
1438      const metaTag = document.createElement('meta');
1439      metaTag.id = 'easygift-rules';
1440      metaTag.content = JSON.stringify(savedRulesArray);
1441      metaTag.setAttribute('itemid', 'cnVsZXNfJF8xNzkwOTY2MzM3');
1442
1443      document.head.appendChild(metaTag);
1444      } catch (err) {
1445        
1446      }
1447  })();
1448</script>
1448
1449
1450
1451  
1451<script
1452    type="text/javascript"
1453    defer
1454  >
1455
1456    (function () {
1457      try {
1458        window.EG_INFO = window.EG_INFO || {};
1459        var shopInfo = {"isInstalled":true,"installedOn":"2025-10-30T19:02:13.544Z","appVersion":"3.0","subscriptionName":"Standard","cartAnalytics":true,"freeTrialEndsOn":null,"settings":{"reminderBannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"closingMode":"doNotAutoClose","cssStyles":"","displayAfter":5,"headerText":"","imageUrl":null,"primaryColor":"#000000","reshowBannerAfter":"everyNewSession","selfcloseAfter":5,"showImage":false,"subHeaderText":""},"addedItemIdentifier":"_Gifted","ignoreOtherAppLineItems":null,"customVariantsInfoLifetimeMins":1440,"redirectPath":null,"ignoreNonStandardCartRequests":false,"bannerStyle":{"position":{"horizontal":"right","vertical":"bottom"},"cssStyles":null,"primaryColor":"#000000"},"themePresetId":null,"notificationStyle":{"position":{"horizontal":null,"vertical":null},"cssStyles":null,"duration":null,"hasCustomizations":false,"primaryColor":null},"fetchCartData":false,"useLocalStorage":{"enabled":false,"expiryMinutes":null},"popupStyle":{"addButtonText":null,"cssStyles":null,"dismissButtonText":null,"hasCustomizations":false,"imageUrl":null,"outOfStockButtonText":null,"primaryColor":null,"secondaryColor":null,"showProductLink":false,"subscriptionLabel":null},"refreshAfterBannerClick":false,"disableReapplyRules":false,"disableReloadOnFailedAddition":false,"autoReloadCartPage":false,"ajaxRedirectPath":null,"allowSimultaneousRequests":false,"applyRulesOnCheckout":false,"enableCartCtrlOverrides":true,"scriptSettings":{"branding":{"removalRequestSent":null,"show":false},"productPageRedirection":{"enabled":false,"products":[],"redirectionURL":"\/"},"debugging":{"enabled":false,"enabledOn":null,"stringifyObj":false},"customCSS":null,"decodePayload":false,"delayUpdates":2000,"enableBuyNowInterceptions":false,"fetchCartDataBeforeRequest":false,"fetchProductInfoFromSavedDomain":false,"hideAlertsOnFrontend":false,"hideGiftedPropertyText":false,"removeEGPropertyFromSplitActionLineItems":false,"removeProductsAddedFromExpiredRules":false,"useFinalPrice":true}},"translations":null,"defaultLocale":"en","shopDomain":"philwickham.store"};
1460        var productRedirectionEnabled = shopInfo.settings.scriptSettings.productPageRedirection.enabled;
1461        if (["Unlimited", "Enterprise"].includes(shopInfo.subscriptionName) && productRedirectionEnabled) {
1462          var products = shopInfo.settings.scriptSettings.productPageRedirection.products;
1463          if (products.length > 0) {
1464            var productIds = products.map(function(prod) {
1465              var productGid = prod.id;
1466              var productIdNumber = parseInt(productGid.split('/').pop());
1467              return productIdNumber;
1468            });
1469            var productInfo = null;
1470            var isProductInList = productIds.includes(productInfo.id);
1471            if (isProductInList) {
1472              var redirectionURL = shopInfo.settings.scriptSettings.productPageRedirection.redirectionURL;
1473              if (redirectionURL) {
1474                window.location = redirectionURL;
1475              }
1476            }
1477          }
1478        }
1479
1480        
1481      } catch(err) {
1482      return
1483    }}
1483)()
1484  </script>
1484
1485
1486
1487
1488<!-- END app block -->
1488<script src="https://cdn.shopify.com/extensions/a424d896-690a-47f2-a3ae-a82565eec47e/preorder-now-wolf-5/assets/preorde_panda.js" type="text/javascript" defer="defer"></script>
1488
1489<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1490<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 29219160098,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1490
1490
1491<script>
1492  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1493</script>
vendor: 1 bytes, line 1493
1493
1494<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1494).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 29219160098,storefrontBaseUrl: "https://philwickham.store",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://philwickham.store/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1889206590","configuration":"{\"accountID\":\"phil-wickham-online-store\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1d4c781273105676f6b02a329648437f","type":"APP","apiClientId":32196493313,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
1494,{"id":"1490059582","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"830538046","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-NY3EZL233D\\\",\\\"GT-TNPXDF3J\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-NY3EZL233D\\\",\\\"MC-PN409GWY74\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-NY3EZL233D\\\",\\\"MC-PN409GWY74\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-NY3EZL233D\\\",\\\"MC-PN409GWY74\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-NY3EZL233D\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Phil Wickham","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"phil-wickham-online-store.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/philwickham.store"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://philwickham.store/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"185529336126","themeStoreId":"857","themePublished":"true","eventMetadataId":"de66cd28-5af6-4436-a7a1-de10d3623f60","pageType":"cart","shopId":"29219160098","storefrontBaseUrl":"https:\/\/philwickham.store","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1494<script>
1495  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1496  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1497  window.ShopifyAnalytics.meta.currency = 'USD';
1498  var meta = {"page":{"pageType":"cart","requestId":"08e3270a-8ec2-4ca4-ae5d-f79019a1b93c-1790966337"}};
1499  for (var attr in meta) {
1500    window.ShopifyAnalytics.meta[attr] = meta[attr];
1501  }
1502</script>
vendor: 1 bytes, line 1502
1502
1503<script class="analytics">
1504  (function () {
1505    var customDocumentWrite = function(content) {
1506      var jquery = null;
1507
1508      if (window.jQuery) {
1509        jquery = window.jQuery;
1510      } else if (window.Checkout && window.Checkout.$) {
1511        jquery = window.Checkout.$;
1512      }
1513
1514      if (jquery) {
1515        jquery('body').append(content);
1516      }
1517    };
1518
1519    var hasLoggedConversion = function(token) {
1520      if (token) {
1521        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1522      }
1523      return false;
1524    }
1525
1526    var setCookieIfConversion = function(token) {
1527      if (token) {
1528        var twoMonthsFromNow = new Date(Date.now());
1529        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1530
1531        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1532      }
1533    }
1534
1535    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1536    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1537    if (trekkie.integrations) {
1538      return;
1539    }
1540    trekkie.methods = [
1541      'identify',
1542      'page',
1543      'ready',
1544      'track',
1545      'trackForm',
1546      'trackLink'
1547    ];
1548    trekkie.factory = function(method) {
1549      return function() {
1550        var args = Array.prototype.slice.call(arguments);
1551        args.unshift(method);
1552        trekkie.push(args);
1553        if (method == 'track' || method == 'page') {
1554          var pageUrl;
1555          try {
1556            pageUrl = window.location.href;
1557          } catch (e) {}
1558          var pageReferrer;
1559          try {
1560            pageReferrer = document.referrer;
1561          } catch (e) {}
1562          try {
1563            if (window.__TREKKIE_SHIM_QUEUE == null) {
1564              window.__TREKKIE_SHIM_QUEUE = [];
1565            }
1566            window.__TREKKIE_SHIM_QUEUE.push({
1567              from: 'trekkie-stub',
1568              method: method,
1569              args: args.slice(1),
1570              pageContext: {
1571                url: pageUrl,
1572                referrer: pageReferrer
1573              }
1574            });
1575          } catch (e) {
1576            // no-op
1577          }
1578        }
1579        return trekkie;
1580      };
1581    };
1582    for (var i = 0; i < trekkie.methods.length; i++) {
1583      var key = trekkie.methods[i];
1584      trekkie[key] = trekkie.factory(key);
1585    }
1586    trekkie.load = function(config) {
1587      trekkie.config = config || {};
1588      trekkie.config.initialDocumentCookie = document.cookie;
1589      var first = document.getElementsByTagName('script')[0];
1590var script = document.createElement('script');
1591script.type = 'text/javascript';
1592script.onerror = function(e) {
1593  var scriptFallback = document.createElement('script');
1594  scriptFallback.type = 'text/javascript';
1595  scriptFallback.onerror = function(error) {
1596          var Monorail = {
1597      produce: function produce(monorailDomain, schemaId, payload) {
1598        var currentMs = new Date().getTime();
1599        var event = {
1600          schema_id: schemaId,
1601          payload: payload,
1602          metadata: {
1603            event_created_at_ms: currentMs,
1604            event_sent_at_ms: currentMs
1605          }
1606        };
1607        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1608      },
1609      sendRequest: function sendRequest(endpointUrl, payload) {
1610        // Try the sendBeacon API
1611        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1612          var blobData = new window.Blob([payload], {
1613            type: 'text/plain'
1614          });
1615
1616          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1617            return true;
1618          } // sendBeacon was not successful
1619
1620        } // XHR beacon
1621
1622        var xhr = new XMLHttpRequest();
1623
1624        try {
1625          xhr.open('POST', endpointUrl);
1626          xhr.setRequestHeader('Content-Type', 'text/plain');
1627          xhr.send(payload);
1628        } catch (e) {
1629          console.log(e);
1630        }
1631
1632        return false;
1633      },
1634      isIos12: function isIos12() {
1635        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1636      }
1637    };
1638    Monorail.produce('monorail-edge.shopifysvc.com',
1639      'trekkie_storefront_load_errors/1.1',
1640      {shop_id: 29219160098,
1641      theme_id: 185529336126,
1642      app_name: "storefront",
1643      context_url: window.location.href,
1644      source_url: "//philwickham.store/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1645
1646  };
1647  scriptFallback.async = true;
1648  scriptFallback.src = '//philwickham.store/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1649  first.parentNode.insertBefore(scriptFallback, first);
1650};
1651script.async = true;
1652script.src = '//philwickham.store/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1653first.parentNode.insertBefore(script, first);
1654
1655    };
1656    trekkie.load(
1657      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":29219160098,"isMerchantRequest":null,"themeId":185529336126,"themeCityHash":"13288154585895685844","contentLanguage":"en","currency":"USD","eventMetadataId":"de66cd28-5af6-4436-a7a1-de10d3623f60"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1658    );
1659
1660    var loaded = false;
1661    trekkie.ready(function() {
1662      if (loaded) return;
1663      loaded = true;
1664
1665      window.ShopifyAnalytics.lib = window.trekkie;
1666
1667      var originalDocumentWrite = document.write;
1668      document.write = customDocumentWrite;
1669      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1670      document.write = originalDocumentWrite;
1671
1672      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1673      var token = match? match[1]: undefined;
1674      if (!hasLoggedConversion(token)) {
1675        setCookieIfConversion(token);
1676        
1677      }
1678    });
1679
1680    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"08e3270a-8ec2-4ca4-ae5d-f79019a1b93c-1790966337","shopifyEmitted":true});
1681
1682    var eventsListenerScript = document.createElement('script');
1683    eventsListenerScript.async = true;
1684    eventsListenerScript.src = "//philwickham.store/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1685    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1686})();</script>
vendor: 1 bytes, line 1686
1686
1687<script
1688  defer
1689  src="https://philwickham.store/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1690  data-application="storefront-renderer"
1691  data-shop-id="29219160098"
1692  data-render-region="gcp-us-central1"
1693  data-page-type="cart"
1694  data-theme-instance-id="185529336126"
1695  data-theme-name="Impulse"
1696  data-theme-version="7.4.0"
1697  data-monorail-region="shop_domain"
1698  data-resource-timing-sampling-rate="10"
1699  data-shs="true"
1700  data-shs-beacon="true"
1701  data-shs-export-with-fetch="true"
1702  data-shs-logs-sample-rate="1"
1703  data-shs-beacon-endpoint="https://philwickham.store/api/collect"
1704></script>
1704
1705<meta name="shopify-y" content="95970dd3-5041-4ed1-a2c9-8b4caf21f1c2" data-expiration="1822523937000"><meta name="shopify-s" content="50b0b0dd-fd8b-43c0-80e9-23a0a589bf68" data-expiration="1790968137000"><meta name="new-cookie-storage-activated" content="t">
1706</head>
1707
1708<body class="template-cart" data-center-text="true" data-button_style="square" data-type_header_capitalize="true" data-type_headers_align_text="false" data-type_product_capitalize="true" data-swatch_style="round" >
1709
1710  <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a>
1711
1712  <div id="PageContainer" class="page-container">
1713    <div class="transition-body"><!-- BEGIN sections: header-group -->
1714<div id="shopify-section-sections--26358922281278__header" class="shopify-section shopify-section-group-header-group">
1715
1716<div id="NavDrawer" class="drawer drawer--left">
1717  <div class="drawer__contents">
1718    <div class="drawer__fixed-header">
1719      <div class="drawer__header appear-animation appear-delay-1">
1720        <div class="h2 drawer__title"></div>
1721        <div class="drawer__close">
1722          <button type="button" class="drawer__close-button js-drawer-close">
1723            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
1724            <span class="icon__fallback-text">Close menu</span>
1725          </button>
1726        </div>
1727      </div>
1728    </div>
1729    <div class="drawer__scrollable">
1730      <ul class="mobile-nav" role="navigation" aria-label="Primary"><li class="mobile-nav__item appear-animation appear-delay-2"><div class="mobile-nav__has-sublist"><a href="#0"
1731                    class="mobile-nav__link mobile-nav__link--top-level"
1732                    id="Label-01"
1733                    >
1734                    Merch
1735                  </a>
1736                  <div class="mobile-nav__toggle">
1737                    <button type="button"
1738                      aria-controls="Linklist-01"
1739                      aria-labelledby="Label-01"
1740                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1741  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1742</span>
1743</button>
1744                  </div></div><div id="Linklist-01"
1745                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1746                >
1747                <div class="collapsible-content__inner">
1748                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1749                        <div class="mobile-nav__child-item"><a href="/collections/t-shirts"
1750                              class="mobile-nav__link"
1751                              id="Sublabel-collections-t-shirts1"
1752                              >
1753                              Tees
1754                            </a></div></li><li class="mobile-nav__item">
1755                        <div class="mobile-nav__child-item"><a href="/collections/hoodies"
1756                              class="mobile-nav__link"
1757                              id="Sublabel-collections-hoodies2"
1758                              >
1759                              Hoodies
1760                            </a></div></li><li class="mobile-nav__item">
1761                        <div class="mobile-nav__child-item"><a href="/collections/hats"
1762                              class="mobile-nav__link"
1763                              id="Sublabel-collections-hats3"
1764                              >
1765                              Hats
1766                            </a></div></li><li class="mobile-nav__item">
1767                        <div class="mobile-nav__child-item"><a href="/collections/books/books"
1768                              class="mobile-nav__link"
1769                              id="Sublabel-collections-books-books4"
1770                              >
1771                              Books
1772                            </a></div></li></ul>
1773                </div>
1774              </div></li><li class="mobile-nav__item appear-animation appear-delay-3"><div class="mobile-nav__has-sublist"><a href="/"
1775                    class="mobile-nav__link mobile-nav__link--top-level"
1776                    id="Label-2"
1777                    >
1778                    Shop by Collections
1779                  </a>
1780                  <div class="mobile-nav__toggle">
1781                    <button type="button"
1782                      aria-controls="Linklist-2"
1783                      aria-labelledby="Label-2"
1784                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1785  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1785ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1786</span>
1787</button>
1788                  </div></div><div id="Linklist-2"
1789                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1790                >
1791                <div class="collapsible-content__inner">
1792                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1793                        <div class="mobile-nav__child-item"><a href="/collections/everyday-hallelujah"
1794                              class="mobile-nav__link"
1795                              id="Sublabel-collections-everyday-hallelujah1"
1796                              >
1797                              Everyday Hallelujah
1798                            </a></div></li><li class="mobile-nav__item">
1799                        <div class="mobile-nav__child-item"><a href="/collections/song-of-the-saints"
1800                              class="mobile-nav__link"
1801                              id="Sublabel-collections-song-of-the-saints2"
1802                              >
1803                              Song Of The Saints
1804                            </a></div></li><li class="mobile-nav__item">
1805                        <div class="mobile-nav__child-item"><a href="/collections/homesick-for-heaven"
1806                              class="mobile-nav__link"
1807                              id="Sublabel-collections-homesick-for-heaven3"
1808                              >
1809                              Homesick For Heaven 
1810                            </a></div></li><li class="mobile-nav__item">
1811                        <div class="mobile-nav__child-item"><a href="/collections/what-an-awesome-god"
1812                              class="mobile-nav__link"
1813                              id="Sublabel-collections-what-an-awesome-god4"
1814                              >
1815                              What An Awesome God
1816                            </a></div></li><li class="mobile-nav__item">
1817                        <div class="mobile-nav__child-item"><a href="/collections/the-king-is-in-the-room"
1818                              class="mobile-nav__link"
1819                              id="Sublabel-collections-the-king-is-in-the-room5"
1820                              >
1821                              The King Is In The Room
1822                            </a></div></li><li class="mobile-nav__item">
1823                        <div class="mobile-nav__child-item"><a href="/collections/christmas"
1824                              class="mobile-nav__link"
1825                              id="Sublabel-collections-christmas6"
1826                              >
1827                              Hallelujah! It&#39;s Christmas!
1828                            </a></div></li><li class="mobile-nav__item">
1829                        <div class="mobile-nav__child-item"><a href="/collections/singalong"
1830                              class="mobile-nav__link"
1831                              id="Sublabel-collections-singalong7"
1832                              >
1833                              Singalong
1834                            </a></div></li><li class="mobile-nav__item">
1835                        <div class="mobile-nav__child-item"><a href="/collections/hometown-collection"
1836                              class="mobile-nav__link"
1837                              id="Sublabel-collections-hometown-collection8"
1838                              >
1839                              Hometown
1840                            </a></div></li><li class="mobile-nav__item">
1841                        <div class="mobile-nav__child-item"><a href="/collections/psalm-23"
1842                              class="mobile-nav__link"
1843                              id="Sublabel-collections-psalm-239"
1844                              >
1845                              Psalm 23
1846                            </a></div></li><li class="mobile-nav__item">
1847                        <div class="mobile-nav__child-item"><a href="/collections/i-believe"
1848                              class="mobile-nav__link"
1849                              id="Sublabel-collections-i-believe10"
1850                              >
1851                              I BELIEVE
1852                            </a></div></li><li class="mobile-nav__item">
1853                        <div class="mobile-nav__child-item"><a href="/collections/i-believe-bundles"
1854                              class="mobile-nav__link"
1855                              id="Sublabel-collections-i-believe-bundles11"
1856                              >
1857                              Bundles
1858                            </a></div></li></ul>
1859                </div>
1860              </div></li><li class="mobile-nav__item appear-animation appear-delay-4"><div class="mobile-nav__has-sublist"><a href="#0"
1861                    class="mobile-nav__link mobile-nav__link--top-level"
1862                    id="Label-03"
1863                    >
1864                    Shop by Album
1865                  </a>
1866                  <div class="mobile-nav__toggle">
1867                    <button type="button"
1868                      aria-controls="Linklist-03"
1869                      aria-labelledby="Label-03"
1870                      class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
1871  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1871ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg>
1872</span>
1873</button>
1874                  </div></div><div id="Linklist-03"
1875                class="mobile-nav__sublist collapsible-content collapsible-content--all"
1876                >
1877                <div class="collapsible-content__inner">
1878                  <ul class="mobile-nav__sublist"><li class="mobile-nav__item">
1879                        <div class="mobile-nav__child-item"><a href="/collections/song-of-the-saints"
1880                              class="mobile-nav__link"
1881                              id="Sublabel-collections-song-of-the-saints1"
1882                              >
1883                              Song Of The Saints
1884                            </a></div></li><li class="mobile-nav__item">
1885                        <div class="mobile-nav__child-item"><a href="/collections/christmas"
1886                              class="mobile-nav__link"
1887                              id="Sublabel-collections-christmas2"
1888                              >
1889                              Hallelujah! It&#39;s Christmas!
1890                            </a></div></li><li class="mobile-nav__item">
1891                        <div class="mobile-nav__child-item"><a href="/collections/hometown-collection"
1892                              class="mobile-nav__link"
1893                              id="Sublabel-collections-hometown-collection3"
1894                              >
1895                              I BELIEVE • HOMETOWN VERSION
1896                            </a></div></li><li class="mobile-nav__item">
1897                        <div class="mobile-nav__child-item"><a href="/collections/i-believe-tour"
1898                              class="mobile-nav__link"
1899                              id="Sublabel-collections-i-believe-tour4"
1900                              >
1901                              I BELIEVE
1902                            </a></div></li></ul>
1903                </div>
1904              </div></li><li class="mobile-nav__item appear-animation appear-delay-5"><a href="/collections/music" class="mobile-nav__link mobile-nav__link--top-level">Music</a></li><li class="mobile-nav__item appear-animation appear-delay-6"><a href="/collections/gifts" class="mobile-nav__link mobile-nav__link--top-level">Gifts</a></li><li class="mobile-nav__item appear-animation appear-delay-7"><a href="/collections/sale-1" class="mobile-nav__link mobile-nav__link--top-level">Sale</a></li><li class="mobile-nav__item mobile-nav__item--secondary">
1905            <div class="grid"><div class="grid__item one-half appear-animation appear-delay-8">
1906                  <a href="/account" class="mobile-nav__link">Log in
1907</a>
1908                </div></div>
1909          </li></ul><ul class="mobile-nav__social appear-animation appear-delay-9"><li class="mobile-nav__social-item">
1910            <a target="_blank" rel="noopener" href="https://www.instagram.com/philwickham/?hl=en" title="Phil Wickham on Instagram">
1911              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><title>instagram</title><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.
1911038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg>
1912              <span class="icon__fallback-text">Instagram</span>
1913            </a>
1914          </li><li class="mobile-nav__social-item">
1915            <a target="_blank" rel="noopener" href="https://www.facebook.com/philwickham" title="Phil Wickham on Facebook">
1916              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 14222 14222"><path d="M14222 7112c0 3549.352-2600.418 6491.344-6000 7024.72V9168h1657l315-2056H8222V5778c0-562 275-1111 1159-1111h897V2917s-814-139-1592-139c-1624 0-2686 984-2686 2767v1567H4194v2056h1806v4968.72C2600.418 13603.344 0 10661.352 0 7112 0 3184.703 3183.703 1 7111 1s7111 3183.703 7111 7111Zm-8222 7025c362 57 733 86 1111 86-377.945 0-749.003-29.485-1111-86.28Zm2222 0v-.28a7107.458 7107.458 0 0 1-167.717 24.267A7407.158 7407.158 0 0 0 8222 14137Zm-167.717 23.987C7745.664 14201.89 7430.797 14223 7111 14223c319.843 0 634.675-21.479 943.283-62.013Z"/></svg>
1917              <span class="icon__fallback-text">Facebook</span>
1918            </a>
1919          </li><li class="mobile-nav__social-item">
1920            <a target="_blank" rel="noopener" href="https://www.youtube.com/channel/UC-XSYe_TuXZX1iIBVbUG7sg" title="Phil Wickham on YouTube">
1921              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg>
1922              <span class="icon__fallback-text">YouTube</span>
1923            </a>
1924          </li><li class="mobile-nav__social-item">
1925            <a target="_blank" rel="noopener" href="https://www.tiktok.com/@philwickhamofficial?lang=en" title="Phil Wickham on TickTok">
1926              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 2859 3333"><path d="M2081 0c55 473 319 755 778 785v532c-266 26-499-61-770-225v995c0 1264-1378 1659-1932 753-356-583-138-1606 1004-1647v561c-87 14-180 36-265 65-254 86-398 247-358 531 77 544 1075 705 992-358V1h551z"/></svg>
1927              <span class="icon__fallback-text">TikTok</span>
1928            </a>
1929          </li></ul>
1930    </div>
1931  </div>
1932</div>
1933<div id="CartDrawer" class="drawer drawer--right">
1934    <form id="CartDrawerForm" action="/cart" method="post" novalidate class="drawer__contents" data-location="cart-drawer">
1935      <div class="drawer__fixed-header">
1936        <div class="drawer__header appear-animation appear-delay-1">
1937          <div class="h2 drawer__title">Cart</div>
1938          <div class="drawer__close">
1939            <button type="button" class="drawer__close-button js-drawer-close">
1940              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
1941              <span class="icon__fallback-text">Close cart</span>
1942            </button>
1943          </div>
1944        </div>
1945      </div>
1946
1947      <div class="drawer__inner">
1948        <div class="drawer__scrollable">
1949          <div data-products class="appear-animation appear-delay-2"></div>
1950
1951          
1952        </div>
1953
1954        <div class="drawer__footer appear-animation appear-delay-4">
1955          <div data-discounts>
1956            
1957          </div>
1958
1959          <div class="cart__item-sub cart__item-row">
1960            <div class="ajaxcart__subtotal">Subtotal</div>
1961            <div data-subtotal>$0</div>
1962          </div>
1963
1964          <div class="cart__item-row text-center">
1965            <small>
1966              Shipping, taxes, and discount codes calculated at checkout.<br />
1967            </small>
1968          </div>
1969
1970          
1971
1972          <div class="cart__checkout-wrapper">
1973            <button type="submit" name="checkout" data-terms-required="false" class="btn cart__checkout">
1974              Check out
1975            </button>
1976
1977            
1978              <div class="additional-checkout-buttons additional-checkout-buttons--vertical"><div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart">
1978 <shopify-accelerated-checkout-cart wallet-configs="[{&quot;supports_subs&quot;:true,&quot;supports_def_opts&quot;:false,&quot;name&quot;:&quot;shop_pay&quot;,&quot;wallet_params&quot;:{&quot;shopId&quot;:29219160098,&quot;merchantName&quot;:&quot;Phil Wickham&quot;,&quot;personalized&quot;:true}}]" access-token="7f408546b72f28d1d032e58aa1e7779b" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="29219160098" cart-id="deaa1f941b1dfd1652792ca8c1d009f4" enabled-flags="[&quot;1172c16a&quot;,&quot;a1d1f9a1&quot;,&quot;f5afabb3&quot;,&quot;370070f3&quot;]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'>&nbsp</div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div></div>
1979            
1980          </div>
1981        </div>
1982      </div>
1983
1984      <div class="drawer__cart-empty appear-animation appear-delay-2">
1985        <div class="drawer__scrollable">
1986          Your cart is currently empty.
1987        </div>
1988      </div>
1989    </form>
1990  </div><style>
1991  .site-nav__link,
1992  .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) {
1993    font-size: 13px;
1994  }
1995  
1996    .site-nav__link, .mobile-nav__link--top-level {
1997      text-transform: uppercase;
1998      letter-spacing: 0.2em;
1999    }
2000    .mobile-nav__link--top-level {
2001      font-size: 1.1em;
2002    }
2003  
2004
2005  
2006
2007  
2008    .megamenu__collection-image {
2009      display: none;
2010    }
2011  
2012</style>
2013
2014<div data-section-id="sections--26358922281278__header" data-section-type="header"><div class="toolbar small--hide">
2015  <div class="page-width">
2016    <div class="toolbar__content"><div class="toolbar__item">
2017          <ul class="no-bullets social-icons inline-list toolbar__social"><li>
2018      <a target="_blank" rel="noopener" href="https://www.instagram.com/philwickham/?hl=en" title="Phil Wickham on Instagram">
2019        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><title>instagram</title><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg>
2020        <span class="icon__fallback-text">Instagram</span>
2021      </a>
2022    </li><li>
2023      <a target="_blank" rel="noopener" href="https://www.facebook.com/philwickham" title="Phil Wickham on Facebook">
2024        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewB
2024ox="0 0 14222 14222"><path d="M14222 7112c0 3549.352-2600.418 6491.344-6000 7024.72V9168h1657l315-2056H8222V5778c0-562 275-1111 1159-1111h897V2917s-814-139-1592-139c-1624 0-2686 984-2686 2767v1567H4194v2056h1806v4968.72C2600.418 13603.344 0 10661.352 0 7112 0 3184.703 3183.703 1 7111 1s7111 3183.703 7111 7111Zm-8222 7025c362 57 733 86 1111 86-377.945 0-749.003-29.485-1111-86.28Zm2222 0v-.28a7107.458 7107.458 0 0 1-167.717 24.267A7407.158 7407.158 0 0 0 8222 14137Zm-167.717 23.987C7745.664 14201.89 7430.797 14223 7111 14223c319.843 0 634.675-21.479 943.283-62.013Z"/></svg>
2025        <span class="icon__fallback-text">Facebook</span>
2026      </a>
2027    </li><li>
2028      <a target="_blank" rel="noopener" href="https://www.youtube.com/channel/UC-XSYe_TuXZX1iIBVbUG7sg" title="Phil Wickham on YouTube">
2029        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg>
2030        <span class="icon__fallback-text">YouTube</span>
2031      </a>
2032    </li><li>
2033      <a target="_blank" rel="noopener" href="https://www.tiktok.com/@philwickhamofficial?lang=en" title="Phil Wickham on TikTok">
2034        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 2859 3333"><path d="M2081 0c55 473 319 755 778 785v532c-266 26-499-61-770-225v995c0 1264-1378 1659-1932 753-356-583-138-1606 1004-1647v561c-87 14-180 36-265 65-254 86-398 247-358 531 77 544 1075 705 992-358V1h551z"/></svg>
2035        <span class="icon__fallback-text">TikTok</span>
2036      </a>
2037    </li></ul>
2038
2039        </div></div>
2040
2041  </div>
2042</div>
2043<div class="header-sticky-wrapper">
2044    <div id="HeaderWrapper" class="header-wrapper"><header
2045        id="SiteHeader"
2046        class="site-header"
2047        data-sticky="true"
2048        data-overlay="false">
2049        <div class="page-width">
2050          <div
2051            class="header-layout header-layout--center-drawer"
2052            data-logo-align="center"><div class="header-item header-item--left header-item--navigation"><div class="site-nav">
2053                  <button
2054                    type="button"
2055                    class="site-nav__link site-nav__link--icon js-drawer-open-nav"
2056                    aria-controls="NavDrawer">
2057                    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><title>icon-hamburger</title><path d="M7 15h51M7 32h43M7 49h51"/></svg>
2058                    <span class="icon__fallback-text">Site navigation</span>
2059                  </button>
2060                </div>
2061              </div><div class="header-item header-item--logo"><style data-shopify>.header-item--logo,
2062    .header-layout--left-center .header-item--logo,
2063    .header-layout--left-center .header-item--icons {
2064      -webkit-box-flex: 0 1 190px;
2065      -ms-flex: 0 1 190px;
2066      flex: 0 1 190px;
2067    }
2068
2069    @media only screen and (min-width: 769px) {
2070      .header-item--logo,
2071      .header-layout--left-center .header-item--logo,
2072      .header-layout--left-center .header-item--icons {
2073        -webkit-box-flex: 0 0 250px;
2074        -ms-flex: 0 0 250px;
2075        flex: 0 0 250px;
2076      }
2077    }
2078
2079    .site-header__logo a {
2080      width: 190px;
2081    }
2082    .is-light .site-header__logo .logo--inverted {
2083      width: 190px;
2084    }
2085    @media only screen and (min-width: 769px) {
2086      .site-header__logo a {
2087        width: 250px;
2088      }
2089
2090      .is-light .site-header__logo .logo--inverted {
2091        width: 250px;
2092      }
2093    }</style><div class="h1 site-header__logo" itemscope itemtype="http://schema.org/Organization" >
2094      <a
2095        href="/"
2096        itemprop="url"
2097        class="site-header__logo-link"
2098        style="padding-top: 4.6875%">
2099
2100        
2101
2102
2103
2104
2105
2106<image-element data-aos="image-fade-in" data-aos-offset="150">
2107
2108
2109  
2110    
2111    <img src="//philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=500" alt="" srcset="//philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=250 250w, //philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=500 500w" width="250" height="11.71875" loading="eager" class="small--hide image-element" sizes="250px" itemprop="logo" style="max-height: 11.71875px;max-width: 250px;">
2112  
2113
2114
2115</image-element>
2116
2117
2118
2119
2120
2121
2122<image-element data-aos="image-fade-in" data-aos-offset="150">
2123
2124
2125  
2126    
2127    <img src="//philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=380" alt="" srcset="//philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=190 190w, //philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=380 380w" width="190" height="8.90625" loading="eager" class="medium-up--hide image-element" sizes="190px" style="max-height: 8.90625px;max-width: 190px;">
2128  
2129
2130
2131</image-element>
2132
2133
2134</a></div></div><div class="header-item header-item--icons"><div class="site-nav">
2135  <div class="site-nav__icons"><a class="site-nav__link site-nav__link--icon small--hide" href="/account">
2136        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><title>account</title><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16Z"/></svg>
2137        <span class="icon__fallback-text">Log in
2138</span>
2139      </a><a href="/cart" class="site-nav__link site-nav__link--icon js-drawer-open-cart" aria-controls="CartDrawer" data-icon="cart">
2140      <span class="cart-link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 64 64"><path style="stroke-miterlimit:10" d="M14 17.44h46.79l-7.94 25.61H20.96l-9.65-35.1H3"/><circle cx="27" cy="53" r="2"/><circle cx="47" cy="53" r="2"/></svg><span class="icon__fallback-text">Cart</span>
2141        <span class="cart-link__bubble"></span>
2142      </span>
2143    </a>
2144  </div>
2145</div>
2146</div>
2147          </div></div>
2148        <div class="site-header__search-container">
2149          <div class="site-header__search">
2150            <div class="page-width">
2151              <predictive-search data-context="header" data-enabled="false" data-dark="false">
2152  <div class="predictive__screen" data-screen></div>
2153  <form action="/search" method="get" role="search">
2154    <label for="Search" class="hidden-label">Search</label>
2155    <div class="search__input-wrap">
2156      <input
2157        class="search__input"
2158        id="Search"
2159        type="search"
2160        name="q"
2161        value=""
2162        role="combobox"
2163        aria-expanded="false"
2164        aria-owns="predictive-search-results"
2165        aria-controls="predictive-search-results"
2166        aria-haspopup="listbox"
2167        aria-autocomplete="list"
2168        autocorrect="off"
2169        autocomplete="off"
2170        autocapitalize="off"
2171        spellcheck="false"
2172        placeholder="Search"
2173        tabindex="0"
2174      >
2175      <input name="options[prefix]" type="hidden" value="last">
2176      <button class="btn--search" type="submit">
2177        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg>
2178        <span class="icon__fallback-text">Search</span>
2179      </button>
2180    </div>
2181
2182    <button class="btn--close-search">
2183      <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg>
2184    </button>
2185    <div id="predictive-search" class="search__results" tabindex="-1"></div>
2186  </form>
2187</predictive-search>
2188
2189            </div>
2190          </div>
2191        </div>
2192      </header>
2193    </div>
2194  </div>
2195</div>
2196
2197
2198</div>
2199<!-- END sections: header-group --><!-- BEGIN sections: popup-group -->
2200
2201<!-- END sections: popup-group --><main class="main-content" id="MainContent">
2202        
2203<div id="shopify-section-template--26358927524158__main" class="shopify-section"><div class="page-width page-content">
2204<header class="section-header text-center section-header--404">
2205    <h1 class="section-header__title">Cart</h1>
2206    <div class="rte text-spacing"><p>Your cart is currently empty.</p><p><a href='/collections/all'>Continue shopping</a></p>
2207    </div>
2208  </header></div>
2209
2210
2211</div><div id="shopify-section-template--26358927524158__recently-viewed" class="shopify-section"><div
2212  data-subsection
2213  data-section-id="template--26358927524158__recently-viewed"
2214  data-section-type="recently-viewed"
2215  data-product-handle=""
2216  data-recent-count="5"
2217  data-grid-item-class="small--one-half medium-up--one-fifth"
2218  data-row-of="5"
2219  data-image-sizes="(min-width: 769px) 20vw, 39vw"
2220>
2221  <hr class="hr--large">
2222  <div class="index-section index-section--small">
2223    <div class="page-width">
2224      <header class="section-header">
2225        <h3 class="section-header__title">Recently viewed</h3>
2226      </header>
2227    </div>
2228
2229    <div class="page-width page-width--flush-small">
2230      <div class="grid-overflow-wrapper">
2231        <div id="RecentlyViewed-template--26358927524158__recently-viewed" class="grid grid--uniform" data-aos="overflow__animation"></div>
2232      </div>
2233    </div>
2234  </div>
2235</div>
2236
2237
2238</div>
2239
2240      </main><!-- BEGIN sections: footer-group -->
2241<div id="shopify-section-sections--26358922150206__footer" class="shopify-section shopify-section-group-footer-group"><footer class="site-footer" data-section-id="sections--26358922150206__footer" data-section-type="footer-section">
2242  <div class="page-width">
2243
2244    <div class="grid"><div  class="grid__item footer__item--logo_social_UebnF9" data-type="logo_social"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) {
2245              .footer__item--logo_social_UebnF9 {
2246                width: 50%;
2247                padding-top: 40px;
2248              }
2249              .footer__item--logo_social_UebnF9:nth-child(2n + 1) {
2250                clear: left;
2251              }
2252            }
2253            @media only screen and (min-width: 960px) {
2254              .footer__item--logo_social_UebnF9 {
2255                width: 19%;
2256              }
2257
2258            }</style><style data-shopify>.footer__logo a {
2259      height: 9px;
2260    }</style><div class="footer__logo">
2261    <a href="/">
2262
2263
2264
2265<image-element data-aos="image-fade-in" data-aos-offset="150">
2266
2267
2268  
2269    
2270    <img src="//philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=384" alt="" srcset="//philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=192 192w, //philwickham.store/cdn/shop/files/PHIL_WICKHAM_16ae524d-223b-464e-8f8a-2253cfe16791.png?v=1617326126&amp;width=384 384w" height="9" loading="lazy" class=" image-element" sizes="192.0px" style="max-width: 192.0px;max-height: 9px;">
2271  
2272
2273
2274</image-element>
2275
2276
2277</a>
2278
2279    
2280  </div></div><div  class="grid__item footer__item--footer-1" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) {
2281              .footer__item--footer-1 {
2282                width: 50%;
2283                padding-top: 40px;
2284              }
2285              .footer__item--footer-1:nth-child(2n + 1) {
2286                clear: left;
2287              }
2288            }
2289            @media only screen and (min-width: 960px) {
2290              .footer__item--footer-1 {
2291                width: 15%;
2292              }
2293
2294            }</style><div
2295    >
2296    <div class="collapsible-content__inner">
2297      <div class="footer__collapsible footer_collapsible--disabled">
2298        <ul class="no-bullets site-footer__linklist"><li><a href="#0">Merch</a></li><li><a href="/">Shop by Collections</a></li><li><a href="#0">Shop by Album</a></li><li><a href="/collections/music">Music</a></li><li><a href="/collections/gifts">Gifts</a></li><li><a href="/collections/sale-1">Sale</a></li></ul>
2299      </div>
2300    </div>
2301  </div></div><div  class="grid__item footer__item--menu_ftRatt" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) {
2302              .footer__item--menu_ftRatt {
2303                width: 50%;
2304                padding-top: 40px;
2305              }
2306              .footer__item--menu_ftRatt:nth-child(2n + 1) {
2307                clear: left;
2308              }
2309            }
2310            @media only screen and (min-width: 960px) {
2311              .footer__item--menu_ftRatt {
2312                width: 25%;
2313              }
2314
2315            }</style><div
2316    >
2317    <div class="collapsible-content__inner">
2318      <div class="footer__collapsible footer_collapsible--disabled">
2319        <ul class="no-bullets site-footer__linklist"><li><a href="https://philwickham.store/account">Order Status</a></li><li><a href="/pages/returns-and-exchanges-shipping">Returns and Exchanges / Shipping</a></li><li><a href="/policies/terms-of-service">Terms of Service</a></li><li><a href="/policies/privacy-policy">Privacy Policy</a></li></ul>
2320      </div>
2321    </div>
2322  </div></div></div><ul class="no-bullets social-icons footer__social"><li>
2323      <a target="_blank" rel="noopener" href="https://www.instagram.com/philwickham/?hl=en" title="Phil Wickham on Instagram">
2324        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><title>instagram</title><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg>
2325        <span class="icon__fallback-text">Instagram</span>
2326      </a>
2327    </li><li>
2328      <a target="_blank" rel="noopener" href="https://www.facebook.com/philwickham" title="Phil Wickham on Facebook">
2329        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 14222 14222"><path d="M14222 7112c0 3549.352-2600.418 6491.344-6000 7024.72V9168h1657l315-2056H8222V5778c0-562 275-1111 1159-1111h897V2917s-814-139-1592-139c-1624 0-2686 984-2686 2767v1567H4194v2056h1806v4968.72C2600.418 13603.344 0 10661.352 0 7112 0 3184.703 3183.703 1 7111 1s7111 3183.703 7111 7111Zm-8222 7025c362 57 733 86 1111 86-377.945 0-749.003-29.485-1111-86.28Zm2222 0v-.28a7107.458 7107.458 0 0 1-167.717 24.267A7407.158 7407.158 0 0 0 8222 14137Zm-167.717 23.987C7745.664 14201.89 7430.797 14223 7111 14223c319.843 0 634.675-21.479 943.283-62.013Z"/></svg>
2330        <span class="icon__fallback-text">Facebook</span>
2331      </a>
2332    </li><li>
2333      <a target="_blank" rel="noopener" href="https://www.youtube.com/channel/UC-XSYe_TuXZX1iIBVbUG7sg" title="Phil Wickham on YouTube">
2334        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg>
2335        <span class="icon__fallback-text">YouTube</span>
2336      </a>
2337    </li><li>
2338      <a target="_blank" rel="noopener" href="https://www.tiktok.com/@philwickhamofficial?lang=en" title="Phil Wickham on TikTok">
2339        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 2859 3333"><path d="M2081 0c55 473 319 755 778 785v532c-266 26-499-61-770-225v995c0 1264-1378 1659-1932 753-356-583-138-1606 1004-1647v561c-87 14-180 36-265 65-254 86-398 247-358 531 77 544 1075 705 992-358V1h551z"/></svg>
2340        <span class="icon__fallback-text">TikTok</span>
2341      </a>
2342    </li></ul>
2343
2344
2345
2346    
2347      <p class="footer__small-text">
2348        &copy; 2026 Phil Wickham
2349. All Rights Reserved.
2350</p>
2351
2352     <p class="footer__small-text">
2353        Powered by <a href="https://www.elevatehq.com/">ELEVATE Merch</a>
2354      </p></div>
2355</footer>
2356
2357
2358<style> #shopify-section-sections--26358922150206__footer .grid {margin: 0px !important;} #shopify-section-sections--26358922150206__footer .grid__item:after {border-bottom: 0px solid;} #shopify-section-sections--26358922150206__footer .footer__social {text-align: center;} #shopify-section-sections--26358922150206__footer .footer__social li {margin: 0 0px 15px 15px;} @media screen and (max-width: 768px) {#shopify-section-sections--26358922150206__footer .site-footer {padding-top: 20px; border-top: 1px #222222 solid; }} </style></div>
2359<!-- END sections: footer-group --></div>
2360  </div><div id="VideoModal" class="modal modal--solid">
2361  <div class="modal__inner">
2362    <div class="modal__centered page-width text-center">
2363      <div class="modal__centered-content">
2364        <div class="video-wrapper video-wrapper--modal">
2365          <div id="VideoHolder"></div>
2366        </div>
2367      </div>
2368    </div>
2369  </div>
2370
2371  <button type="button" class="modal__close js-modal-close text-link">
2372    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
2373    <span class="icon__fallback-text">"Close (esc)"</span>
2374  </button>
2375</div>
2376<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
2377  <div class="pswp__bg"></div>
2378  <div class="pswp__scroll-wrap">
2379    <div class="pswp__container">
2380      <div class="pswp__item"></div>
2381      <div class="pswp__item"></div>
2382      <div class="pswp__item"></div>
2383    </div>
2384
2385    <div class="pswp__ui pswp__ui--hidden">
2386      <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--left" title="Previous">
2387        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0Z"/></svg>
2388      </button>
2389
2390      <button class="btn btn--body btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)">
2391        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
2392      </button>
2393
2394      <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--right" title="Next">
2395        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><title>icon-chevron</title><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98Z"/></svg>
2396      </button>
2397    </div>
2398  </div>
2399</div>
2400<tool-tip data-tool-tip="">
2401  <div class="tool-tip__inner" data-tool-tip-inner>
2402    <button class="tool-tip__close" data-tool-tip-close=""><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg></button>
2403    <div data-tool-tip-title>Your Shopping Cart</div>
2404    <div class="tool-tip__content" data-tool-tip-content>
2405    </div>
2406  </div>
2407</tool-tip>
2408
2409  <template id="naturalImageMarkup">
2410    <div class="image-wrap" style="height: 0;">
2411      <image-element data-aos="image-fade-in" data-aos-offset="150">
2412        <img class="grid-product__image image-element" width height src srcset loading="lazy" alt>
2413      </image-element>
2414    </div>
2415  </template>
2416  <template id="fixedRatioImageMarkup">
2417    <div class="grid__image-ratio">
2418      <image-element data-aos="image-fade-in" data-aos-offset="150">
2419        <img class="image-element" width height src srcset loading="lazy" alt>
2420      </image-element>
2421    </div>
2422  </template>
2423<style> .btn--small {padding: 13px 14px;} .btn--secondary {color: #000; color: #ffffff !important; border: 0px solid; background-color: #000000 !important;} .index-section {margin: 40px 0;} #CollectionSection-template--21628907847998__bb7d61b6-6795-4629-838f-1c8127c4eddc {margin-top: -50px;} </style>
2424<div id="shopify-block-AbGRNWFRpbUt4QTQra__6986766168588894248" class="shopify-block shopify-app-block">
2425</div><div id="shopify-block-ANWk3VXE0N3BIWEMvV__11349500561483629931" class="shopify-block shopify-app-block">
2425<script id="ReStock-config">
2426  var _ReStockConfig = window._ReStockConfig || {};
2427
2428  _ReStockConfig.templateName = "cart";
2429  _ReStockConfig.isB2BCustomer = null;
2430  _ReStockConfig.currentLocationId = null;
2431  _ReStockConfig.moneyFormat = "${{amount_no_decimals}}";_ReStockConfig.marketHandle = "us";
2432  _ReStockConfig.marketId = 199098402;let metafieldConfigData = null;metafieldConfigData = {"ask_for_gdpr_consent_enabled":false,"not_selectable_variants_enabled":false,"pre_order_products_enabled":false,"ui_style":{"notify_me_styles":[{"wrapper":null,"page":"COLLECTION_PAGE","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"inject_to_all_elements_of_each_wrapper":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":null,"enable_variant_listener_on_cards":false,"product_card_selector":null,"displayed_product_resolution_enabled":false,"variant_picker_selector":null,"selected_anchor_selector":null,"general_card_placement_enabled":false,"card_scoped_wrapper_enabled":false,"variant_group_availability_enabled":false,"quick_view_widget_lifecycle_enabled":false,"style_mode":"SMART"},{"wrapper":null,"page":"LANDING_PAGES","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"inject_to_all_elements_of_each_wrapper":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":null,"enable_variant_listener_on_cards":false,"product_card_selector":null,"displayed_product_resolution_enabled":false,"variant_picker_selector":null,"selected_anchor_selector":null,"general_card_placement_enabled":false,"card_scoped_wrapper_enabled":false,"variant_group_availability_enabled":false,"quick_view_widget_lifecycle_enabled":false,"style_mode":"SMART"}],"product_page_notify_me_style":{"wrapper":[".payment-buttons",".product-single__form"],"support_wrapper":null,"css_selector_from_theme":null,"inline_display_mode":"BUTTON","show_floating_button":false,"hide_buy_it_now_button":true,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"handle_rerenders":true,"prepend_to_wrapper":false,"css_selector":"div.payment-buttons>button[type='submit'].btn.btn--full.add-to-cart.btn--secondary","css_selector_by_support":null,"custom_styles":{},"custom_variant_listener":{"element":null,"property":null,"is_dataset_property":false},"use_add_to_cart_button_selector":true,"style_mode":"SMART"},"subscription_form_style":{"custom_styles":null,"style_mode":"SMART","name_field_is_visible":false,"name_field_is_required":false,"email_field_is_required":false,"phone_field_is_required":false,"whatsapp_field_is_required":false,"quantity_field_is_visible":false,"quantity_max_value":10},"button_classes":["btn","btn--full","add-to-cart","btn--secondary"],"global_raw_css":".brandingStyle {\ndisplay: none;\n}\n.restock-alerts-notify-button,.restock-alerts-submit-button { \n    color: white!important;\nbackground: black!important;}","product_page_raw_css":null,"after_subscribe_message_styles":{"toastColor":"fff","toastBackgroundColor":"000000"}},"ui_contents":[{"notify_me_contents":[{"page":"COLLECTION_PAGE","button_text":"Notify Me","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"LANDING_PAGES","button_text":"Notify Me","not_selectable_variants_button_text":"Out of stock? Click here"},{"page":"PRODUCT_PAGE","button_text":"Notify Me When Available","not_selectable_variants_button_text":"Out of stock? Click here"}],"subscription_form_content":{"form_title":"Notify me via:","email_input_placeholder":"Email Address ...","email_input_below_text":"Don’t worry! We hate spam as much as you do.","email_label":"Email","full_name_label":"Name","full_name_placeholder":"Full name ...","push_label":"Push notification","sms_label":"Sms","sms_input_placeholder":"1234567890","whatsapp_label":"Whatsapp","whatsapp_input_placeholder":"Whatsapp Number ...","empty_name_error_message":"Name is required.","name_length_error_message":"Name is too long.","invalid_email_error_message":"Your email address is not val
2432id.","empty_email_error_message":"Email is required.","invalid_phone_number_error_message":"Your phone number is not valid.","empty_phone_number_error_message":"Phone number is required.","no_channels_selected_error_message":"You need to subscribe to one of the channels.","button_text":"Notify Me When Available","add_to_contacts_checkbox_text":"Notify me about other news or offers too","privacy_policy_text":"I have read and agree to the {{privacy_policy_url_text}}.","privacy_policy_url_text":"privacy policy","privacy_policy_url":"","privacy_policy_error_message":"You must accept our privacy policy","after_subscribe_message_text":"We will notify you when the item is available","already_subscribed_message_text":"You already have subscribed for this item","push_is_not_allowed_message_text":"You didn\\'t allow this site to send you push notifications. To receive back-in-stock notification from this shop.","style_mode":"SMART","quantity_label":"Quantity"},"language":"en"},{"notify_me_contents":[{"page":"PRODUCT_PAGE","button_text":"Prévenez-moi","not_selectable_variants_button_text":"Rupture de stock?Cliquez ici"},{"page":"COLLECTION_PAGE","button_text":"Prévenez-moi","not_selectable_variants_button_text":"Rupture de stock?Cliquez ici"},{"page":"LANDING_PAGES","button_text":"Prévenez-moi","not_selectable_variants_button_text":"Rupture de stock?Cliquez ici"}],"subscription_form_content":{"form_title":"Me notifier via:","email_input_placeholder":"Adresse e-mail ...","email_input_below_text":"Ne vous inquiétez pas!Nous détestons le spam autant que vous.","email_label":"E-mail","full_name_label":"Name","full_name_placeholder":"Full name ...","push_label":"Notification push","sms_label":"SMS","sms_input_placeholder":"Numéro de téléphone ...","whatsapp_label":"Whatsapp","whatsapp_input_placeholder":"Whatsapp Number ...","empty_name_error_message":"Name is required.","name_length_error_message":"Name is too long.","invalid_email_error_message":"Votre adresse e-mail n'est pas valide.","empty_email_error_message":"Email is required.","invalid_phone_number_error_message":"Votre numéro de téléphone n'est pas valide.","empty_phone_number_error_message":"Phone number is required.","no_channels_selected_error_message":"You need to subscribe to one of the channels.","button_text":"Informez-moi lorsqu'il est disponible","add_to_contacts_checkbox_text":"Me notifiez aussi d'autres nouvelles ou offres","privacy_policy_text":"I have read and agree to the {{privacy_policy_url_text}}.","privacy_policy_url_text":"privacy policy","privacy_policy_url":"","privacy_policy_error_message":"You must accept our privacy policy","after_subscribe_message_text":"Nous vous informerons lorsque l'article sera disponible","already_subscribed_message_text":"Vous vous êtes déjà abonné à cet article","push_is_not_allowed_message_text":"Vous n'avez pas permis à ce site de vous envoyer des notifications push.Pour recevoir une notification en stock de cette boutique.","style_mode":"SMART","quantity_label":"Quantity"},"language":"fr"}],"default_language":"en","shop_id":22772,"app_enabled":true,"base_url":"https://api.notify-me.app","excluded_from_back_in_stock_variants":[],"included_in_back_in_stock_variants":[],"has_contact_integration":true,"ask_for_contact_integration_is_hidden":false,"privacy_policy_is_hidden":true,"disable_branding_permission":true,"is_email_hidden":false,"is_sms_hidden":true,"is_push_hidden":true,"is_whatsapp_hidden":true,"collection_page_show_button_when_any_variant_is_out_of_stock":false,"home_page_show_button_when_any_variant_is_out_of_stock":false,"subscription_limit_reached":false,"is_back_in_stock_active":true,"back_
2432in_stock_product_selection_mode":"ALL","low_stock":{"excluded_variants":[],"is_service_active":false,"widget_settings":{"show_mode":"ALL","inventory_threshold":1},"product_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"fr":{"description":"Il ne reste que {{remaining_quantity}} articles en stock !"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"collection_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"fr":{"description":"Il ne reste que {{remaining_quantity}} articles en stock !"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"landing_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"},"fr":{"description":"Il ne reste que {{remaining_quantity}} articles en stock !"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]}},"is_suspended":false,"default_country_code":null};let metafieldPreOrderData = null;metafieldPreOrderData = {"product_page":{"ui_styles":{"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7"},"is_hidden":false},"button":{"custom_styles":null,"is_visible":true},"description":{"is_hidden":false},"hide_buy_it_now_button":true,"is_active":true,"price":{"custom_styles":null,"format":"{symbol}{price}","is_hidden":false},"replace_with_add_to_cart_button":true,"selling_plan_selector":{"custom_styles":{"badgeTextColor":"000000","cardTitleColor":"202223","cardBorderColor":"e4e5e7","cardBorderRadius":"8","badgeBorderRadius":"6","cardBackgroundColor":"ffffff","badgeBackgroun
2432dColor":"e4e5e7","cardDescriptionColor":"6d7175"},"is_active":false,"custom_css":""},"style_mode":"SMART"},"ui_contents":{"en":{"badge_text":"Pre-order","widget_description":"Product will be available soon!","btn_text":"Pre-order now","availability_date_label":"Expected availability","payment_label":"Payment","soon_available_text":"Coming soon","billing_full_payment_text":"Full payment at checkout","billing_due_now_label":"Due now","billing_due_later_label":"Due later on","selling_plan_full_payment_title":"Full payment","selling_plan_partial_payment_title":"Reserve now, pay later","selling_plan_selector_save_label":"Save"},"fr":{"badge_text":"Pré-commander","widget_description":"Le produit sera bientôt disponible !","btn_text":"Pré commandez maintenant","availability_date_label":"Disponibilité prévue","payment_label":"Paiement","soon_available_text":"À venir","billing_full_payment_text":"Paiement intégral à la caisse","billing_due_now_label":"À payer maintenant","billing_due_later_label":"À payer plus tard","selling_plan_full_payment_title":"Full payment","selling_plan_partial_payment_title":"Reserve now, pay later","selling_plan_selector_save_label":"Save"}},"elements_selectors":{"button":{"css_selector":"div.payment-buttons>button[type='submit'].btn.btn--full.add-to-cart.btn--secondary","css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"description":{"wrapper_by_support":null},"selling_plan_selector":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false}},"collection_page":{"ui_styles":{"is_active":true,"button":{"custom_styles":null,"is_visible":true},"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7","discount_text_color":"000"},"is_visible":false,"position":"TOP_RIGHT"},"style_mode":"SMART"},"ui_contents":{"en":{"btn_text":"Pre-order now","badge_text":"Pre-order"},"fr":{"btn_text":"Pré commandez maintenant","badge_text":"Pre-order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"landing_page":{"ui_styles":{"is_active":false,"button":{"custom_styles":null,"is_visible":true},"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7","discount_text_color":"000"},"is_visible":false,"position":"TOP_RIGHT"},"style_mode":"SMART","featured_product_is_active":false},"ui_contents":{"en":{"btn_text":"Pre-order now","badge_text":"Pre-order"},"fr":{"btn_text":"Pré commandez maintenant","badge_text":"Pre-order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"limit_reached":false,"variant_ids":[47937148125502,47937148027198,47937148059966,47937148092734,47937148158270,39296215121954,47937115783486,47937115816254,47937115685182,47937115717950,47937115750718,32297945727010,32297945825314,46522949075262,46522949304638,46522949140798,46522949173566,46522949206334,46522949271870,46522949337406,46522949402942,46522949370174,46522949435710],"is_selling_plan_removed_by_support":false,"selling_plans_settings":{"15141962046":{"has_discount":false,"value_type":"percentage","value":0.0}},"selling_plans_billing_settings":{"15141962046":{"payment_type":"FULL","checkout_charge":{"percentage":50,"charge_type":"PERCENTAGE","exact_amount":0},"remaining_fee_checkout_time":{"date_type":"AFTER_SOME_DAYS","exact_date":null,"after_some_days":7}}},"selling_plan_id_to_market_ids":{},"selling_plan_id_to_variant_ids":{"15141962046":[32297945727010,32297945825314,39296215121954,46522949075262,46522949140798,46522949173566,46522949206334,46522949271870,46522949304638,46522949337406,46522949370174,46522949402942,46522949435710,47937115685182,47937115717950,47937115750718,47937115783486,47937115816254,47937148027198,47937148059966,47937148092734,47937148125502,47937148158270]},"is_service_active":true,"override_cart_requests":true,"excluded_catalogs_products":[],"excluded_catalogs_collections":[],"excluded_company_locations":[],"description_availability_config":{"15141962046":{"type":"SOON","config":{}}},"mixed_cart_alert":{"show_mixed_cart_alert":false,"is_active":false,"ui_styles":{"show_icon":true,"show_title":true,"show_body":true,"style_mode":"SMART","custom_css":"","custom_styles":{"color":"1A1A1A","iconColor":"616161","borderColor":"F1F1F1","borderRadius":8,"backgroundColor":"F1F1F1"}},"elements_selectors":{"cart_page":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"cart_drawer":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null}},"ui_contents":{"en":{"title":"Shipping Notice","body":"Your order 
2432contains items with different delivery dates."},"fr":{"title":"Shipping Notice","body":"Your order contains items with different delivery dates."}}}};let metafieldWishlistData = undefined;metafieldWishlistData = {"is_service_active":false,"wishlist_buttons":{"product_page":{"is_visible":true,"style_mode":"SMART","wrapper_by_support":null,"custom_styles":null,"inject_to_all_wrappers":false,"icon":"heart"}},"limit_reached":false,"ui_contents":{"en":{"id":17494,"add_to_wishlist_button_label":"Add to wishlist","remove_from_wishlist_button_label":"It’s in wishlist","list_access_button_label":"Wishlist","list_title":"Wishlist","list_add_all_to_cart_button_label":"Add all to cart","product_card_add_to_cart_button_label":"Add to cart","product_card_out_of_stock_button_label":"Out of stock","empty_list_description":"You didn't like any products yet!","empty_list_explore_button_label":"Explore store","add_to_cart_toast_message":"Added to your cart","login_modal_button_label":"Login","login_modal_description":"Log in to your account to add products to your wishlist and view your previously saved items.","login_modal_title":"Login required"},"fr":{"id":17501,"add_to_wishlist_button_label":"Ajouter à la liste de souhaits","remove_from_wishlist_button_label":"C'est dans la liste de souhaits","list_access_button_label":"Liste de souhaits","list_title":"Liste de souhaits","list_add_all_to_cart_button_label":"Ajouter tout au panier","product_card_add_to_cart_button_label":"Ajouter au panier","product_card_out_of_stock_button_label":"En rupture de stock","empty_list_description":"Vous n'avez pas encore aimé aucun produit !","empty_list_explore_button_label":"Explorer le magasin","add_to_cart_toast_message":"Ajouté à votre panier","login_modal_button_label":"Se connecter","login_modal_description":"Connectez-vous à votre compte pour ajouter des produits à votre liste de souhaits et afficher vos articles précédemment enregistrés.","login_modal_title":"Connexion requise"}},"access_button":{"custom_styles":null,"icon":"heart","position":"bottom-left"},"drawer":{"custom_styles":null,"position":"left"},"add_to_cart_message":{"custom_styles":null,"position":"bottom-right"}};let metafieldFlagsData = null;metafieldFlagsData = {};_ReStockConfig._metafields = {
2433    sdkConfig: metafieldConfigData,
2434    preOrderConfig: metafieldPreOrderData,
2435    wishlistConfig: metafieldWishlistData,
2436    featureFlags: metafieldFlagsData
2437  };
2438</script>
2438
2439
2440<!-- BEGIN app snippet: early-cart-guard -->
2440<script id="ReStock-early-cart-guard">
2441(function (window) {
2442  try {
2443    if (window.__nmPreorderEarlyGuard) return;
2444
2445    let cfg = null;
2446    const metafields = window._ReStockConfig?._metafields;
2447    if (metafields?.preOrderConfig && typeof metafields.preOrderConfig === 'object') {
2448      cfg = metafields.preOrderConfig;
2449    }
2450
2451    let wrappersInstalled = false;
2452
2453    window.__nmPreorderEarlyGuard = {
2454      v: 1,
2455      active: true,
2456      setConfig: function (nextConfig) {
2457        if (!nextConfig || typeof nextConfig !== 'object') return;
2458        cfg = nextConfig;
2459        if (cfg.override_cart_requests === true) installWrappers();
2460      }
2461    };
2462
2463    function isGuardActive() {
2464      return window.__nmPreorderEarlyGuard?.active === true;
2465    }
2466
2467    function isCartAddUrl(url) {
2468      try {
2469        const parsed = new URL(String(url), window.document.baseURI);
2470        return /(?:^|\/)cart\/add(?:\.js(?:on)?)?$/.test(parsed.pathname);
2471      } catch (error) {
2472        return false;
2473      }
2474    }
2475
2476    function isPageActive() {
2477      const template = window._ReStockConfig?.templateName;
2478      let pageConfig = null;
2479      if (template === 'product') {
2480        pageConfig = cfg.product_page;
2481      } else if (template === 'collection' || template === 'list-collections' || template === 'search' || template === 'page') {
2482        pageConfig = cfg.collection_page;
2483      } else if (template === 'index') {
2484        pageConfig = cfg.landing_page;
2485      }
2486      return pageConfig?.ui_styles?.is_active === true;
2487    }
2488
2489    function shouldEnrich() {
2490      if (!cfg) return false;
2491      if (cfg.override_cart_requests !== true) return false;
2492      if (cfg.is_service_active !== true) return false;
2493      if (cfg.limit_reached === true) return false;
2494      if (window._ReStockConfig?.isB2BCustomer) return false;
2495      return isPageActive();
2496    }
2497
2498    function isPlanVisibleInMarket(planId) {
2499      const planToMarkets = cfg.selling_plan_id_to_market_ids;
2500      if (!planToMarkets) return true;
2501      const allowedMarketIds = planToMarkets[planId];
2502      if (!allowedMarketIds || allowedMarketIds.length === 0) return true;
2503      const marketId = window._ReStockConfig?.marketId;
2504      if (marketId == null) return true;
2505      return allowedMarketIds.includes(Number(marketId));
2506    }
2507
2508    function findSellingPlanId(variantId) {
2509      const planToVariants = cfg.selling_plan_id_to_variant_ids;
2510      if (!planToVariants) return null;
2511      for (const planId of Object.keys(planToVariants)) {
2512        const variantIds = planToVariants[planId];
2513        if (variantIds && variantIds.includes(variantId) && isPlanVisibleInMarket(planId)) return planId;
2514      }
2515      return null;
2516    }
2517
2518    function localizedContents() {
2519      const contents = cfg.product_page?.ui_contents;
2520      if (!contents || typeof contents !== 'object') return {};
2521      return contents[shopLanguage()] || contents['en'] || Object.values(contents)[0] || {};
2522    }
2523
2524    function shopLanguage() {
2525      const locale = window.Shopify?.locale;
2526      if (locale) return locale;
2527      const documentLanguage = window.document?.documentElement?.lang;
2528      if (documentLanguage && documentLanguage !== 'null') return documentLanguage;
2529      return null;
2530    }
2531
2532    function formatDate(date) {
2533      return date.toISOString().split('T')[0];
2534    }
2535
2536    function toFiniteNumber(value) {
2537      if (typeof value === 'number') return Number.isFinite(value) ? value : null;
2538      if (typeof value === 'string') {
2539        const parsed = parseFloat(value);
2540        return Number.isFinite(parsed) ? parsed : null;
2541      }
2542      return null;
2543    }
2544
2545    function clamp(value, min, max) {
2546      return Math.min(max, Math.max(min, value));
2547    }
2548
2549    function availabilityDateText(planId) {
2550      const settings = cfg.description_availability_config?.[planId];
2551      if (!settings) return '';
2552      if (settings.type === 'SOON') return localizedContents().soon_available_text || '';
2553      if (settings.type === 'SPECIFIC_DATE') {
2554        const parsed = new Date(settings.config.date);
2555        return isNaN(parsed.getTime()) ? '' : formatDate(parsed);
2556      }
2557      if (settings.type === 'RELATIVE_DATE') {
2558        const days = typeof settings.config.days === 'string' ? parseInt(settings.config.days, 10) : settings.config.days;
2559        if (isNaN(days)) return '';
2560        const futureDate = new Date();
2561        futureDate.setDate(futureDate.getDate() + days);
2562        return formatDate(futureDate);
2563      }
2564      return '';
2565    }
2566
2567    function inlineVariantPrice(variantId) {
2568      const variants = window._ReStockConfig?.product?.variants;
2569      if (!Array.isArray(variants)) return null;
2570      const variant = variants.find(function (candidate) {
2571        return Number(candidate?.id) === variantId;
2572      });
2573      if (!variant) return null;
2574      return variant.price ? variant.price / 100 : 0;
2575    }
2576
2577    function finalPriceForPlan(price, planId) {
2578      const adjustment = cfg.selling_plans_settings?.[planId];
2579      if (!adjustment?.has_discount) return price;
2580      if (adjustment.value_type === 'percentage') return price * (1 - adjustment.value / 100);
2581      if (adjustment.value_type === 'fixed_amount') return price - adjustment.value * (window.Shopify?.currency?.rate ?? 1);
2582      return price;
2583    }
2584
2585    function formatMoneyIntl(price) {
2586      const currency = window.Shopify?.currency?.active || 'USD';
2587      const locale = window.Shopify?.locale || 'en-US';
2588      try {
2589        return new Intl.NumberFormat(locale, { style: 'currency', currency: currency }).format(price);
2590      } catch (error) {
2591        return currency + ' ' + price.toFixed(2);
2592      }
2593    }
2594
2595    const AMOUNT_PLACEHOLDER = /\{\{\s*(\w+)\s*\}\}/;
2596
2597    function delimit(cents, precision, thousands, decimal) {
2598      const parts = (cents / 100).toFixed(precision).split('.');
2599      const grouped = parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + thousands);
2600      return parts[1] ? grouped + (decimal || '.') + parts[1] : grouped;
2601    }
2602
2603    const AMOUNT_FORMATTERS = new Map([
2604      ['amount', function (cents) { return delimit(cents, 2, ','); }],
2605      ['amount_no_decimals', function (cents) { return delimit(cents, 0, ','); }],
2606      ['amount_with_comma_separator', function (cents) { return delimit(cents, 2, '.', ','); }],
2607      ['amount_no_decimals_with_comma_separator', function (cents) { return delimit(cents, 0, '.'); }],
2608      ['amount_with_apostrophe_separator', function (cents) { return delimit(cents, 2, "'"); }],
2609      ['amount_no_decimals_with_space_separator', function (cents) { return delimit(cents, 0, ' '); }],
2610      ['amount_with_space_separator', function (cents) { return delimit(cents, 2, ' ', ','); }],
2611      ['amount_with_period_and_space_separator', function (cents) { return delimit(cents, 2, ' '); }]
2612    ]);
2613
2614    function decodeEntities(s) {
2615      var el = window.document.createElement('textarea'); el.innerHTML = s; return el.value;
2616    }
2617
2618    function moneyFormat() {
2619      const format = window._ReStockConfig?.moneyFormat;
2620      return typeof format === 'string' ? decodeEntities(format.replace(/<[^>]*>/g, '')) : '';
2621    }
2622
2623    function formatMoney(amount) {
2624      const format = moneyFormat();
2625      const formatAmount = AMOUNT_FORMATTERS.get(AMOUNT_PLACEHOLDER.exec(format)?.[1] ?? '');
2626      if (!formatAmount) return formatMoneyIntl(amount);
2627      return format.replace(AMOUNT_PLACEHOLDER, formatAmount(Math.round(amount * 100)));
2628    }
2629
2630    function calculateCheckoutCharge(price, policy) {
2631      const { charge_type, exact_amount, percentage } = policy.checkout_charge;
2632      if (!Number.isFinite(price) || price <= 0) return 0;
2633      if (charge_type === 'PERCENTAGE') return clamp(price * ((toFiniteNumber(percentage) ?? 0) / 100), 0, price);
2634      return clamp(toFiniteNumber(exact_amount) ?? 0, 0, price);
2635    }
2636
2637    function formatRemainingDueDate(policy) {
2638      const { date_type, exact_date, after_some_days } = policy.remaining_fee_checkout_time;
2639      if (date_type === 'EXACT_DATE' && exact_date) {
2640        const parsed = new Date(exact_date + 'T12:00:00Z');
2641        if (!isNaN(parsed.getTime())) return formatDate(parsed);
2642      }
2643      if (date_type === 'AFTER_SOME_DAYS' && after_some_days) {
2644        const days = toFiniteNumber(after_some_days);
2645        if (days === null) return '';
2646        const futureDate = new Date();
2647        futureDate.setDate(futureDate.getDate() + days);
2648        return formatDate(futureDate);
2649      }
2650      return '';
2651    }
2652
2653    function paymentText(planId, variantId) {
2654      const policy = cfg.selling_plans_billing_settings?.[planId];
2655      if (!policy) return '';
2656      const contents = localizedContents();
2657      if (policy.payment_type === 'FULL') return contents.billing_full_payment_text || 'Full payment at checkout';
2658
2659      const price = inlineVariantPrice(variantId);
2660      if (price == null) return '';
2661
2662      const planPrice = finalPriceForPlan(price, planId);
2663      const dueNowAmount = calculateCheckoutCharge(planPrice, policy);
2664      const dueLaterAmount = clamp(planPrice - dueNowAmount, 0, planPrice);
2665      const dueDate = formatRemainingDueDate(policy);
2666
2667      const dueNowLabel = contents.billing_due_now_label || 'Due now';
2668      const dueLaterLabel = contents.billing_due_later_label || 'Due later on';
2669      const formattedDueNow = formatMoney(dueNowAmount);
2670      const formattedDueLater = formatMoney(dueLaterAmount);
2671      const dueLaterPart = dueDate
2672        ? formattedDueLater + ' ' + dueLaterLabel + ' ' + dueDate
2673        : formattedDueLater + ' ' + dueLaterLabel;
2674
2675      return formattedDueNow + ' ' + dueNowLabel + ' · ' + dueLaterPart;
2676    }
2677
2678    const DEFAULT_AVAILABILITY_LABEL = 'Expected availability';
2679    const DEFAULT_PAYMENT_LABEL = 'Payment';
2680    const TYPE_MARKER = 'Type';
2681
2682    function cleanLabel(raw) {
2683      return String(raw == null ? '' : raw)
2684        .replace(/[[\]]/g, '')
2685        .replace(/[\s::]+$/, '')
2686        .trim();
2687    }
2688
2689    function resolvePaymentLabel(raw) {
2690      const cleaned = cleanLabel(raw);
2691      if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === DEFAULT_AVAILABILITY_LABEL) {
2692        return DEFAULT_PAYMENT_LABEL;
2693      }
2694      return cleaned;
2695    }
2696
2697    function resolveAvailabilityLabel(raw, paymentLabel) {
2698      const cleaned = cleanLabel(raw);
2699      if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === paymentLabel) {
2700        return DEFAULT_AVAILABILITY_LABEL;
2701      }
2702      return cleaned;
2703    }
2704
2705    function visibleCartProperties(planId, variantId) {
2706      const properties = {};
2707      try {
2708        const contents = localizedContents();
2709        const paymentLabel = resolvePaymentLabel(contents.payment_label);
2710        const availabilityLabel = resolveAvailabilityLabel(contents.availability_date_label, paymentLabel);
2711        const availabilityDate = availabilityDateText(planId);
2712        if (availabilityDate) properties[availabilityLabel] = availabilityDate;
2713        const payment = paymentText(planId, variantId);
2714        if (payment) properties[paymentLabel] = payment;
2715      } catch (error) {}
2716      return properties;
2717    }
2718
2719    function setJsonProperty(item, name, value) {
2720      const properties = item.properties && typeof item.properties === 'object' && !Array.isArray(item.properties) ? item.properties : {};
2721      if (properties[name] === value) return false;
2722      properties[name] = value;
2723      item.properties = properties;
2724      return true;
2725    }
2726
2727    function coerceJsonNumbers(item) {
2728      if (item.id) item.id = Number(item.id);
2729      if (item.quantity) item.quantity = Number(item.quantity);
2730    }
2731
2732    function applyVisibleJsonProperties(item, planId, variantId) {
2733      const properties = visibleCartProperties(planId, variantId);
2734      let changed = false;
2735      for (const name of Object.keys(properties)) {
2736        if (setJsonProperty(item, name, properties[name])) changed = true;
2737      }
2738      return changed;
2739    }
2740
2741    function enrichJsonItem(item) {
2742      if (!item || typeof item !== 'object') return false;
2743      const variantId = Number(item.id);
2744      if (!Number.isFinite(variantId)) return false;
2745      const planId = findSellingPlanId(variantId);
2746      if (planId == null) return false;
2747
2748      if (cfg.is_selling_plan_removed_by_support) {
2749        const tagged = setJsonProperty(item, '_purchase_type', 'NM-preorder');
2750        const typed = setJsonProperty(item, 'Type', 'Pre-order');
2751        if (!tagged && !typed) return false;
2752        coerceJsonNumbers(item);
2753        return true;
2754      }
2755
2756      if (item.selling_plan != null && item.selling_plan !== '' && String(item.selling_plan) === String(planId)) return false;
2757
2758      setJsonProperty(item, '_purchase_type', 'NM-preorder');
2759      if (item.selling_plan == null || item.selling_plan === '') item.selling_plan = Number(planId);
2760      if (item.properties._selling_plan_id == null) setJsonProperty(item, '_selling_plan_id', String(planId));
2761      applyVisibleJsonProperties(item, planId, variantId);
2762      coerceJsonNumbers(item);
2763      return true;
2764    }
2765
2766    function enrichJson(data) {
2767      if (!data || typeof data !== 'object') return false;
2768      if (Array.isArray(data.items)) {
2769        let changed = false;
2770        for (const item of data.items) {
2771          if (enrichJsonItem(item)) changed = true;
2772        }
2773        return changed;
2774      }
2775      if (data.items && typeof data.items === 'object') return enrichJsonItem(data.items);
2776      return enrichJsonItem(data);
2777    }
2778
2779    function paramScopes(params) {
2780      const prefixes = [];
2781      const seen = {};
2782      params.forEach(function (value, key) {
2783        const match = /^items\[(\d+)\]\[id\]$/.exec(key);
2784        if (match && !seen[match[1]]) {
2785          seen[match[1]] = true;
2786          prefixes.push('items[' + match[1] + ']');
2787        }
2788      });
2789      if (prefixes.length > 0) return prefixes;
2790      if (params.get('items[id]') != null) return ['items'];
2791      if (params.get('id') != null) return [''];
2792      return [];
2793    }
2794
2795    function scopeKey(prefix, name) {
2796      return prefix ? prefix + '[' + name + ']' : name;
2797    }
2798
2799    function scopePropertyKey(prefix, name) {
2800      return prefix ? prefix + '[properties][' + name + ']' : 'properties[' + name + ']';
2801    }
2802
2803    function setParam(params, key, value) {
2804      if (params.get(key) === value) return false;
2805      params.set(key, value);
2806      return true;
2807    }
2808
2809    function applyRemovedBySupportParams(params, prefix) {
2810      const tagged = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder');
2811      const typed = setParam(params, scopePropertyKey(prefix, 'Type'), 'Pre-order');
2812      return tagged || typed;
2813    }
2814
2815    function applyVisibleParamProperties(params, prefix, planId, variantId) {
2816      const properties = visibleCartProperties(planId, variantId);
2817      let changed = false;
2818      for (const name of Object.keys(properties)) {
2819        if (setParam(params, scopePropertyKey(prefix, name), properties[name])) changed = true;
2820      }
2821      return changed;
2822    }
2823
2824    function enrichParamScope(params, prefix, planId, variantId) {
2825      if (cfg.is_selling_plan_removed_by_support) return applyRemovedBySupportParams(params, prefix);
2826
2827      const existingPlan = params.get(scopeKey(prefix, 'selling_plan'));
2828      if (existingPlan != null && existingPlan !== '' && String(existingPlan) === String(planId)) return false;
2829
2830      let changed = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder');
2831      if (existingPlan == null || existingPlan === '') {
2832        params.set(scopeKey(prefix, 'selling_plan'), String(planId));
2833        changed = true;
2834      }
2835      if (params.get(scopePropertyKey(prefix, '_selling_plan_id')) == null) {
2836        params.set(scopePropertyKey(prefix, '_selling_plan_id'), String(planId));
2837        changed = true;
2838      }
2839      if (applyVisibleParamProperties(params, prefix, planId, variantId)) changed = true;
2840      return changed;
2841    }
2842
2843    function enrichParams(params) {
2844      const scopes = paramScopes(params);
2845      let changed = false;
2846      for (const prefix of scopes) {
2847        const variantId = Number(params.get(scopeKey(prefix, 'id')));
2848        if (!Number.isFinite(variantId)) continue;
2849        const planId = findSellingPlanId(variantId);
2850        if (planId == null) continue;
2851        if (enrichParamScope(params, prefix, planId, variantId)) changed = true;
2852      }
2853      return changed;
2854    }
2855
2856    function enrichBody(body) {
2857      if (typeof body === 'string') {
2858        let jsonData = null;
2859        try {
2860          jsonData = JSON.parse(body);
2861        } catch (error) {
2862          jsonData = null;
2863        }
2864        if (jsonData && typeof jsonData === 'object') {
2865          return enrichJson(jsonData) ? { body: JSON.stringify(jsonData), changed: true } : { body: body, changed: false };
2866        }
2867        const params = new URLSearchParams(body);
2868        return enrichParams(params) ? { body: params.toString(), changed: true } : { body: body, changed: false };
2869      }
2870      if (typeof FormData !== 'undefined' && body instanceof FormData) {
2871        return { body: body, changed: enrichParams(body) };
2872      }
2873      if (typeof URLSearchParams !== 'undefined' && body instanceof URLSearchParams) {
2874        return { body: body, changed: enrichParams(body) };
2875      }
2876      return { body: body, changed: false };
2877    }
2878
2879    function extractRequestUrl(input) {
2880      if (typeof input === 'string') return input;
2881      if (typeof input?.url === 'string') return input.url;
2882      if (typeof input?.href === 'string') return input.href;
2883      return '';
2884    }
2885
2886    function maybeEnrichFetchInit(input, init) {
2887      if (!isGuardActive() || !init || init.body == null) return init;
2888      const url = extractRequestUrl(input);
2889      if (!isCartAddUrl(url) || !shouldEnrich()) return init;
2890      const enriched = enrichBody(init.body);
2891      if (!enriched.changed) return init;
2892      return { ...init, body: enriched.body };
2893    }
2894
2895    function installWrappers() {
2896      if (wrappersInstalled) return;
2897      wrappersInstalled = true;
2898
2899      const originalFetch = window.fetch;
2900      window.fetch = function (input, init) {
2901        let nextInit = init;
2902        try {
2903          nextInit = maybeEnrichFetchInit(input, init);
2904        } catch (error) {}
2905        return originalFetch.call(this || window, input, nextInit);
2906      };
2907
2908      const xhrPrototype = window.XMLHttpRequest?.prototype;
2909      if (xhrPrototype) {
2910        const originalOpen = xhrPrototype.open;
2911        const originalSend = xhrPrototype.send;
2912        xhrPrototype.open = function () {
2913          try {
2914            this.__nmEarlyGuardUrl = arguments[1];
2915          } catch (error) {}
2916          return originalOpen.apply(this, arguments);
2917        };
2918        xhrPrototype.send = function (body) {
2919          try {
2920            if (isGuardActive() && body != null && this.__nmEarlyGuardUrl != null && isCartAddUrl(this.__nmEarlyGuardUrl) && shouldEnrich()) {
2921              const enriched = enrichBody(body);
2922              if (enriched.changed) return originalSend.call(this, enriched.body);
2923            }
2924          } catch (error) {}
2925          return originalSend.apply(this, arguments);
2926        };
2927      }
2928    }
2929
2930    if (cfg?.override_cart_requests === true) installWrappers();
2931  } catch (error) {}
2932})(window);
2933</script>
2933
2934<!-- END app snippet -->
2935<!-- BEGIN app snippet: wishlist-page-container -->
2935<script id="ReStock-wishlist-page-container">
2936(function (window) {
2937  try {
2938    if (window.__nmWishlistPageContainer) return;
2939
2940    const CONTAINER_ID = 'nm-wishlist-page-root';
2941    const TARGET_SELECTORS = ['main#MainContent', 'main', '[role="main"]'];
2942    const RELATIVE_PLACEMENTS = ['before', 'after', 'start', 'end'];
2943
2944    function trimTrailingSlash(path) {
2945      const value = String(path);
2946      return value.length > 1 && value.charAt(value.length - 1) === '/' ? value.slice(0, -1) : value;
2947    }
2948
2949    function stripRoutesRoot(pathname) {
2950      const root = window.Shopify?.routes?.root;
2951      if (typeof root !== 'string') return pathname;
2952      const prefix = trimTrailingSlash(root);
2953      if (prefix === '' || prefix === '/') return pathname;
2954      if (pathname === prefix) return '/';
2955      return pathname.indexOf(prefix + '/') === 0 ? pathname.slice(prefix.length) : pathname;
2956    }
2957
2958    function isConfiguredPage(pagePath) {
2959      const pathname = window.location?.pathname;
2960      if (typeof pathname !== 'string') return false;
2961      return trimTrailingSlash(stripRoutesRoot(pathname)) === trimTrailingSlash(pagePath);
2962    }
2963
2964    function hasShareToken() {
2965      const search = window.location?.search;
2966      if (!search) return false;
2967      return !!new URLSearchParams(search).get('w');
2968    }
2969
2970    function isBootable(wishlistConfig, sdkConfig) {
2971      if (!sdkConfig || typeof sdkConfig !== 'object') return false;
2972      if (sdkConfig.app_enabled !== true) return false;
2973      if (sdkConfig.is_suspended === true) return false;
2974      return wishlistConfig.is_service_active === true;
2975    }
2976
2977    function matchElement(selector) {
2978      try {
2979        return window.document.querySelector(selector) || null;
2980      } catch (error) {
2981        return null;
2982      }
2983    }
2984
2985    function configuredTarget(placement) {
2986      if (!placement || typeof placement !== 'object') return null;
2987      if (typeof placement.css_selector !== 'string' || placement.css_selector === '') return null;
2988      const element = matchElement(placement.css_selector);
2989      if (!element) return null;
2990      const relative = RELATIVE_PLACEMENTS.indexOf(placement.relative_placement) === -1 ? 'start' : placement.relative_placement;
2991      return { element: element, relative: relative };
2992    }
2993
2994    function builtInTarget() {
2995      for (const selector of TARGET_SELECTORS) {
2996        const element = matchElement(selector);
2997        if (element) return { element: element, relative: 'start' };
2998      }
2999      return null;
3000    }
3001
3002    function insertContainer(container, target) {
3003      if (target.relative === 'before' || target.relative === 'after') {
3004        const parent = target.element.parentNode;
3005        if (!parent) return false;
3006        parent.insertBefore(container, target.relative === 'before' ? target.element : target.element.nextSibling || null);
3007        return true;
3008      }
3009      target.element.insertBefore(container, target.relative === 'end' ? null : target.element.firstChild || null);
3010      return true;
3011    }
3012
3013    function createContainer(placement) {
3014      const target = configuredTarget(placement) || builtInTarget();
3015      if (!target) return null;
3016      const container = window.document.createElement('div');
3017      container.id = CONTAINER_ID;
3018      container.setAttribute('data-nm-container-source', 'fallback');
3019      return insertContainer(container, target) ? container : null;
3020    }
3021
3022    function usablePagePath(wishlistConfig) {
3023      const myWishlist = wishlistConfig && typeof wishlistConfig === 'object' ? wishlistConfig.my_wishlist : null;
3024      return myWishlist && typeof myWishlist.page_path === 'string' ? myWishlist.page_path : '';
3025    }
3026
3027    function wishlistPageConfig(wishlistConfig) {
3028      const pagePath = usablePagePath(wishlistConfig);
3029      return pagePath && isConfiguredPage(pagePath) ? wishlistConfig.my_wishlist : null;
3030    }
3031
3032    function armContainer(myWishlist) {
3033      const container = window.document.getElementById(CONTAINER_ID) || createContainer(myWishlist.container_placement);
3034      if (container) container.removeAttribute('data-nm-page-state');
3035    }
3036
3037    function markInactive() {
3038      const container = window.document.getElementById(CONTAINER_ID);
3039      if (container) container.setAttribute('data-nm-page-state', 'inactive');
3040    }
3041
3042    function dearmContainer() {
3043      const stale = window.document.getElementById(CONTAINER_ID);
3044      if (stale && stale.getAttribute('data-nm-container-source') === 'fallback') stale.remove();
3045      else markInactive();
3046    }
3047
3048    function ensure(wishlistConfig, sdkConfig) {
3049      try {
3050        const myWishlist = wishlistPageConfig(wishlistConfig);
3051        if (!myWishlist) {
3052          if (usablePagePath(wishlistConfig)) dearmContainer();
3053          return;
3054        }
3055        const active = myWishlist.type === 'separate_page' || hasShareToken();
3056        if (active && isBootable(wishlistConfig, sdkConfig)) armContainer(myWishlist);
3057        else markInactive();
3058      } catch (error) {}
3059    }
3060
3061    window.__nmWishlistPageContainer = { v: 1, ensure: ensure };
3062
3063    const metafields = window._ReStockConfig?._metafields;
3064    ensure(metafields?.wishlistConfig, metafields?.sdkConfig);
3065  } catch (error) {}
3066})(window);
3067</script>
3067
3068<!-- END app snippet -->
3069
3070<script src="https://cdn.shopify.com/extensions/01a0e83c-88a3-702e-8442-82641270f3fe/bestpush-110/assets/restock-sdk-loader.js?v=1790602660" defer></script>
3070
3071
3072<style>
3073  #nm-wishlist-page-root {
3074    min-height: 60vh;
3075  }
3076
3077  #nm-wishlist-page-root[data-nm-container-source="fallback"] {
3078    box-sizing: border-box;
3079    max-width: 1200px;
3080    margin: 0 auto;
3081    padding: 0 1.5rem;
3082  }
3083
3084  #nm-wishlist-page-root[data-nm-page-state="inactive"]:empty {
3085    display: none;
3086  }
3087
3088  #nm-wishlist-page-root:empty {
3089    display: flex;
3090    align-items: center;
3091    justify-content: center;
3092  }
3093
3094  #nm-wishlist-page-root:empty::after {
3095    content: "";
3096    width: 36px;
3097    height: 36px;
3098    border: 3px solid #e3e3e3;
3099    border-top-color: #1773b0;
3100    border-radius: 50%;
3101    animation: nm-wishlist-page-boot-spin 0.7s linear infinite;
3102  }
3103
3104  @keyframes nm-wishlist-page-boot-spin {
3105    to {
3106      transform: rotate(360deg);
3107    }
3108  }
3109
3110  body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .main-page-title,
3111  body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .page-title,
3112  body:has(#nm-wishlist-page-root:not(:empty)) .main-page-title,
3113  body:has(#nm-wishlist-page-root:not(:empty)) .page-title {
3114    display: none !important;
3115  }
3116</style>
3117
3118
3119</div>
3119<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3119
3120</body>
3121</html>

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