PageSourceSearch

https://www.glowrecipe.com/pages/serious-about-serums

html glowrecipe.com collected 2026-09-24 18:04:17 UTC 474,997 bytes, 6,379 lines download raw bytes

1<!doctype html>
2	<html class="no-js" lang="en">
3	  
4	  <head>
4<script data-source-attribution="shopify.event_observer.bootstrap">
5(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//www.glowrecipe.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`5438301`)))})();
6//# sourceURL=event-observer-collector.js
7</script>
7
8
9
10		
10<script type="text/javascript">
11			var _conv_page_type = "index";
12			var _conv_category_id = "";
13			var _conv_category_name = null;
14			var _conv_product_id = null;
15			var _conv_product_sku = null;
16			var _conv_product_variant_id = null;
17			var _conv_product_name = null;
18			var _conv_product_price = "";
19			var _conv_customer_id = "";
20			var _conv_custom_v1 = null;
21			var _conv_custom_v2 = null;
22			var _conv_custom_v3 = "1";
23			var _conv_custom_v4 = "35.00";
24			
25			// Advanced matching: Collections and Tags (for pricing rules)
26			var _conv_product_handle = null;
27			var _conv_product_collections = [];
28			var _conv_product_tags = null;
29			
30			// Build product data map for products on this page (for related products, collection pages, etc.)
31			var _conv_products_data = {};
32			
33			
34
35			(function () {
36			// ============================================================================
37			// SHARED LOGGER UTILITY
38			// ============================================================================
39			/**
40			* Shared Logger Utility for Convert Theme Extension
41			*
42			* Provides consistent logging interface across all Convert Shopify extensions.
43			* Supports badge styling, timestamps, and emoji prefixes - matches backend logger.
44			*/
45			const createLogger = (function() {
46				const LogLevel = {TRACE: 0, DEBUG: 1, INFO: 2, WARN: 3, ERROR: 4, SILENT: 5};
47				const LogMethod = {LOG: "log", TRACE: "trace", DEBUG: "debug", INFO: "info", WARN: "warn", ERROR: "error"};
48				const LOG_EMOJIS = {debug: "🔵", info: "🟢", warn: "⚠️", error: "🔴"};
49				const LOG_LEVEL_METHODS = {};
50				LOG_LEVEL_METHODS[LogLevel.TRACE] = ["trace", "debug", "info", "warn", "error", "log"];
51				LOG_LEVEL_METHODS[LogLevel.DEBUG] = ["debug", "info", "warn", "error", "log"];
52				LOG_LEVEL_METHODS[LogLevel.INFO] = ["info", "warn", "error", "log"];
53				LOG_LEVEL_METHODS[LogLevel.WARN] = ["warn", "error"];
54				LOG_LEVEL_METHODS[LogLevel.ERROR] = ["error"];
55				LOG_LEVEL_METHODS[LogLevel.SILENT] = [];
56				function getLogLevelFromURL() {
57				try {
58					var levelParam = null;
59					// Check localStorage first (persists across pages)
60					if (typeof localStorage !== "undefined") {
61					levelParam = localStorage.getItem("convert_log_level");
62					}
63					// Check URL hash (not stripped by Shopify)
64					if (window.location.hash && window.location.hash.includes("convert_log_level")) {
65					var hashParams = new URLSearchParams(window.location.hash.substring(1));
66					var hashLevel = hashParams.get("convert_log_level");
67					if (hashLevel) {
68						levelParam = hashLevel;
69						// Save to localStorage for persistence
70						if (typeof localStorage !== "undefined") {
71						localStorage.setItem("convert_log_level", hashLevel);
72						}
73					}
74					}
75					if (levelParam) {
76					var lowerLevel = levelParam.toLowerCase();
77					if (lowerLevel === LogMethod.TRACE) return LogLevel.TRACE;
78					if (lowerLevel === LogMethod.DEBUG) return LogLevel.DEBUG;
79					if (lowerLevel === LogMethod.INFO) return LogLevel.INFO;
80					if (lowerLevel === LogMethod.WARN) return LogLevel.WARN;
81					if (lowerLevel === LogMethod.ERROR) return LogLevel.ERROR;
82					}
83				} catch (e) {}
84				return LogLevel.INFO;
85				}
86				const BADGE_STYLES = ["color: #992ae3", "background: rgba(153,42,227,0.2)", "border: 1px solid #992ae3", "border-radius: 4px", "padding: 2px 4px", "margin-right: 4px"].join(";");
87				const TIME_STYLES = "color: #788797";
88				const startTime = performance.now();
89				return function(prefix) {
90				prefix = prefix || "Convert Theme";
91				var currentLevel = getLogLevelFromURL();
92				var allowedMethods = LOG_LEVEL_METHODS[currentLevel] || LOG_LEVEL_METHODS[LogLevel.INFO];
93				const log = function(level, method, message) {
94					if (allowedMethods.indexOf(method) === -1) return;
95					const emoji = LOG_EMOJIS[level];
96					const args = Array.prototype.slice.call(arguments, 3);
97					const elapsed = ((performance.now() - startTime) / 1000).toFixed(3);
98					const paddedTime = ("000000" + elapsed).slice(-6);
99					const fullMessage = "%c" + prefix + "%c[" + paddedTime + " sec] " + emoji + " " + message;
100					switch (level) {
101					case "debug": console.debug.apply(console, [fullMessage, BADGE_STYLES, TIME_STYLES].concat(args)); break;
102					case "info": console.log.apply(console, [fullMessage, BADGE_STYLES, TIME_STYLES].concat(args)); break;
103					case "warn": console.warn.apply(console, [fullMessage, BADGE_STYLES, TIME_STYLES].concat(args)); break;
104					case "error": console.error.apply(console, [fullMessage, BADGE_STYLES, TIME_STYLES].concat(args)); break;
105					}
106				};
107				return {
108					level: currentLevel,
109					setLevel: function(level) {
110					if (typeof level === "string") {
111						var lowerLevel = level.toLowerCase();
112						if (lowerLevel === LogMethod.TRACE) currentLevel = LogLevel.TRACE;
113						else if (lowerLevel === LogMethod.DEBUG) currentLevel = LogLevel.DEBUG;
114						else if (lowerLevel === LogMethod.INFO) currentLevel = LogLevel.INFO;
115						else if (lowerLevel === LogMethod.WARN) currentLevel = LogLevel.WARN;
116						else if (lowerLevel === LogMethod.ERROR) currentLevel = LogLevel.ERROR;
117						else currentLevel = LogLevel.INFO;
118					} else { currentLevel = level; }
119					allowedMethods = LOG_LEVEL_METHODS[currentLevel] || LOG_LEVEL_METHODS[LogLevel.INFO];
120					},
121					debug: function(message) { log.apply(null, ["debug", "debug", message].concat(Array.prototype.slice.call(arguments, 1))); },
122					info: function(message) { log.apply(null, ["info", "info", message].concat(Array.prototype.slice.call(arguments, 1))); },
123					warn: function(message) { log.apply(null, ["warn", "warn", message].concat(Array.prototype.slice.call(arguments, 1))); },
124					error: function(message) { log.apply(null, ["error", "error", message].concat(Array.prototype.slice.call(arguments, 1))); }
125				};
126				};
127			})();
128
129			// Create logger instance for theme extension
130			const logger = createLogger('Convert Theme');
131
132			// ============================================================================
133			// CONVERT SHOPIFY INTEGRATION
134			// ============================================================================
135
136			// Initialize global namespace for Shopify-specific Convert functions
137			// MUST be first before any function tries to use it
138			window.convertShopify = window.convertShopify || {};
139			
140			// Define addPricingRules() to receive pricing rules from Variation JS
141			// This MUST be defined BEFORE tracking script executes (so Variation JS can call it)
142			// Source of truth: Variation JS at Convert side
143			window.convertShopify.addPricingRules = function({experienceId, variationId}, rules) {
144				this.pricingRules = this.pricingRules || {};
145				this.pricingRules[`${experienceId}-${variationId}`] = rules;
146				logger.info(`Pricing rules added for experience #${experienceId} and variation ${variationId}:`, rules.length, 'rules');
147			};
148			
149			// Load pricing settings (how to combine multiple matching rules)
150			let shopifyPricingSettings = {
151				multipleRulesStrategy: 'sequential' // default
152			};
153			
154			
155			// Debouncing for cart updates (prevent 409 conflicts)
156			let cartUpdateTimeout = null;
157			let isUpdatingCart = false;
158			
159			// Variant tracking initialization will be moved to snippet.goals_evaluated
160			// This is defined here but not called yet (waiting for ShopifyAnalytics to be ready)
161			window.convertShopify.initVariantTracking = function() {
162				const pageType = window._conv_page_type;
163				if (pageType !== 'product') {
164				logger.debug('Not a product page, skipping variant tracking');
165				return;
166				}
167				
168				// Wait for ShopifyAnalytics to be ready (with retry logic)
169				const waitForShopifyAnalytics = (callback, maxAttempts = 10, interval = 100) => {
170				let attempts = 0;
171				const checkAnalytics = () => {
172					attempts++;
173					if (window.ShopifyAnalytics?.meta?.product) {
174					logger.info('ShopifyAnalytics ready after', attempts, 'attempts');
175					callback();
176					} else if (attempts < maxAttempts) {
177					logger.debug('Waiting for ShopifyAnalytics... attempt', attempts);
178					setTimeout(checkAnalytics, interval);
179					} else {
180					logger.warn('ShopifyAnalytics not available after', maxAttempts, 'attempts, using theme events fallback');
181					callback(); // Call anyway, will fall back to theme events
182					}
183				};
184				checkAnalytics();
185				};
186				
187				// Initialize tracking once ShopifyAnalytics is ready
188				waitForShopifyAnalytics(() => {
189				// Try Proxy approach first (Primary method)
190				if (window.ShopifyAnalytics?.meta && typeof Proxy !== 'undefined') {
191					logger.info('Initializing variant tracking with Proxy API');
192					
193					// Store variant data for quick SKU lookup
194					const variantMap = {};
195					const variants = window.ShopifyAnalytics.meta.product?.variants;
196					if (variants && Array.isArray(variants)) {
197					variants.forEach(v => {
198						variantMap[v.id] = v;
199					});
200					logger.debug('Loaded', variants.length, 'variants for tracking');
201					} else {
202					logger.warn('No variants found in ShopifyAnalytics.meta');
203					// Fall through to theme events fallback
204					}
205					
206					if (Object.keys(variantMap).length > 0) {
207					const originalMeta = window.ShopifyAnalytics.meta;
208					let lastVariantId = originalMeta.selectedVariantId;
209					
210					// Create Proxy to intercept property changes
211					window.ShopifyAnalytics.meta = new Proxy(originalMeta, {
212						set(target, property, value) {
213						// Update the actual property
214						target[property] = value;
215						
216						// If selectedVariantId changed, trigger our handler (DEBOUNCED)
217						if (property === 'selectedVariantId' && value !== lastVariantId) {
218							lastVariantId = value;
219							logger.debug('Variant changed via Proxy:', value);
220							
221							const variant = variantMap[value];
222							if (variant) {
223							// Update VARIANT-SPECIFIC variables only (cast to strings)
224							window._conv_product_variant_id = String(variant.id) || null;
225							window._conv_product_sku = variant.sku ? String(variant.sku) : null;
226							// NOTE: Do NOT update _conv_product_id - it's the same for ALL variants!
227							// Product ID is set once on page load from Liquid 
228							logger.info('Updated variant:', {
229								variantId: window._conv_product_variant_id,
230								sku: window._conv_product_sku,
231								productId: window._conv_product_id // (unchanged - same for all variants)
232							});
233							
234							// Clear pricing attributes immediately on variant change
235							// This ensures price elements will be re-processed with fresh data
236							if (window.convertShopify.clearPricingAttributes) {
237								window.convertShopify.clearPricingAttributes();
238							}
239
240							// Debounce pricing update to prevent rapid-fire cart updates
241							if (cartUpdateTimeout) {
242								clearTimeout(cartUpdateTimeout);
243								logger.debug('Debouncing cart update...');
244							}
245							cartUpdateTimeout = setTimeout(() => {
246								// NOTE: Must use window.convertShopify explicitly - `this` inside Proxy handler
247								// refers to the Proxy trap object, not window.convertShopify
248								if (window.convertShopify.updatePricing) {
249								window.convertShopify.updatePricing();
250								}
251							}, 300); // Wait 300ms after last variant change
252							}
253						}
254						
255						return true; // Indicate success
256						},
257						
258						get(target, property) {
259						// Return the actual property value
260						return target[property];
261						}
262					});
263					
264					logger.info('Variant tracking Proxy installed successfully');
265					return; // Success, exit
266					}
267				}
268				
269				// Fallback: Theme events (Secondary method)
270				logger.warn('ShopifyAnalytics.meta not available or Proxy not supported, using theme events fallback');
271				const eventNames = ['variant:change', 'variantChange', 'product:variant:change'];
272				eventNames.forEach(eventName => {
273					document.addEventListener(eventName, (event) => {
274					const variant = event.detail?.variant;
275					if (variant) {
276						// Update VARIANT-SPECIFIC variables only (cast to strings)
277						window._conv_product_variant_id = variant.id ? String(variant.id) : null;
278						window._conv_product_sku = variant.sku ? String(variant.sku) : null;
279						// NOTE: Do NOT update _conv_product_id - it's the same for ALL variants!
280						// Product ID is set once on page load from Liquid 
281						logger.debug('Variant changed via event "' + eventName + '":', {
282						variantId: window._conv_product_variant_id,
283						sku: window._conv_product_sku,
284						productId: window._conv_product_id // (unchanged - same for all variants)
285						});
286
287						// Clear pricing attributes immediately on variant change
288						// This ensures price elements will be re-processed with fresh data
289						if (window.convertShopify.clearPricingAttributes) {
290						window.convertShopify.clearPricingAttributes();
291						}
292
293						// Debounce pricing update
294						if (cartUpdateTimeout) {
295						clearTimeout(cartUpdateTimeout);
296						logger.debug('Debouncing cart update...');
297						}
298						cartUpdateTimeout = setTimeout(() => {
299						// NOTE: Must use window.convertShopify explicitly - `this` inside event listener
300						// refers to the event target or is undefined, not window.convertShopify
301						if (window.convertShopify.updatePricing) {
302							window.convertShopify.updatePricing();
303						}
304						}, 300);
305					}
306					});
307				});
308				logger.info('Listening to', eventNames.length, 'theme events for variant changes');
309				}); // End waitForShopifyAnalytics callback
310			};
311			
312			/**
313			* Finds ALL matching pricing rules for a product (returns array, not just first match)
314			* Supports array of match criteria with optional regex patterns
315			* 
316			* @param {Array} rulesArray - Array of pricing rules: [{ type, value, match: [{ field, regex }] }]
317			* @param {Object} productData - Current product data with identifiers
318			* @returns {Array} Array of matched pricing rules (empty array if no matches)
319			*/
320			window.convertShopify.findAllMatchingRules = function(rulesArray, productData) {
321				if (!Array.isArray(rulesArray) || rulesArray.length === 0) return [];
322				if (!productData) return [];
323				
324				const matchedRules = [];
325				
326				// Build array of basic product identifiers (all cast as strings)
327				const productIdentifiers = [
328				productData.variantId ? String(productData.variantId) : null,
329				productData.productId ? String(productData.productId) : null,
330				productData.sku ? String(productData.sku) : null,
331				productData.handle ? String(productData.handle) : null
332				].filter(Boolean); // Remove nulls
333				
334				// Add collections with 'collection:' prefix
335				if (productData.collections && Array.isArray(productData.collections)) {
336				productData.collections.forEach(collection => {
337					productIdentifiers.push(`collection:${collection}`);
338				});
339				}
340				
341				// Always add 'collection:all' since it's a virtual collection that matches all products
342				productIdentifiers.push('collection:all');
343				
344				// Add tags with 'tag:' prefix
345				if (productData.tags && Array.isArray(productData.tags)) {
346				productData.tags.forEach(tag => {
347					productIdentifiers.push(`tag:${tag}`);
348				});
349				}
350				
351				// Match product identifiers (silent - fires per element)
352				
353				// Check ALL rules (not just first match)
354				for (const rule of rulesArray) {
355				if (!rule.match || !Array.isArray(rule.match)) continue;
356				
357				let ruleMatches = false;
358				
359				// Check each match criterion
360				for (const matchCriterion of rule.match) {
361					const field = String(matchCriterion.field); // Cast to string
362					const regex = matchCriterion.regex;
363					
364					if (regex) {
365					// Regex matching
366					// Field can be 'productId', 'handle', or empty (any field)
367					let identifiersToCheck = productIdentifiers;
368					
369					if (field === 'productId') {
370						// Only check against productId
371						identifiersToCheck = productData.productId ? [String(productData.productId)] : [];
372					} else if (field === 'handle') {
373						// Only check against handle
374						identifiersToCheck = productData.handle ? [String(productData.handle)] : [];
375					}
376					// else: check against all identifiers (field is empty or 'any')
377					
378					for (const productIdentifier of identifiersToCheck) {
379						try {
380						const regexPattern = new RegExp(regex);
381						if (regexPattern.test(productIdentifier)) {
382							ruleMatches = true;
383							break;
384						}
385						} catch (e) {
386						logger.error('Invalid regex pattern:', regex, e);
387						}
388					}
389					} else {
390					// Exact matching
391					for (const productIdentifier of productIdentifiers) {
392						if (field === productIdentifier) {
393						ruleMatches = true;
394						break;
395						}
396					}
397					}
398					
399					if (ruleMatches) break; // This rule matched, no need to check other criteria
400				}
401				
402				if (ruleMatches) {
403					matchedRules.push(rule);
404				}
405				}
406				
407				return matchedRules;
408			};
409			
410			/**
411			* Applies multiple pricing rules to a price based on the configured strategy
412			* 
413			* @param {Number} originalPrice - The original price
414			* @param {Array} matchedRules - Array of matched pricing rules
415			* @returns {Number} Final price after applying all rules
416			*/
417			window.convertShopify.applyPricingRules = function(originalPrice, matchedRules) {
418				if (!matchedRules || matchedRules.length === 0) return originalPrice;
419				
420				const strategy = shopifyPricingSettings.multipleRulesStrategy || 'sequential';
421				
422				// Apply rules using strategy (silent - fires per element)
423				
424				let finalPrice = originalPrice;
425				
426				switch (strategy) {
427				case 'sequential':
428					// Apply one after another in order
429					finalPrice = originalPrice;
430					for (const rule of matchedRules) {
431					const previousPrice = finalPrice;
432					if (rule.type === 'percentage') {
433						finalPrice = finalPrice * (1 + rule.value / 100);
434					} else {
435						finalPrice = finalPrice + rule.value;
436					}
437					logger.debug(`  → ${rule.type} ${rule.value}: ${previousPrice.toFixed(2)} → ${finalPrice.toFixed(2)}`);
438					}
439					break;
440				
441				case 'sum-then-apply':
442					// Sum all percentages, apply together, then apply fixed amounts
443					let totalPercentage = 0;
444					let totalFixed = 0;
445					
446					for (const rule of matchedRules) {
447					if (rule.type === 'percentage') {
448						totalPercentage += rule.value;
449					} else {
450						totalFixed += rule.value;
451					}
452					}
453					
454					finalPrice = originalPrice * (1 + totalPercentage / 100) + totalFixed;
455					logger.debug(`  → Total percentage: ${totalPercentage}%, Total fixed: ${totalFixed}`);
456					logger.debug(`  → ${originalPrice.toFixed(2)} × (1 + ${totalPercentage}/100) + ${totalFixed} = ${finalPrice.toFixed(2)}`);
457					break;
458				
459				case 'best-price':
460					// Calculate all possible combinations and use lowest price
461					const prices = [];
462					
463					// Original price (no discount)
464					prices.push(originalPrice);
465					
466					// Each rule applied individually
467					for (const rule of matchedRules) {
468					let price = originalPrice;
469					if (rule.type === 'percentage') {
470						price = price * (1 + rule.value / 100);
471					} else {
472						price = price + rule.value;
473					}
474					prices.push(price);
475					}
476					
477					// All rules combined sequentially
478					let combinedPrice = originalPrice;
479					for (const rule of matchedRules) {
480					if (rule.type === 'percentage') {
481						combinedPrice = combinedPrice * (1 + rule.value / 100);
482					} else {
483						combinedPrice = combinedPrice + rule.value;
484					}
485					}
486					prices.push(combinedPrice);
487					
488					// Use lowest price
489					finalPrice = Math.min(...prices);
490					logger.debug(`  → Calculated ${prices.length} price options:`, prices.map(p => p.toFixed(2)));
491					logger.debug(`  → Best price: ${finalPrice.toFixed(2)}`);
492					break;
493				}
494
495				// Prevent negative prices (minimum price $0.01 as Shopify doesn't allow $0.00)
496				if (finalPrice < 0.01) {
497				logger.warn(`Price would be negative or zero: ${finalPrice.toFixed(2)} → setting to 0.01`);
498				finalPrice = 0.01;
499				}
500
501				// Final price calculated (silent - fires per element)
502				return finalPrice;
503			};
504			
505			window._conv_q = window._conv_q || [];
506			_conv_q.push({
507				what: 'addListener',
508				params: {
509				event: 'snippet.goals_evaluated',
510				handler: () => {
511					try {
512					logger.info('Prepare shopify data');
513					convert.shopifyVersion = 'latest';
514
515					convert.shopifyPricingTags = convert.shopifyPricingTags || [];
516					const commonPriceTags = [
517						'.price-item',           // Dawn theme
518						'.price',                // Generic, many themes
519						'.product__price',       // Debut, Brooklyn, many others
520						'.product-single__price', // Product pages (Debut, Brooklyn)
521						'.product-price',        // Minimal, Supply
522						'.money',                // Generic price wrapper
523						'.price__current',       // Some newer themes
524						'.price__regular',       // Regular price display
525						'.price__sale',          // Sale price display
526						'.price-item--sale',     // Dawn theme sale price (for compare-at price products)
527					];
528					for (const tag of commonPriceTags)
529						if (!convert.shopifyPricingTags.some(t => t.trim() === tag)) convert.shopifyPricingTags.push(tag);
530
531					convert.shopifyPricingObserverDelay = convert.shopifyPricingObserverDelay || 50;
532
533					// Cart drawer selectors (skip pricing in cart - Cart Transform handles it)
534					convert.shopifyCartDrawerTags = convert.shopifyCartDrawerTags || [];
535					const commonCartDrawerTags = [
536						'cart-drawer',           // Dawn theme (web component)
537						'.cart-drawer',          // Class-based
538						'#cart-drawer',          // ID-based
539						'.drawer--cart',         // Debut theme
540						'.mini-cart',            // Brooklyn, Minimal
541						'.ajax-cart',            // Venture, Supply
542						'.cart-popup',           // Some custom themes
543						'[data-cart-drawer]',    // Data attribute pattern
544						'.side-cart',            // Custom implementations
545						'#CartDrawer',           // Debut/Brooklyn
546						'.cart__sidebar',        // Some themes
547					];
548					for (const tag of commonCartDrawerTags)
549						if (!convert.shopifyCartDrawerTags.some(t => t.trim() === tag)) convert.shopifyCartDrawerTags.push(tag);
550					
551					// window.convertShopify.addPricingRules() is already defined at the top
552					// It will be called by Variation JS to store pricing rules
553					
554					// Initialize variant tracking NOW (ShopifyAnalytics is ready at this point)
555					window.convertShopify.initVariantTracking();
556					
557					// Watch for DOM changes and reapply pricing (handles SPA navigation and late-loading elements)
558					window.convertShopify.observeDOMPricing();
559					
560					// Fetch product recommendations for product pages
561					// This populates _conv_products_data with related products (collections, tags, etc.)
562					if (window._conv_page_type === 'product') {
563						window.convertShopify.getRecommendations();
564					}
565					
566					// Apply initial pricing
567					window.convertShopify.updatePricing();
568
569					const isLegacy = Boolean(convert.data?.u_id && convert.data?.prj?.id);
570					if (isLegacy) logger.warn('Legacy tracking script detected!');
571
572					const visitorData = convert.getAllVisitorData();
573					if (isLegacy) visitorData.bucketing = enrichLegacyBucketing(visitorData.bucketing);
574					sendAnalyticsData(visitorData);
575					const experiences = getVerifiedExperiences(visitorData.bucketing, isLegacy);
576					const verifyData = {
577						experiences,
578						domain: getCookieDomain(isLegacy)
579					};
580
581					if (convert.getCookie('_conv_v')) {
582						let segments = convert.getDefaultSegments();
583						if (isLegacy) segments = transformLegacySegments(segments);
584						convert.setCookie('_conv_g', JSON.stringify(segments));
585						convert.setCookie('_conv_d', JSON.stringify(verifyData));
586					} else {
587						// cookies not writable, falling back to localStorage
588						const {visitorId, bucketing = [], segments} = visitorData;
589						const experiencesData = getExperiencesData(bucketing);
590						if (isLegacy) {
591						logger.info('Unable to remember triggered goals due to blocked cookies while the legacy tracking script is used.');
592						}
593						const convertStorage = JSON.parse(localStorage.getItem('convert.com') || '{}');
594						Object.assign(convertStorage, {
595						shopifyData: {
596							visitorId,
597							experiencesData,
598							segments,
599							...verifyData
600						}
601						});
602						localStorage.setItem('convert.com', JSON.stringify(convertStorage));
603					}
604
605					if (window !== window?.parent) return;
605 // skip updating cart notes if this is an iframe
606
607					if ('gid://shopify/WebhookSubscription/1304632164467' === 'null') {
608						logger.info('Skip updating cart attributes since webhook is not enabled');
609						return;
610					}
611
612					convert.shopifyData = {
613						accountId: '10041832',
614						projectId: '10042217',
615						currency: 'USD',
616						revenueGoalId: '100495242',
617						subscriptionGoalId: 'null',
618						oneTimePaymentGoalId: 'null',
619						visitorData
620					};
621					const cartAttributes = getCartAttributes();
622					if (!cartAttributes) return;
623
624					/**
625					* IMPORTANT:
626					* The "Buy Now" button is a form of dynamic checkout buttons
627					* which don't support cart attributes
628					* See: https://help.shopify.com/en/manual/online-store/dynamic-checkout/compatibility
629					*/
630					if (!convert.shopifyCartUpdate) convert.shopifyCartUpdate = {};
631					if (convert.shopifyCartUpdate?.request) convert.shopifyCartUpdate.request.abort();
632					if (convert.shopifyCartUpdate?.timeout) clearTimeout(convert.shopifyCartUpdate.timeout);
633					convert.shopifyCartUpdate.request = new AbortController();
634					convert.shopifyCartUpdate.timeout = setTimeout(() => {
635						logger.info('Updating cart attributes...');
636						const shopifyRoot = window?.Shopify?.routes ? Shopify.routes.root : '/';
637						fetch(`${shopifyRoot}cart/update.js`, {
638						method: 'POST',
639						headers: {
640							'Content-Type': 'application/json'
641						},
642						body: JSON.stringify({
643							attributes: cartAttributes
644						}),
645						signal: convert.shopifyCartUpdate.request.signal
646						})
647						.then(() => {
648							logger.info('Cart attributes successfully updated');
649						})
650						.catch(({message, stack}) => {
651							clearTimeout(convert.shopifyCartUpdate.timeout);
652							logger.warn(`Cart attributes update error: ${message}`);
653							logger.debug('Error:', stack || message);
654						});
655					}, 300);
656					} catch (error) {
657					logger.warn('Failed to prepare shopify data');
658					logger.debug('Error:', error);
659					}
660				}
661				}
662			});
663			function sendAnalyticsData(visitorData) {
664				if (!window?.Shopify?.analytics) return;
665				const {bucketing = []} = visitorData;
666				for (const {experienceId, variationId} of bucketing)
667				Shopify.analytics.publish('experience_impression', {
668					exp_variant_string: `CONV-${experienceId}:${variationId}`
669				});
670			}
671			function enrichLegacyBucketing(bucketing) {
672				const enrichedBucketing = [];
673				if (convert.historicalData) {
674				for (const experienceId in convert.historicalData.experiments) {
675					const variationId = convert.historicalData.experiments[experienceId].variation_id;
676					const goals = Object.keys(convert.historicalData.experiments[experienceId].goals || {}).map((goalId) => ({
677					goalId
678					}));
679					enrichedBucketing.push({
680					experienceId,
681					variationId,
682					goals
683					});
684				}
685				}
686				for (const {experienceId, variationId} of bucketing) {
687				const goals = Object.keys(convert.currentData.experiments_goals[experienceId] || {}).map((goalId) => ({
688					goalId
689				}));
690				enrichedBucketing.push({
691					experienceId,
692					variationId,
693					goals
694				});
695				}
696				return enrichedBucketing;
697			}
698			function getVerifiedExperiences(bucketing, isLegacy = false) {
699				if (isLegacy) {
700				return bucketing
701					.filter(({experienceId}) => !!convert.data.experiments[experienceId].tp !== 4)
702					.map(({experienceId}) => String(experienceId));
703				} else {
704				return bucketing
705					.filter(
706					({experienceId}) =>
707						!!convert.data.experiences.find(({id, type}) => id === experienceId && type !== 'deploy')
708					)
709					.map(({experienceId}) => String(experienceId));
710				}
711			}
712			function getExperiencesData(bucketing) {
713				if (!Array.isArray(bucketing)) return {};
714				return Object.fromEntries(
715				bucketing.map(({experienceId, variationId, goals = []}) => [
716					experienceId,
717					{
718					v: String(variationId),
719					g: Object.fromEntries(goals.map(({goalId}) => [String(goalId), 1]))
720					}
721				])
722				);
723			}
724			function getCookieDomain(isLegacy = false) {
725				const currentHost = location.hostname.replace(/^www\./, '');
726				let domains, cookieDomain;
727				if (isLegacy) {
728				domains = convert.data.prj.asoc_domains;
729				if (domains[currentHost]) {
730					return (cookieDomain = `.${currentHost}`);
731				} else {
732					for (host in domains) {
733					if (matchWildcard(currentHost, host)) {
734						cookieDomain = `.${domains[host]}`;
735					}
736					}
737				}
738				} else {
739				domains = convert.data.project.domains;
740				if (domains.find(({tld}) => tld === currentHost)) return (cookieDomain = `.${currentHost}`);
741				for (const {tld, hosts} of domains) {
742					if (hosts.find((host) => host.includes(currentHost) || matchWildcard(currentHost, host))) {
743					cookieDomain = `.${tld}`;
744					break;
745					}
746				}
747				}
748				if (cookieDomain) return cookieDomain;
749				else return false;
750
751				function matchWildcard(toMatch, wildcard) {
752				const regex = new RegExp(`^${wildcard.replace(/\./g, '\\.').replace(/\?/g, '\\?').split('*').join('.*?')}$`);
753				return regex.test(`www.${toMatch}`) || regex.test(toMatch);
754				}
755			}
756			function transformLegacySegments(segments) {
757				const {ctry, new: visitorType, cust, ...transformed} = segments;
758				transformed.visitorType = visitorType ? 'new' : 'returning';
759				if (ctry) transformed.country = ctry;
760				if (cust) transformed.customSegments = cust;
761				return transformed;
762			}
763			function getCartAttributes() {
764				const {shopifyData} = convert;
765				if (!shopifyData || typeof shopifyData !== 'object') return;
766				const {visitorData} = shopifyData;
767				if (!visitorData || typeof visitorData !== 'object') return;
768				const {bucketing = []} = visitorData;
769				const bucketingData = Object.fromEntries(
770				bucketing.map(({experienceId, variationId}) => [`experience_${experienceId}`, variationId])
771				);
772				return Object.assign({}, bucketingData, {
773				__data: btoa(JSON.stringify(shopifyData))
774				});
775			}
776
777			/**
778			* Check if element is inside a cart drawer/mini-cart container
779			* Cart Transform handles all cart/checkout pricing, so skip these elements
780			* @param {Element} element - DOM element to check
781			* @returns {boolean} True if inside cart container
782			*/
783			window.convertShopify.isInsideCartContainer = function(element) {
784				if (!element || !convert.shopifyCartDrawerTags || convert.shopifyCartDrawerTags.length === 0) {
785				return false;
786				}
787
788				// Check if element or any ancestor matches cart drawer selectors
789				let currentElement = element;
790				while (currentElement && currentElement !== document.documentElement) {
791				for (const selector of convert.shopifyCartDrawerTags) {
792					try {
793					if (currentElement.matches && currentElement.matches(selector)) {
794						logger.debug('Skipping element inside cart container:', selector, 'Element:', element.className || element.tagName);
795						return true;
796					}
797					} catch (e) {
798					// Invalid selector, skip it
799					logger.warn('Invalid cart drawer selector:', selector, e);
800					}
801				}
802				currentElement = currentElement.parentElement;
803				}
804
805				return false;
806			};
807
808			/**
809			* Extract product handle from a DOM element by traversing up the tree
810			* Checks for data attributes (data-handle, data-url, data-product-handle) first,
811			* then falls back to finding <a href="/products/..."> links
812			* @param {Element} element - DOM element to start search from
813			* @returns {string|null} Product handle or null if not found
814			*/
815			window.convertShopify.extractProductHandleFromElement = function(element) {
816				let currentElement = element;
817
818				while (currentElement && currentElement !== document.body) {
819				// Priority 1: Check for data-handle attribute (common in Shopify themes)
820				const handleAttr = currentElement.getAttribute && currentElement.getAttribute('data-handle');
821				if (handleAttr) {
822					logger.debug('Found product handle via data-handle:', handleAttr);
823					return handleAttr;
824				}
825
826				// Priority 2: Check for data-product-handle attribute (another common pattern)
827				const productHandleAttr = currentElement.getAttribute && currentElement.getAttribute('data-product-handle');
828				if (productHandleAttr) {
829					logger.debug('Found product handle via data-product-handle:', productHandleAttr);
830					return productHandleAttr;
831				}
832
833				// Priority 3: Check for data-url attribute with /products/ path
834				const urlAttr = currentElement.getAttribute && currentElement.getAttribute('data-url');
835				if (urlAttr) {
836					const urlMatch = urlAttr.match(/\/products\/([^?#\/]+)/);
837					if (urlMatch) {
838					logger.debug('Found product handle via data-url:', urlMatch[1]);
839					return urlMatch[1];
840					}
841				}
842
843				// Priority 4: Check for <a href="/products/..."> link in this element
844				const productLink = currentElement.querySelector && currentElement.querySelector('a[href*="/products/"]');
845				if (productLink) {
846					const href = productLink.getAttribute('href');
847					const linkMatch = href && href.match(/\/products\/([^?#\/]+)/);
848					if (linkMatch) {
849					logger.debug('Found product handle via product link:', linkMatch[1]);
850					return linkMatch[1];
851					}
852				}
853
854				currentElement = currentElement.parentElement;
855				}
856
857				return null;
858			};
859
860			window.convertShopify.updateDOMPricing = function(productId, matchedRules, targetElement = document) {
861				// Changed signature: now accepts array of rules instead of single rule
862				if (!matchedRules || matchedRules.length === 0) return;
863				// Skip DOM updates if no pricing tags defined (customer prefers Visual Editor)
864				if (convert.shopifyPricingTags.length === 0) return;
865
866				// Temporarily disconnect MutationObserver to prevent it from detecting our own changes
867				const observer = this.pricingObserver;
868				if (observer) {
869				observer.disconnect();
870				logger.debug('MutationObserver disconnected for pricing update');
871				}
872
873				try {
874				// Use predefined selectors to find price elements efficiently
875				const priceElements = targetElement.querySelectorAll(convert.shopifyPricingTags.join(', '));
876				// Processing price elements (silent - fires frequently)
877				priceElements.forEach(element => {
878					// Skip cart containers (Cart Transform handles those)
879					if (this.isInsideCartContainer(element)) {
880					return;
881					}
882
883					// Skip elements that were already processed OR have a processed ancestor
884					// (prevents re-processing nested elements when parent innerHTML is updated)
885					let checkElement = element;
886					while (checkElement && checkElement !== document.documentElement) {
887					if (checkElement.hasAttribute('data-convert')) {
888						logger.debug('Skipping element (self or ancestor processed):', element.className);
889						return;
890					}
891					checkElement = checkElement.parentElement;
892					}
893
894					// Skip elements if they contain a child that will be/was processed
895					// (prevents parent from overwriting child's update)
896					const childPriceElements = element.querySelectorAll(convert.shopifyPricingTags.join(', '));
897					if (childPriceElements.length > 0) {
898					logger.debug('Skipping parent element - has', childPriceElements.length, 'child price elements:', element.className);
899					return;
900					}
901
902					// Check if we've already stored the original price
903					let originalPrice;
904					let currencyPrefix = '';
905					let currencySuffix = '';
906					let priceValue;
907					
908					if (element.hasAttribute('data-convert-original-price')) {
909					// Use stored original price (prevents compounding)
910					originalPrice = parseFloat(element.getAttribute('data-convert-original-price'));
911					currencyPrefix = element.getAttribute('data-convert-currency-prefix') || '';
912					currencySuffix = element.getAttribute('data-convert-currency-suffix') || '';
913					// Get current displayed value for replacement
914					const fullText = element.textContent.trim();
915					const currentMatch = fullText.match(/([^\d]*?)([\d,]+\.?\d+)([^\d]*?)/);
916					priceValue = currentMatch ? currentMatch[2] : null;
917					logger.debug('Using stored original price:', originalPrice, 'for element:', element.className);
918					} else {
919					// First time - extract and store original price
920					const fullText = element.textContent.trim();
921					// Match any currency format: $20.00, EUR 21.00, 20,00 €, ¥1000, etc.
922					const priceMatch = fullText.match(/([^\d]*?)([\d,]+\.?\d+)([^\d]*?)/);
923					if (!priceMatch) {
924						logger.error('No price match in element:', element, fullText);
925						return;
926					}
927					currencyPrefix = priceMatch[1].trim();
928					priceValue = priceMatch[2];
929					currencySuffix = priceMatch[3].trim();
930					originalPrice = parseFloat(priceValue.replace(',', ''));
931
932					if (isNaN(originalPrice)) {
933						logger.error('Invalid price:', priceValue);
934						return;
935					}
936
937					// Skip placeholder values (like $0 or $0.00) - themes often show these during DOM transitions
938					// before the real price is loaded. We'll catch the real price on the next MutationObserver cycle.
939					if (originalPrice === 0) {
940						logger.debug('Skipping placeholder price ($0) in element:', element.className);
941						return;
942					}
943
944					// Store original price and currency format for future updates
945					element.setAttribute('data-convert-original-price', originalPrice.toString());
946					element.setAttribute('data-convert-currency-prefix', currencyPrefix);
947					element.setAttribute('data-convert-currency-suffix', currencySuffix);
948					logger.debug('Stored original price:', originalPrice, 'for element:', element.className);
949					}
950					
951					if (!priceValue) {
952					logger.error('Could not extract price value');
953					return;
954					}
955					
956					// Use applyPricingRules to combine multiple rules based on strategy
957					const newPrice = this.applyPricingRules(originalPrice, matchedRules);
958
959					// Mark element as modified BEFORE updating innerHTML (prevents MutationObserver from reprocessing)
960					element.setAttribute('data-convert', '');
961
962					// Preserve original currency format
963					const formattedValue = newPrice.toFixed(2);
964
965					// Debug: Log innerHTML before replacement
966					// const beforeHTML = element.innerHTML;
967					// console.debug('🔍 Before replacement - innerHTML:', beforeHTML);
968					// console.debug('🔍 Searching for priceValue:', priceValue, 'to replace with:', formattedValue);
969
970					// Replace the price in innerHTML (works with nested structures)
971					element.innerHTML = element.innerHTML.replace(priceValue, formattedValue);
972
973					// Debug: Verify replacement actually happened
974					// const afterHTML = element.innerHTML;
975					// console.debug('🔍 After replacement - innerHTML:', afterHTML);
976
977					// if (beforeHTML === afterHTML) {
978					//   logger.error('❌ innerHTML was NOT updated! Replace failed. Element:', element);
979					//   logger.error('  priceValue:', priceValue, 'not found in innerHTML:', beforeHTML);
980					// } else {
981					//   logger.info('Price updated:', originalPrice, '→', newPrice, 'in element:', element.className);
982					// }
983					logger.info('Final price:', originalPrice.toFixed(2), '→', newPrice.toFixed(2));
984				});
985				} finally {
986				// Reconnect MutationObserver after all price updates are complete
987				if (observer) {
988					observer.observe(document.documentElement, { childList: true, subtree: true });
989					logger.debug('MutationObserver reconnected after pricing update');
990				}
991				}
992			}
993			/**
994			* Get active pricing rules based on current variation assignment
995			* Returns an array of rules for the active variation
996			*
997			* @returns {Array} Array of active pricing rules with match objects
998			*/
999			window.convertShopify.getActivePricingRules = function() {
1000				// Pricing rules are now stored by Variation JS via convert.addShopifyPr
1000icing()
1001				const pricingRulesMap = this.pricingRules || {};
1002
1003				const firstKey = Object.keys(pricingRulesMap)[0];
1004				if (!firstKey) {
1005				logger.debug('No pricing rules configured (waiting for Variation JS)');
1006				return [];
1007				}
1008
1009				const firstValue = pricingRulesMap[firstKey];
1010				const isArrayBased = Array.isArray(firstValue);
1011
1012				if (!isArrayBased) {
1013				logger.error('Invalid pricing rules format - expected array-based structure');
1014				return [];
1015				}
1016
1017				// Validate match structure
1018				const hasCorrectMatchStructure = firstValue[0] && Array.isArray(firstValue[0].match);
1019				if (!hasCorrectMatchStructure) {
1020				logger.error('Invalid match structure - expected match to be an array');
1021				return [];
1022				}
1023
1024				// Array-based format with match array: variation-specific mapping
1025				// Use getAllVisitorData() to get both current and historical bucketing data
1026				const visitorData = convert.getAllVisitorData();
1027				const bucketing = visitorData.bucketing || [];
1028
1029				// Collect all rules from active variations
1030				let allRules = [];
1031				for (const {experienceId, variationId} of bucketing) {
1032				if (experienceId && variationId) {
1033					const variationKey = `${experienceId}-${variationId}`;
1034					if (pricingRulesMap[variationKey]) {
1035					const rulesForVariation = pricingRulesMap[variationKey];
1036					// Append rules (later experiences can override via matching logic)
1037					allRules = allRules.concat(rulesForVariation);
1038					}
1039				}
1040				}
1041
1042				return allRules;
1043			};
1044			// Fetch product recommendations using Shopify Ajax API
1045			// Populates _conv_products_data with recommended products (collections, tags, etc.)
1046			window.convertShopify.getRecommendations = function() {
1047				const productId = window._conv_product_id_for_recommendations;
1048				
1049				if (!productId) {
1050				logger.error('No product ID available for recommendations');
1051				return;
1052				}
1053				
1054				const apiUrl = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) 
1055				? window.Shopify.routes.root + 'recommendations/products.json?product_id=' + productId + '&limit=10&intent=related'
1056				: '/recommendations/products.json?product_id=' + productId + '&limit=10&intent=related';
1057				
1058				logger.debug('Fetching product recommendations for product ID:', productId);
1059				
1060				fetch(apiUrl)
1061				.then(response => response.json())
1062				.then(data => {
1063					if (data.products && data.products.length > 0) {
1064					logger.debug('Fetched ' + data.products.length + ' product recommendations');
1065					data.products.forEach(function(product) {
1066						if (product.handle && !window._conv_products_data[product.handle]) {
1067						window._conv_products_data[product.handle] = {
1068							handle: product.handle,
1069							collections: product.collections || [],
1070							tags: product.tags || [],
1071							id: product.id,
1072							title: product.title
1073						};
1074						logger.debug('Added recommended product to map:', product.handle);
1075						}
1076					});
1077
1078					// Trigger re-application of pricing rules for any price elements that might be visible
1079					// This ensures related product prices get updated after we have their data
1080					if (this.applyPricingToPage) {
1081						logger.debug('Re-applying pricing after recommendations loaded');
1082						this.applyPricingToPage();
1083					}
1084					} else {
1085					logger.debug('No product recommendations returned');
1086					}
1087				})
1088				.catch(error => {
1089					logger.warn('Failed to fetch product recommendations:', error);
1090				});
1091			};
1092			
1093			// Helper function to apply pricing to all price elements on the page
1094			// Can be called after recommendations load or on SPA navigation
1095			window.convertShopify.applyPricingToPage = function() {
1096				// applyPricingToPage (silent - fires on DOM settle)
1097				const activePricingRules = this.getActivePricingRules();
1098				const hasRules = activePricingRules.length > 0;
1099				
1100				if (!hasRules) {
1101				logger.debug('No active pricing rules - skipping');
1102				return;
1103				}
1104				
1105				const pageType = window._conv_page_type;
1106				
1107				// Skip cart pages
1108				if (pageType === 'cart') {
1109				logger.debug('Cart page - skipping (Cart Transform handles pricing)');
1110				return;
1111				}
1112				
1113				// Find all price elements
1114				const priceElements = document.querySelectorAll(convert.shopifyPr
1114icingTags.join(', '));
1115				// Found price elements to process (silent)
1116				
1117				// For each price element, find its product and apply pricing
1118				priceElements.forEach(priceElement => {
1119				// Skip cart containers (Cart Transform handles those)
1120				if (this.isInsideCartContainer(priceElement)) {
1121					return;
1122				}
1123
1124				// Clear data-convert to allow repricing (for variant changes, SPA navigation, etc.)
1125				if (priceElement.hasAttribute('data-convert')) {
1126					priceElement.removeAttribute('data-convert');
1127					logger.debug('Cleared data-convert for repricing:', priceElement.className);
1128				}
1129
1130				// Extract product handle from DOM (checks data-handle, data-url, then <a> links)
1131				let productHandle = this.extractProductHandleFromElement(priceElement);
1132
1133				// Fallback to main product handle if on product page
1134				if (!productHandle && pageType === 'product') {
1135					productHandle = window._conv_product_handle;
1136				}
1137
1138				if (!productHandle) return;
1139				
1140				// Get product data from map (populated by Liquid or Ajax API)
1141				const productDataFromMap = window._conv_products_data[productHandle];
1142				
1143				// Build product data
1144				const productData = productDataFromMap ? {
1145					variantId: null,
1146					productId: String(productDataFromMap.id),
1147					sku: null,
1148					handle: String(productHandle),
1149					collections: productDataFromMap.collections || [],
1150					tags: productDataFromMap.tags || []
1151				} : {
1152					variantId: null,
1153					productId: null,
1154					sku: null,
1155					handle: String(productHandle),
1156					collections: [],
1157					tags: []
1158				};
1159
1160				// Find ALL matching rules for this product
1161				const matchedRules = this.findAllMatchingRules(activePricingRules, productData);
1162
1163				if (matchedRules.length > 0) {
1164					this.updateDOMPricing(productHandle, matchedRules, priceElement.parentElement || priceElement);
1165				}
1166				});
1167			};
1168
1169			// Refresh cart drawer to reflect updated pricing from Cart Transform
1170			// Only works with Dawn theme's cart-drawer element that has renderContents method
1171			window.convertShopify.refreshCartDrawer = function() {
1172				const cartDrawer = document.querySelector('cart-drawer');
1173
1174				const executeRefresh = (cartDrawer) => {
1175				if (cartDrawer) {
1176					// Only working approach: cart drawer with renderContents method
1177					if (typeof cartDrawer.renderContents === 'function') {
1178					logger.debug('Refreshing cart drawer using renderContents');
1179
1180					const sectionsToRender = typeof cartDrawer.getSectionsToRender === 'function'
1181						? cartDrawer.getSectionsToRender().map(section => section.id)
1182						: ['cart-drawer', 'cart-icon-bubble'];
1183
1184					// Convert array to comma-separated string as required by Shopify Cart API
1185					const sectionsString = sectionsToRender.join(',');
1186
1187					fetch('/cart.js')
1188						.then(res => res.json())
1189						.then(cart => {
1190						if (cart.items && cart.items.length > 0) {
1191							logger.debug(`Updating ${cart.items.length} cart items in a single request to trigger Cart Transform`);
1192
1193							// Build updates object for ALL items at once
1194							// Use variant IDs (not line item keys) for /cart/update.js
1195							const updates = {};
1196							cart.items.forEach(item => {
1197							// If multiple items have same variant ID, sum their quantities
1198							const variantId = item.variant_id;
1199							if (updates[variantId]) {
1200								updates[variantId] += item.quantity;
1201							} else {
1202								updates[variantId] = item.quantity;
1203							}
1204							});
1205
1206							logger.debug('Updates payload:', updates);
1207							logger.debug('Sections to render:', sectionsString);
1208
1209							// Update ALL items in a SINGLE request - triggers Cart Transform once for entire cart
1210							return fetch('/cart/update.js', {
1211							method: 'POST',
1212							headers: { 'Content-Type': 'application/json' },
1213							body: JSON.stringify({
1214								updates: updates,
1215								sections: sectionsString
1216							})
1217							})
1218							.then(res => {
1219							if (!res.ok) {
1220								throw new Error(`HTTP ${res.status}: ${res.statusText}`);
1221							}
1222							return res.json();
1223							})
1224							.then((data) => {
1225							logger.info('All cart items updated, Cart Transform applied');
1226							logger.debug('Full response data:', data);
1227							logger.debug('data.sections:', data.sections);
1228							return data;
1229							});
1230						}
1231						return null;
1232						})
1233						.then(data => {
1234						if (data) {
1235							// CRITICAL FIX: Prevent drawer from opening during refresh (flicker-free)
1236							// renderContents() calls this.open() inside a setTimeout
1237							// We temporarily override open() to prevent it from executing
1238							// Standard behavior: cart drawer is ALWAYS closed after page refresh
1239							const originalOpen = cartDrawer.open;
1240							let openCallBlocked = false;
1241
1242							// Temporarily disable open()
1243							cartDrawer.open = function() {
1244							openCallBlocked = true;
1245							logger.debug('Cart drawer open() blocked during refresh (preventing flicker)');
1246							};
1247
1248							// Render contents (will try to call open() but it's disabled)
1249							cartDrawer.renderContents(data);
1250							logger.info('Cart drawer refreshed successfully');
1251
1252							// Restore original open() method after renderContents completes
1253							setTimeout(() => {
1254							cartDrawer.open = originalOpen;
1255							if (openCallBlocked) {
1256								logger.debug('Cart drawer kept closed (preserving default Shopify behavior)');
1257							}
1258							}, 50);
1259						}
1260						})
1261						.catch(error => {
1262						logger.warn('Cart drawer refresh error:', error);
1263						});
1264
1265					return;
1266					}
1267
1268					// Cart drawer found but doesn't have renderContents method
1269					logger.warn('⚠️ Cart drawer element found but does not have renderContents() method.');
1270					logger.warn('⚠️ Cannot reliably refresh cart drawer to show updated prices from Cart Transform.');
1271					logger.warn('⚠️ Prices will update correctly after: page reload, manual cart refresh, or at checkout.');
1272					logger.debug('Dispatching fallback events (may not work on all themes)');
1273				} else {
1274					// No cart drawer found at all
1275					logger.debug('Cart drawer web component not found, dispatching custom events');
1276				}
1277
1278				// Fallback: Dispatch custom events (may not work reliably)
1279				document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', {bubbles: true}));
1280				document.documentElement.dispatchEvent(new CustomEvent('cart:updated', {bubbles: true}));
1281				logger.warn('Cart drawer may require page reload to show updated prices');
1282				};
1283
1284				// Try to find cart drawer immediately
1285				if (cartDrawer) {
1286				executeRefresh(cartDrawer);
1287				return;
1288				}
1289
1290				// Cart drawer not found yet - use MutationObserver to wait for it
1291				logger.debug('Cart drawer not found, waiting for it to be added to DOM...');
1292				const observer = new MutationObserver((mutations, obs) => {
1293				const cartDrawer = document.querySelector('cart-drawer');
1294				if (cartDrawer) {
1295					obs.disconnect();
1296					logger.debug('Cart drawer element detected');
1297					executeRefresh(cartDrawer);
1298				}
1299				});
1300
1301				observer.observe(document.body, {
1302				childList: true,
1303				subtree: true
1304				});
1305
1306				// Stop observing after 5 seconds and fallback
1307				setTimeout(() => {
1308				observer.disconnect();
1309				const cartDrawer = document.querySelector('cart-drawer');
1310				if (!cartDrawer) {
1311					logger.debug('Cart drawer not detected after timeout, using fallback');
1312					executeRefresh(null);
1313				}
1314				}, 5000);
1315			};
1316
1317			// Add pricing functions to window.convertShopify namespace
1318			window.convertShopify.updatePricing = function() {
1319				// updatePricing (silent - fires on variant change)
1320				// Get active pricing rules based on variation assignment
1321				const activePricingRules = this.getActivePricingRules();
1322				const hasRules = activePricingRules.length > 0;
1323				const pageType = window._conv_page_type;
1324
1325				// Cart pages: Skip DOM updates - Cart Transform handles checkout pricing
1326				if (pageType === 'cart') return;
1327				
1328				// Product page: use window variables and update cart
1329				if (pageType === 'product') {
1330				// Build product data object with all available identifiers (cast to strings)
1331				const productData = {
1332					variantId: window._conv_product_variant_id ? String(window._conv_product_variant_id) : null,
1333					productId: window._conv_product_id ? String(window._conv_product_id) : null,
1334					sku: window._conv_product_sku ? String(window._conv_product_sku) : null,
1335					handle: window._conv_product_handle ? String(window._conv_product_handle) : null,
1336					collections: window._conv_product_collections || [],
1337					tags: window._conv_product_tags || []
1338				};
1339				
1340				logger.debug('Product data:', productData);
1341				
1342				if (!productData.variantId && !productData.productId && !productData.sku) {
1343					logger.error('No product identifiers found');
1344					return;
1345				}
1346				
1347				// Find ALL matching pricing rules for main product
1348				const matchedRules = this.findAllMatchingRules(activePricingRules, productData);
1349
1350				// Log for troubleshooting (fires once per updatePricing call)
1351				if (matchedRules.length > 0) {
1352					logger.info('Total rules matched:', matchedRules.length);
1353				}
1354
1355				// Use applyPricingToPage() to handle DOM updates
1356				// This ensures each price element (main + related products) is evaluated individually
1357				if (hasRules) {
1358					// Use applyPricingToPage() with retry logic (prices may load late on SPA navigation)
1359					const updateProductPrices = () => {
1360					const priceElements = document.querySelectorAll(convert.shopifyPr
1360icingTags.join(', '));
1361					if (priceElements.length === 0) {
1362						// Retry in 100ms (silent)
1363						setTimeout(updateProductPrices, 100);
1364						return;
1365					}
1366					// Call applyPricingToPage to handle main + related products individually
1367					this.applyPricingToPage();
1368					};
1369					// Start with a brief delay to allow DOM to paint
1370					requestAnimationFrame(() => setTimeout(updateProductPrices, convert.shopifyPricingObserverDelay));
1371				} else {
1372					logger.debug('Original variation (no rules) - DOM prices unchanged');
1373				}
1374				// Update cart attributes for the current product only
1375				// NEVER clear rules for other products that were already added to cart
1376				// Use lock to prevent concurrent cart updates (409 Conflict)
1377				if (isUpdatingCart) {
1378					logger.debug('Cart update already in progress, skipping...');
1379					return;
1380				}
1381
1382				// Skip cart update if no variant ID (can't update without it)
1383				if (!productData.variantId) {
1384					logger.debug('No variant ID, skipping cart update');
1385					return;
1386				}
1387
1388				isUpdatingCart = true;
1389				logger.debug('Cart update lock acquired');
1390
1391				// Calculate hash of current active pricing rules to detect when they change
1392				const currentRulesHash = JSON.stringify(activePricingRules);
1393
1394				// Read pricing rules from cookie (NOT from /cart.js - private attributes are hidden!)
1395				// Cookie persists across pages and subdomains
1396				const cookieRules = convert.getCookie('_conv_p');
1397				let cookieData = {};
1398				let rules = {};
1399
1400				try {
1401					cookieData = cookieRules ? JSON.parse(cookieRules) : {};
1402
1403					// ALWAYS preserve existing rules for products in cart
1404					// Even if hash changed (rules updated), we can't recalculate other products without their data
1405					// Those products will update when user revisits their pages
1406
1407					// Extract existing variant rules (excluding _meta)
1408					rules = {};
1409					for (const key in cookieData) {
1410					if (cookieData.hasOwnProperty(key) && key !== '_meta') {
1411						rules[key] = cookieData[key];
1412					}
1413					}
1414
1415					if (!cookieData._meta) {
1416					logger.debug('No _meta in cookie - first time or old format');
1417					} else if (cookieData._meta.hash === currentRulesHash) {
1418					logger.debug('Existing rules from cookie (rules unchanged):', rules);
1419					} else {
1420					logger.debug('Pricing rules changed - keeping existing rules, will update current product only');
1421					}
1422
1423					logger.debug('Loaded existing rules from cookie:', rules);
1424				} catch (e) {
1425					logger.error('Failed to parse pricing rules cookie - cookie may be corrupted:', e);
1426					// Do NOT reset rules = {} here - just leave it as initialized empty object
1427					// We cannot recover from corrupted cookie, user will need to re-add products
1428				}
1429
1430				// Update rules for THIS product only
1431				if (hasRules && matchedRules.length > 0) {
1432					// Store ALL matched rules by variantId (array format)
1433					rules[productData.variantId] = matchedRules.map(rule => ({
1434					type: rule.type,
1435					value: rule.value
1436					}));
1437					logger.debug(`Updating cart with ${matchedRules.length} pricing rules for variantId`, productData.variantId);
1438				} else if (hasRules && matchedRules.length === 0) {
1439					// Remove THIS variant's rules if no rules apply to it
1440					delete rules[productData.variantId];
1441					logger.debug('Removing pricing rules for variantId', productData.variantId);
1442				} else {
1443					// No active pricing rules at all (getActivePricingRules returned empty)
1444					// This could mean:
1445					// 1. Original variation (no rules configured)
1446					// 2. Timing issue (Variation JS hasn't executed yet)
1447					// 3. Historical bucketing but pricing rules not found
1448					// DECISION: Skip cart update to preserve existing rules for other products
1449					logger.debug('No active pricing rules found - skipping cart update to preserve existing rules');
1450					isUpdatingCart = false;
1451					return;
1452				}
1453
1454				// Save updated rules to cookie (for next page) with metadata
1455				const cookieDataToStore = {
1456					_meta: {
1457					hash: currentRulesHash
1458					},
1459					...rules
1460				};
1461				const rulesJson = JSON.stringify(cookieDataToStore);
1462				const rulesSize = new Blob([rulesJson]).size;
1463
1464				// Warn if approaching 4KB cookie limit
1465				if (rulesSize > 4096) { // 4KB exceeded
1466					logger.info('Pricing rules cookie EXCEEDS 4KB limit (' + rulesSize + ' bytes)! Cookie may fail to set. Some products in cart will lose pricing rules.');
1467				} else if (rulesSize > 3072) { // 3KB threshold (warn before hitting limit)
1468					logger.info('Pricing rules cookie is approaching 4KB limit (' + rulesSize + ' bytes). Large carts with many products may lose pricing rules. Consider reducing the number of rules per product.');
1469				}
1470
1471				convert.setCookie('_conv_p', rulesJson);
1472				logger.info('Updated pricing rules cookie (' + rulesSize + ' bytes)');
1473
1474				logger.debug('Cart rules to store (excluding metadata):', rules);
1475				logger.debug('Cart rules JSON:', JSON.stringify(rules));
1476
1477				// Also update cart attribute (for Cart Transform at checkout)
1478				// Note: This is a private attribute (__conv_pricing_rules) so it won't be returned by /cart.js
1479				// but Cart Transform CAN read it at checkout
1480				// Store ONLY variant rules (exclude _meta) in cart attribute
1481				const hasAnyRules = Object.keys(rules).length > 0;
1482				const attributeValue = hasAnyRules ? JSON.stringify(rules) : '';
1483
1484				logger.debug('Cart attribute value to send:', attributeValue);
1485
1486				if (hasAnyRules) {
1487					logger.debug('Setting cart attribute with rules');
1488				} else {
1489					logger.debug('Removing cart attribute (no rules)');
1490				}
1491
1492				// Also store pricing strategy so Cart Transform uses the same strategy
1493				const strategyValue = hasAnyRules ? JSON.stringify(shopifyPricingSettings) : '';
1494				logger.debug('Cart strategy to send:', strategyValue);
1495
1496				fetch('/cart/update.js', {
1497					method: 'POST',
1498					headers: { 'Content-Type': 'application/json' },
1499					body: JSON.stringify({
1500					attributes: {
1501						__conv_pricing_rules: attributeValue,
1502						__conv_pricing_settings: strategyValue
1503					}
1504					})
1505				})
1506					.then(response => {
1507					if (!response.ok) {
1508						logger.error('Cart update failed:', response.status, response.statusText);
1509						return response.text().then(text => logger.error('Response:', text));
1510					}
1511					return response.json();
1512					})
1513					.then(cart => {
1514					if (cart) {
1515						logger.info('Cart updated successfully');
1516						logger.info('Verify:', cart.attributes);
1517
1518						// Refresh cart drawer to reflect updated pricing from Cart Transform
1519						this.refreshCartDrawer();
1520					}
1521					})
1522					.catch(error => {
1523					logger.error('Cart update error:', error);
1524					})
1525					.finally(() => {
1526					isUpdatingCart = false;
1527					logger.debug('Cart update lock released');
1528					});
1529				}
1530				// All other pages (including collection, index, etc.): update DOM prices
1531				else {
1532				// Skip if no active pricing rules (original variation)
1533				if (!hasRules) return;
1534
1535				const updatePagePrices = () => {
1536					if (convert.shopifyPricingTags.length === 0) return;
1537					// Find all price elements on the page
1538					const priceElements = document.querySelectorAll(convert.shopifyPricingTags.join(', '));
1539					if (priceElements.length === 0) {
1540					// Retry in 100ms (silent)
1541					setTimeout(updatePagePrices, 100);
1542					return;
1543					}
1544					// For each price element, find its product and apply pricing
1545					priceElements.forEach(priceElement => {
1546					// Skip cart containers (Cart Transform handles those)
1547					if (this.isInsideCartContainer(priceElement)) {
1548						return;
1549					}
1550
1551					// Skip if already processed
1552					if (priceElement.hasAttribute('data-convert')) return;
1553
1554					// Extract product handle from DOM (checks data-handle, data-url, then <a> links)
1555					const productHandle = this.extractProductHandleFromElement(priceElement);
1556					if (!productHandle) {
1557						logger.error('Could not find product for price element:', priceElement.className);
1558						return;
1559					}
1560					
1561					// Get product data from Liquid-generated map (has full collections/tags data)
1562					const productDataFromMap = window._conv_products_data[productHandle];
1563					
1564					// Build product data using map if available
1565					const productData = productDataFromMap ? {
1566						variantId: null,
1567						productId: String(productDataFromMap.id),
1568						sku: null,
1569						handle: String(productHandle),
1570						collections: productDataFromMap.collections || [],
1571						tags: productDataFromMap.tags || []
1572					} : {
1573						// Fallback: product not in map
1574						variantId: null,
1575						productId: null,
1576						sku: null,
1577						handle: String(productHandle),
1578						collections: [],
1579						tags: []
1580					};
1581
1582					// Find ALL matching rules for this product
1583					// This correctly handles multiple rules per product (e.g., product-specific + collection + tag rules)
1584					const matchedRules = this.findAllMatchingRules(activePricingRules, productData);
1585
1586					if (matchedRules.length === 0) return;
1587
1588					// Apply pricing rules to element (silent - fires per element)
1589					// Apply pricing to this specific element
1590					this.updateDOMPricing(productHandle, matchedRules, priceElement.parentElement || priceElement);
1591					});
1592				};
1593				// Start with a brief delay to allow DOM to paint
1594				requestAnimationFrame(() =>
1594 setTimeout(updatePagePrices, convert.shopifyPricingObserverDelay));
1595				}
1596			}
1597			// Store observer globally so we can disconnect/reconnect during updates
1598			window.convertShopify.pricingObserver = null;
1599
1600			// DOM settling detection - debounce timer for re-applying pricing after DOM stops changing
1601			let domSettlingTimeout = null;
1602			const DOM_SETTLING_DELAY = 150; // Wait 150ms after last mutation before re-applying
1603
1604			/**
1605			* Called when DOM has settled (no mutations for DOM_SETTLING_DELAY ms)
1606			* Clears stale attributes and re-applies pricing to all price elements
1607			*/
1608			window.convertShopify.onDOMSettled = function() {
1609				const pageType = window._conv_page_type;
1610				if (pageType === 'cart') return; // Skip cart pages
1611
1612				const activePricingRules = this.getActivePricingRules();
1613				if (activePricingRules.length === 0) return;
1614
1615				// DOM settled - check for theme overwrites (silent)
1616
1617				// Find all price elements that may have been replaced by theme
1618				const priceElements = document.querySelectorAll(convert.shopifyPricingTags.join(', '));
1619
1620				// Check each price element - if the displayed price doesn't match our updated price,
1621				// the theme has overwritten it and we need to re-apply
1622				priceElements.forEach(priceElement => {
1623				// Skip cart containers
1624				if (this.isInsideCartContainer(priceElement)) return;
1625
1626				// If element has data-convert, check if theme overwrote our price
1627				if (priceElement.hasAttribute('data-convert')) {
1628					// Extract current displayed price
1629					const fullText = priceElement.textContent.trim();
1630					const priceMatch = fullText.match(/([^\d]*?)([\d,]+\.?\d*)([^\d]*?)/);
1631					if (!priceMatch) return;
1632
1633					const displayedPrice = parseFloat(priceMatch[2].replace(',', ''));
1634					const originalPrice = parseFloat(priceElement.getAttribute('data-convert-original-price') || '0');
1635
1636					// Skip $0 placeholder elements
1637					if (displayedPrice === 0) return;
1638
1639					// If displayed price equals original (theme overwrote our update), re-apply
1640					if (displayedPrice === originalPrice || Math.abs(displayedPrice - originalPrice) < 0.01) {
1641					// Theme reset to original price - clear and re-apply
1642					priceElement.removeAttribute('data-convert');
1643					priceElement.removeAttribute('data-convert-original-price');
1644					priceElement.removeAttribute('data-convert-currency-prefix');
1645					priceElement.removeAttribute('data-convert-currency-suffix');
1646					}
1647				}
1648				});
1649
1650				// Now apply pricing to all unprocessed elements
1651				this.applyPricingToPage();
1652			};
1653
1654			/**
1655			* Clear all data-convert attributes from price elements
1656			* Called on variant change to ensure fresh re-processing
1657			*/
1658			window.convertShopify.clearPricingAttributes = function() {
1659				if (!convert.shopifyPricingTags || convert.shopifyPricingTags.length === 0) return;
1660
1661				const priceElements = document.querySelectorAll(convert.shopifyPricingTags.join(', '));
1662				let cleared = 0;
1663
1664				priceElements.forEach(priceElement => {
1665				// Skip cart containers
1666				if (this.isInsideCartContainer(priceElement)) return;
1667
1668				if (priceElement.hasAttribute('data-convert')) {
1669					priceElement.removeAttribute('data-convert');
1670					priceElement.removeAttribute('data-convert-original-price');
1671					priceElement.removeAttribute('data-convert-currency-prefix');
1672					priceElement.removeAttribute('data-convert-currency-suffix');
1673					cleared++;
1674				}
1675				});
1676
1677				if (cleared > 0) {
1678				logger.debug('Cleared pricing attributes from', cleared, 'elements for variant change');
1679				}
1680			};
1681
1682			// Helper function to build productData for rule matching
1683			// Reused by MutationObserver handlers to avoid code duplication
1684			window.convertShopify.buildProductData = function(productHandle, pageType) {
1685				const mainProductHandle = window._conv_product_handle ? String(window._conv_product_handle) : null;
1686				const isMainProduct = pageType === 'product' && (!productHandle || productHandle === mainProductHandle);
1687				const productDataFromMap = window._conv_products_data[productHandle];
1688
1689				if (isMainProduct) {
1690				// Main product on product page: use full data from global variables
1691				return {
1692					variantId: window._conv_product_variant_id ? String(window._conv_product_variant_id) : null,
1693					productId: window._conv_product_id ? String(window._conv_product_id) : null,
1694					sku: window._conv_product_sku ? String(window._conv_product_sku) : null,
1695					handle: mainProductHandle,
1696					collections: window._conv_product_collections || [],
1697					tags: window._conv_product_tags || []
1698				};
1699				} else if (productDataFromMap) {
1700				// Related product or non-product page: use data from map
1701				return {
1702					variantId: null,
1703					productId: String(productDataFromMap.id),
1704					sku: null,
1705					handle: String(productHandle),
1706					collections: productDataFromMap.collections || [],
1707					tags: productDataFromMap.tags || []
1708				};
1709				} else {
1710				// Fallback: product not in map
1711				return {
1712					variantId: null,
1713					productId: null,
1714					sku: null,
1715					handle: String(productHandle),
1716					collections: [],
1717					tags: []
1718				};
1719				}
1720			};
1721
1722			window.convertShopify.observeDOMPricing = function() {
1723				const startObserver = () => {
1724				logger.info('MutationObserver starting');
1725
1726				// Throttle logging to prevent console spam (theme makes constant DOM changes)
1727				let lastLogTime = 0;
1728				const LOG_THROTTLE_MS = 1000; // Only log once per second max
1729				const throttledLog = (msg, ...args) => {
1730					const now = Date.now();
1731					if (now - lastLogTime > LOG_THROTTLE_MS) {
1732					lastLogTime = now;
1733					logger.debug(msg, ...args);
1734					}
1735				};
1736
1737				this.pricingObserver = new MutationObserver((mutations) => {
1738					const pageType = window._conv_page_type;
1739					// Skip cart pages
1740					if (pageType === 'cart') return;
1741
1742					const activePricingRules = this.getActivePricingRules();
1743					if (activePricingRules.length === 0) return;
1744					
1745					// For product pages, extract product handle for each price element
1746					// (to avoid applying main product rules to related product thumbnails)
1747					if (pageType === 'product') {
1748					mutations.forEach(mutation => {
1749						mutation.addedNodes.forEach(node => {
1750						if (node.nodeType === Node.ELEMENT_NODE) {
1751							// Skip if the node itself or any ancestor is inside a cart container
1752							const isInCart = this.isInsideCartContainer(node);
1753							if (isInCart) {
1754							return;
1755							}
1756
1757							// Find price elements in the new node
1758							const priceElements = node.querySelectorAll ?
1759							Array.from(node.querySelectorAll(convert.shopifyPricingTags.join(', '))).filter(el => !el.hasAttribute('data-convert')) :
1760							[];
1761
1762							// Also check if the node itself is a price element
1763							if (node.matches && node.matches(convert.shopifyPricingTags.join(', ')) && !node.hasAttribute('data-convert')) {
1764							priceElements.unshift(node);
1765							}
1766
1767							priceElements.forEach(priceElement => {
1768							// Extract product handle from DOM (checks data-handle, data-url, then <a> links)
1769							const extractedHandle = this.extractProductHandleFromElement(priceElement);
1770
1771							// Determine if this is main product or related product
1772							// NOTE: This code ONLY runs on product pages (pageType === 'product')
1773							const mainProductHandle = window._conv_product_handle ? String(window._conv_product_handle) : null;
1774							
1775							// On product pages specifically:
1776							// - _conv_products_data contains the main product + related/recommended products (if available)
1777							// - recommendations.products are pre-populated from Shopify recommendations
1778							// - Other related products (custom upsells, etc.) may NOT be in the map
1779							// Therefore:
1780							// - If no handle extracted → main product (use globals)
1781							// - If extracted handle matches main → main product (use globals)
1782							// - If extracted handle is in map → related product with data (use map)
1783							// - If extracted handle NOT in map → related product without data (minimal)
1784							const productDataFromMap = extractedHandle ? window._conv_products_data[extractedHandle] : null;
1785							const isMainProduct = !extractedHandle || extractedHandle === mainProductHandle;
1786							const productHandle = isMainProduct ? mainProductHandle : extractedHandle;
1787							
1788							if (!productHandle) return;
1789							
1790							// Build product data based on context
1791							const productData = isMainProduct ? {
1792								// Main product: use full data from global variables
1793								variantId: window._conv_product_variant_id ? String(window._conv_product_variant_id) : null,
1794								productId: window._conv_product_id ? String(window._conv_product_id) : null,
1795								sku: window._conv_product_sku ? String(window._conv_product_sku) : null,
1796								handle: String(productHandle),
1797								collections: window._conv_product_collections || [],
1798								tags: window._conv_product_tags || []
1799							} : productDataFromMap ? {
1800								// Related product: in map (from recommendations), has full data
1801								variantId: null,
1802								productId: String(productDataFromMap.id),
1803								sku: null,
1804								handle: String(productHandle),
1805								collections: productDataFromMap.collections || [],
1806								tags: productDataFromMap.tags || []
1807							} : {
1808								// Related product: NOT in map (custom section), minimal data only
1809								variantId: null,
1810								productId: null,
1811								sku: null,
1812								handle: String(productHandle),
1813								collections: [],
1814								tags: []
1815							};
1816
1817							// Find ALL matching rules for this product
1818							const matchedRules = this.findAllMatchingRules(activePricingRules, productData);
1819
1820							if (matchedRules.length > 0) {
1821								this.updateDOMPricing(productHandle, matchedRules, priceElement.parentElement || priceElement);
1822							}
1823							});
1824						}
1825						});
1826					});
1827					}
1828					// For all other non-cart pages, find product handle for each price element
1829					else {
1830					mutations.forEach(mutation => {
1831						mutation.addedNodes.forEach(node => {
1832						if (node.nodeType === Node.ELEMENT_NODE) {
1833							// Skip if the node itself or any ancestor is inside a cart container
1834							if (this.isInsideCartContainer(node)) return;
1835
1836							// Find price elements in the new node
1837							const priceElements = node.querySelectorAll ?
1838							Array.from(node.querySelectorAll(convert.shopifyPricingTags.join(', '))).filter(el => !el.hasAttribute('data-convert')) :
1839							[];
1840							priceElements.forEach(priceElement => {
1841							// Extract product handle from DOM (checks data-handle, data-url, then <a> links)
1842							const productHandle = this.extractProductHandleFromElement(priceElement);
1843							if (productHandle) {
1844								// Get product data from Liquid-generated map (has full collections/tags data)
1845								const productDataFromMap = window._conv_products_data[productHandle];
1846
1847								// Build product data using map if available
1848								const productData = productDataFromMap ? {
1849								variantId: null,
1850								productId: String(productDataFromMap.id),
1851								sku: null,
1852								handle: String(productHandle),
1853								collections: productDataFromMap.collections || [],
1854								tags: productDataFromMap.tags || []
1855								} : {
1856								// Fallback: product not in map
1857								variantId: null,
1858								productId: null,
1859								sku: null,
1860								handle: String(productHandle),
1861								collections: [],
1862								tags: []
1863								};
1864
1865								// Find ALL matching rules for this product
1866								const matchedRules = this.findAllMatchingRules(activePricingRules, productData);
1867
1868								if (matchedRules.length > 0) {
1869								this.updateDOMPricing(productHandle, matchedRules, priceElement.parentElement || priceElement);
1870								}
1871							}
1872							});
1873						}
1874						});
1875					});
1876					}
1877
1878					// Handle characterData mutations (text content changes in price elements)
1879					// This catches when themes update price text without replacing the element
1880					mutations.forEach(mutation => {
1881					if (mutation.type === 'characterData' && mutation.target.nodeType === Node.TEXT_NODE) {
1882						const parentElement = mutation.target.parentElement;
1883						if (!parentElement) return;
1884
1885						// Check if parent is a price element
1886						const isPriceElement = convert.shopifyPricingTags.some(tag =>
1887						parentElement.matches && parentElement.matches(tag)
1888						);
1889
1890						if (isPriceElement && !this.isInsideCartContainer(parentElement)) {
1891						// Clear data-convert to allow re-processing (theme overwrote our price)
1892						if (parentElement.hasAttribute('data-convert')) {
1893							parentElement.removeAttribute('data-convert');
1894						}
1895
1896						// Re-apply pricing
1897						const productHandle = this.extractProductHandleFromElement(parentElement) ||
1898							(pageType === 'product' ? window._conv_product_handle : null);
1899
1900						if (productHandle) {
1901							const productData = this.buildProductData(productHandle, pageType);
1902							const matchedRules = this.findAllMatchingRules(activePricingRules, productData);
1903							if (matchedRules.length > 0) {
1904							this.updateDOMPricing(productHandle, matchedRules, parentElement);
1905							}
1906						}
1907						}
1908					}
1909					});
1910
1911					// DOM settling detection: debounce pricing re-application
1912					// Themes may do multiple rapid DOM updates - wait until DOM stops changing
1913					if (domSettlingTimeout) {
1914					clearTimeout(domSettlingTimeout);
1915					}
1916					domSettlingTimeout = setTimeout(() => {
1917					window.convertShopify.onDOMSettled();
1918					}, DOM_SETTLING_DELAY);
1919				});
1920				// Watch for childList (element changes) AND characterData (text content changes)
1921				this.pricingObserver.observe(document.documentElement, {
1922					childList: true,
1923					subtree: true,
1924					characterData: true // Catch when theme updates price text directly
1925				});
1926				logger.info('MutationObserver started');
1927				};
1928				// Start observer immediately (document.documentElement always exists)
1929				startObserver();
1930			}
1931			})();
1932		</script>
1932
1933		
1933<script async src="https://cdn-4.convertexperiments.com/v1/js/10041832-10042217.js" type="text/javascript"></script>
1933
1934		
1934<script>
1935			(function(){
1936			//disables the automatic body hiding of the convert script
1937			var _conv_prevent_bodyhide = true;
1938			//the duration, in mili seconds, for which the body is kept hidden if Convert tracking code does not load.
1939			var hideTimeout = 500; //modify this to whatever you think it's suitable
1940			
1941			var cssToHide = "body {visibility: hidden !important;}",
1942			headElement = document.head || document.getElementsByTagName("headElement")[0],
1943			styleElement = document.createElement("style");
1944			headElement.appendChild(styleElement);
1945			styleElement.type = "text/css";
1946			styleElement.id = "convert_hide_body";//do not change this
1947			if (styleElement.styleSheet){
1948			styleElement.styleSheet.cssText = cssToHide;
1949			} else {
1950			styleElement.appendChild(document.createTextNode(cssToHide));
1951			}
1952			setTimeout(function() {var c_h = document.getElementById("convert_hide_body"); if(c_h) c_h.outerHTML = "";}, hideTimeout)
1953			})();
1954		</script>
1954
1955		
1956		
1956<script id="pandectes-rules">100100
1957   /* PANDECTES-GDPR: DO NOT MODIFY AUTO GENERATED CODE OF THIS SCRIPT */
1958   
1959   window.PandectesSettings = {"store":{"plan":"plus","theme":"Main Theme - Github","primaryLocale":"en","adminMode":false},"tsPublished":1699911528,"declaration":{"showPurpose":false,"showProvider":false,"showDateGenerated":true},"language":{"languageMode":"Single","fallbackLanguage":"en","languageDetection":"browser","languagesSupported":[]},"texts":{"managed":{"headerText":{"en":"We respect your privacy"},"consentText":{"en":"When you visit our website, if you give your consent to the use of all cookies by clicking the “Accept All” button, we and our third-party providers will use cookies and other trackers to personalize your experience, to conduct analytics, and to provide targeted online advertising. You can also select the types of cookies that you are willing to allow us to use by clicking the \"Manage Cookie Preferences\" link. If you want to deny the use of optional cookies on this website by clicking the “Reject All” button, we will only use essential and functional cookies that are necessary for the functioning of the website and to remember your cookie consent choice for future visits. Regardless of what you choose now, you can change your mind at any time by using our cookie tool, which will set a necessary cookie on your device to remember your preferences. For more information about our privacy practices and how our website uses cookies, please see our privacy policy."},"dismissButtonText":{"en":"Ok"},"linkText":{"en":"Privacy Policy"},"imprintText":{"en":"Terms of Service"},"preferencesButtonText":{"en":"Manage Cookie Preferences"},"allowButtonText":{"en":"Accept"},"denyButtonText":{"en":"Decline"},"leaveSiteButtonText":{"en":"Leave this site"},"cookiePolicyText":{"en":"Cookie policy"},"preferencesPopupTitleText":{"en":"Manage consent preferences"},"preferencesPopupIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."},"preferencesPopupCloseButtonText":{"en":"Close"},"preferencesPopupAcceptAllButtonText":{"en":"Accept all"},"preferencesPopupRejectAllButtonText":{"en":"Reject all"},"preferencesPopupSaveButtonText":{"en":"Save preferences"},"accessSectionTitleText":{"en":"Data portability"},"accessSectionParagraphText":{"en":"You have the right to request access to your data at any time."},"rectificationSectionTitleText":{"en":"Data Rectification"},"rectificationSectionParagraphText":{"en":"You have the right to request your data to be updated whenever you think it is appropriate."},"erasureSectionTitleText":{"en":"Right to be forgotten"},"erasureSectionParagraphText":{"en":"You have the right to ask all your data to be erased. After that, you will no longer be able to access your account."},"declIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."}}
1959,"categories":{"strictlyNecessaryCookiesTitleText":{"en":"Strictly necessary cookies"},"functionalityCookiesTitleText":{"en":"Functional cookies"},"performanceCookiesTitleText":{"en":"Performance cookies"},"targetingCookiesTitleText":{"en":"Targeting cookies"},"unclassifiedCookiesTitleText":{"en":"Unclassified cookies"},"strictlyNecessaryCookiesDescriptionText":{"en":"These cookies are essential in order to enable you to move around the website and use its features, such as accessing secure areas of the website. The website cannot function properly without these cookies."},"functionalityCookiesDescriptionText":{"en":"These cookies enable the site to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly."},"performanceCookiesDescriptionText":{"en":"These cookies enable us to monitor and improve the performance of our website. For example, they allow us to count visits, identify traffic sources and see which parts of the site are most popular."},"targetingCookiesDescriptionText":{"en":"These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites.    They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising."},"unclassifiedCookiesDescriptionText":{"en":"Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies."}},"auto":{"declName":{"en":"Name"},"declPath":{"en":"Path"},"declType":{"en":"Type"},"declDomain":{"en":"Domain"},"declPurpose":{"en":"Purpose"},"declProvider":{"en":"Provider"},"declRetention":{"en":"Retention"},"declFirstParty":{"en":"First-party"},"declThirdParty":{"en":"Third-party"},"declSeconds":{"en":"seconds"},"declMinutes":{"en":"minutes"},"declHours":{"en":"hours"},"declDays":{"en":"days"},"declMonths":{"en":"months"},"declYears":{"en":"years"},"declSession":{"en":"Session"},"cookiesDetailsText":{"en":"Cookies details"},"preferencesPopupAlwaysAllowedText":{"en":"Always allowed"},"submitButton":{"en":"Submit"},"submittingButton":{"en":"Submitting..."},"cancelButton":{"en":"Cancel"},"guestsSupportInfoText":{"en":"Please login with your customer account to further proceed."},"guestsSupportEmailPlaceholder":{"en":"E-mail address"},"guestsSupportEmailValidationError":{"en":"Email is not valid"},"guestsSupportEmailSuccessTitle":{"en":"Thank you for your request"},"guestsSupportEmailFailureTitle":{"en":"A problem occurred"},"guestsSupportEmailSuccessMessage":{"en":"If you are registered as a customer of this store, you will soon receive an email with instructions on how to proceed."},"guestsSupportEmailFailureMessage":{"en":"Your request was not submitted. Please try again and if problem persists, contact store owner for assistance."},"confirmationSuccessTitle":{"en":"Your request is verified"},"confirmationFailureTitle":{"en":"A problem occurred"},"confirmationSuccessMessage":{"en":"We will soon get back to you as to your request."},"confirmationFailureMessage":{"en":"Your request was not verified. Please try again and if problem persists, contact store owner for assistance"},"consentSectionTitleText":{"en":"Your cookie consent"},"consentSectionNoConsentText":{"en":"You have not consented to the cookies policy of this website."},"consentSectionConsentedText":{"en":"You consented to the cookies policy of this website on"},"consentStatus":{"en":"Consent preference"},"consentDate":{"en":"Consent date"},"consentId":{"en":"Consent ID"},"consentSectionChangeConsentActionText":{"en":"Change consent preference"},"accessSectionGDPRRequestsActionText":{"en":"Data subject requests"},"accessSectionAccountInfoActionText":{"en":"Personal data"},"accessSectionOrdersRecordsActionText":{"en":"Orders"},"accessSectionDownloadReportActionText":{"en":"Request export"},"rectificationCommentPlaceholder":{"en":"Describe what you want to be updated"},"rectificationCommentValidationError":{"en":"Comment is required"},"rectificationSectionEditAccountActionText":{"en":"Request an update"}
1959,"erasureSectionRequestDeletionActionText":{"en":"Request personal data deletion"}}},"library":{"previewMode":false,"fadeInTimeout":0,"defaultBlocked":7,"showLink":true,"showImprintLink":true,"enabled":true,"cookie":{"name":"_pandectes_gdpr","expiryDays":365,"secure":true,"domain":""},"dismissOnScroll":false,"dismissOnWindowClick":false,"dismissOnTimeout":false,"palette":{"popup":{"background":"#FFFFFF","backgroundForCalculations":{"a":1,"b":255,"g":255,"r":255},"text":"#000000"},"button":{"background":"transparent","backgroundForCalculations":{"a":1,"b":255,"g":255,"r":255},"text":"#000000","textForCalculation":{"a":1,"b":0,"g":0,"r":0},"border":"#000000"}},"content":{"href":"https://www.glowrecipe.com/pages/privacy-policy","imprintHref":"https://www.glowrecipe.com/pages/terms-of-service","close":"&#10005;","target":"_blank","logo":""},"window":"<div role=\"dialog\" aria-live=\"polite\" aria-label=\"cookieconsent\" aria-describedby=\"cookieconsent:desc\" id=\"pandectes-banner\" class=\"cc-window-wrapper cc-bottom-center-wrapper\"><div class=\"pd-cookie-banner-window cc-window {{classes}}\"><!--googleoff: all-->{{children}}<!--googleon: all--></div></div>","compliance":{"custom":"<div class=\"cc-compliance cc-highlight\">{{preferences}}{{allow}}{{deny}}</div>"},"type":"custom","layouts":{"basic":"{{messagelink}}{{compliance}}"},"position":"bottom-center","theme":"wired","revokable":false,"animateRevokable":false,"revokableReset":false,"revokableLogoUrl":"https://cdn.shopify.com/s/files/1/0543/8301/t/310/assets/pandectes-reopen-logo.png?v=1698765832","revokablePlacement":"bottom-left","revokableMarginHorizontal":15,"revokableMarginVertical":15,"static":false,"autoAttach":true,"hasTransition":false,"blacklistPage":[""]},"geolocation":{"brOnly":false,"caOnly":false,"euOnly":false,"jpOnly":false,"thOnly":false,"canadaOnly":false,"globalVisibility":true},"dsr":{"guestsSupport":true,"accessSectionDownloadReportAuto":false},"banner":{"resetTs":1677265848,"extraCss":"        .cc-banner-logo {max-width: 36em!important;}    @media(min-width: 768px) {.cc-window.cc-floating{max-width: 36em!important;width: 36em!important;}}    .cc-message, .cc-header, .cc-logo {text-align: center}    .cc-window-wrapper{z-index: 2147483647;}    .cc-window{z-index: 2147483647;font-size: 10px!important;font-family: inherit;}    .cc-header{font-size: 10px!important;font-family: inherit;}    .pd-cp-ui{font-family: inherit; background-color: #FFFFFF;color:#000000;}    button.pd-cp-btn, a.pd-cp-btn{}    input + .pd-cp-preferences-slider{background-color: rgba(0, 0, 0, 0.3)}    .pd-cp-scrolling-section::-webkit-scrollbar{background-color: rgba(0, 0, 0, 0.3)}    input:checked + .pd-cp-preferences-slider{background-color: rgba(0, 0, 0, 1)}    .pd-cp-scrolling-section::-webkit-scrollbar-thumb {background-color: rgba(0, 0, 0, 1)}    .pd-cp-ui-close{color:#000000;}    .pd-cp-preferences-slider:before{background-color: #FFFFFF}    .pd-cp-title:before {border-color: #000000!important}    .pd-cp-preferences-slider{background-color:#000000}    .pd-cp-toggle{color:#000000!important}    @media(max-width:699px) {.pd-cp-ui-close-top svg {fill: #000000}}    .pd-cp-toggle:hover,.pd-cp-toggle:visited,.pd-cp-toggle:active{color:#000000!important}    .pd-cookie-banner-window {box-shadow: 0 0 18px rgb(0 0 0 / 20%);}  ","customJavascript":null,"showPoweredBy":false,"hybridStrict":false,"cookiesBlockedByDefault":"7","isActive":true,"implicitSavePreferences":false,"cookieIcon":false,"blockBots":false,"showCookiesDetails":true,"hasTransition":false,"blockingPage":false,"showOnlyLandingPage":false,"leaveSiteUrl":"https://www.google.com","linkRespectStoreLang":false},"cookies":{"0":[{"name":"localization","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Shopify store localization"}},{"name":"secure_customer_sig","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used in connection with customer login."}},{"name":"_cmp_a","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"en":"Used for managing customer privacy settings."}},{"name":"cart_currency","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"15 day(s)","expires":15,"unit":"declSession","purpose":{"en":"Used in connection with shopping cart."}},{"name":"keep_alive","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Used in connection with buyer localization."}},{"name":"shopify_pay_redirect","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"60 minute(s)","expires":60,"unit":"declMinutes","purpose":{"en":"Used in connection with checkout."}},{"name":"_secure_session_id","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"en":"Used in connection with navigation through a storefront."}}],"1":[{"name":"PHPSESSID","domain":"tracead.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","expires":-1677265915,"unit":"declSeconds","purpose":{"en":"Cookie is placed by PHP with unknown functionality"}},{"name":"_hjSession_2695336","domain":".glowrecipe.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Used by Hotjar to provide functions across pages."}},{"name":"_shg_user_id","domain":"www.glowrecipe.com","path":"/","provider":"Shogun","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used by Shogun Application"}},{"name":"_shg_session_id","domain":"www.glowrecipe.com","path":"/","provider":"Shogun","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Used by Shogun Application"}},{"name":"_hjSessionUser_2695336","domain":".glowrecipe.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used by Hotjar to store a unique user ID."}}],"2":[{"name":"_landing_page","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declSession","purpose":{"en":"Tracks landing pages."}},{"name":"_shopify_y","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Shopify analytics."}}
1959,{"name":"_s","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"31 minute(s)","expires":31,"unit":"declMinutes","purpose":{"en":"Shopify analytics."}},{"name":"_y","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Shopify analytics."}},{"name":"_orig_referrer","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","expires":14,"unit":"declSession","purpose":{"en":"Tracks landing pages."}},{"name":"_shopify_s","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"31 minute(s)","expires":31,"unit":"declMinutes","purpose":{"en":"Shopify analytics."}},{"name":"_ga_NF5EKRHSSV","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Cookie is set by Google Analytics with unknown functionality"}},{"name":"_shopify_sa_t","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"_shopify_sa_p","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"_ga","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Cookie is set by Google Analytics with unknown functionality"}},{"name":"_gid","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"en":"Cookie is placed by Google Analytics to count and track pageviews."}},{"name":"_gat","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"7 second(s)","expires":7,"unit":"declSeconds","purpose":{"en":"Cookie is placed by Google Analytics to filter requests from bots."}}],"4":[{"name":"_gcl_au","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declSession","purpose":{"en":"Cookie is placed by Google Tag Manager to track conversions."}},{"name":"_fbp","domain":".glowrecipe.com","path":"/","provider":"Facebook","firstParty":true,"retention":"90 day(s)","expires":90,"unit":"declSession","purpose":{"en":"Cookie is placed by Facebook to track visits across websites."}},{"name":"_pin_unauth","domain":".glowrecipe.com","path":"/","provider":"Pinterest","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Used to group actions for users who cannot be identified by Pinterest."}},{"name":"test_cookie","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":true,"retention":"15 minute(s)","expires":15,"unit":"declMinutes","purpose":{"en":"To measure the visitors’ actions after they click through from an advert. Expires after each visit."}},{"name":"__kla_id","domain":"www.glowrecipe.com","path":"/","provider":"Klaviyo","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"Tracks when someone clicks through a Klaviyo email to your website"}},{"name":"IDE","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":"To measure the visitors’ actions after they click through from an advert. Expires after 1 year."}}],"8":[{"name":"tracead_v2","domain":"tracead.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_ttp","domain":".tiktok.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"__olAlertsForShop","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","expires":-1677265915,"unit":"declSeconds","purpose":{"en":""}},{"name":"_ttp","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_tt_enable_cookie","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_hjIncludedInSessionSample_2695336","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"2 minute(s)","expires":2,"unit":"declMinutes","purpose":{"en":""}},{"name":"_hjIncludedInPageviewSample","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"2 minute(s)","expires":2,"unit":"declMinutes","purpose":{"en":""}},{"name":"_hjAbsoluteSessionInProgress","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"__idcontext","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"carthash","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","expires":-1677265915,"unit":"declSeconds","purpose":{"en":""}},{"name":"__adcontext","domain":".cdnwidget.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"dd9b583d-b899-4ac1-845d-575213087efc","domain":"www.pubxtags.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 day(s)","expires":30,"unit":"declSession","purpose":{"en":""}},{"name":"__3idcontext","domain":".cdnwidget.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bounceClientVisit4566v","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"did","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"didts","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bounceClientVisit4566c","domain":".bounceexchange.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"nnls","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"60 day(s)","expires":60,"unit":"declSession","purpose":{"en":""}},{"name":"pxrc","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"60 day(s)","expires":60,"unit":"declSession","purpose":{"en":""}}
1959,{"name":"_ps_session","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","expires":24,"unit":"declHours","purpose":{"en":""}},{"name":"bounceClientVisit4566","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_hjFirstSeen","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","expires":30,"unit":"declMinutes","purpose":{"en":""}}]},"blocker":{"isActive":false,"googleConsentMode":{"id":"","analyticsId":"","isActive":false,"adStorageCategory":4,"analyticsStorageCategory":2,"personalizationStorageCategory":1,"functionalityStorageCategory":1,"customEvent":true,"securityStorageCategory":0,"redactData":true,"urlPassthrough":false},"facebookPixel":{"id":"","isActive":false,"ldu":false},"rakuten":{"isActive":false,"cmp":false,"ccpa":false},"gpcIsActive":false,"defaultBlocked":7,"patterns":{"whiteList":[],"blackList":{"1":[],"2":[],"4":[],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":[],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}}
1960   
1961   !function(){"use strict";window.PandectesRules=window.PandectesRules||{},window.PandectesRules.manualBlacklist={1:[],2:[],4:[]},window.PandectesRules.blacklistedIFrames={1:[],2:[],4:[]},window.PandectesRules.blacklistedCss={1:[],2:[],4:[]},window.PandectesRules.blacklistedBeacons={1:[],2:[],4:[]};var e="javascript/blocked",t="_pandectes_gdpr";function n(e){return new RegExp(e.replace(/[/\\.+?$()]/g,"\\$&").replace("*","(.*)"))}
1961var r=function(e){try{return JSON.parse(e)}catch(e){return!1}},a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"log",n=new URLSearchParams(window.location.search);n.get("log")&&console[t]("PandectesRules: ".concat(e))};function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,a,i=[],s=!0,o=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);s=!0);}catch(e){o=!0,a=e}finally{try{s||null==n.return||n.return()}finally{if(o)throw a}}return i}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var f=!(void 0===window.dataLayer||!Array.isArray(window.dataLayer)||!window.dataLayer.some((function(e){return"pandectes_full_scan"===e.event})));a("userAgent ->
1961 ".concat(window.navigator.userAgent.substring(0,50)));var p=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,a="; "+document.cookie,i=a.split("; "+n+"=");if(i.length<2)e={};else{var s=i.pop(),o=s.split(";");e=window.atob(o.shift())}var c=r(e);return!1!==c?c:e}(),g=window.PandectesSettings,y=g.banner.isActive,h=g.blocker.defaultBlocked,m=p&&null!==p.preferences&&void 0!==p.preferences?p.preferences:null,w=f?0:y?null===m?h:m:0,v={1:0==(1&w),2:0==(2&w),4:0==(4&w)},b=window.PandectesSettings.blocker.patterns,k=b.blackList,L=b.whiteList,S=b.iframesBlackList,P=b.iframesWhiteList,A=b.beaconsBlackList,C=b.beaconsWhiteList,_={blackList:[],whiteList:[],iframesBlackList:{1:[],2:[],4:[],8:[]},iframesWhiteList:[],beaconsBlackList:{1:[],2:[],4:[],8:[]},beaconsWhiteList:[]};[1,2,4].map((function(e){var t;v[e]||((t=_.blackList).push.apply(t,l(k[e].length?k[e].map(n):[])),_.iframesBlackList[e]=S[e].length?S[e].map(n):[],_.beaconsBlackList[e]=A[e].length?A[e].map(n):[])})),_.whiteList=L.length?L.map(n):[],_.iframesWhiteList=P.length?P.map(n):[],_.beaconsWhiteList=C.length?C.map(n):[];var B={scripts:[],iframes:{1:[],2:[],4:[]},beacons:{1:[],2:[],4:[]},css:{1:[],2:[],4:[]}},O=function(t,n){return t&&(!n||n!==e)&&(!_.blackList||_.blackList.some((function(e){return e.test(t)})))&&(!_.whiteList||_.whiteList.every((function(e){return!e.test(t)})))},E=function(e){var t=e.getAttribute("src");return _.blackList&&_.blackList.every((function(e){return!e.test(t)}))||_.whiteList&&_.whiteList.some((function(e){return e.test(t)}))},I=function(e,t){var n=_.iframesBlackList[t],r=_.iframesWhiteList;return e&&(!n||n.some((function(t){return t.test(e)})))&&(!r||r.every((function(t){return!t.test(e)})))},j=function(e,t){var n=_.beaconsBlackList[t],r=_.beaconsWhiteList;return e&&(!n||n.some((function(t){return t.test(e)})))&&(!r||r.every((function(t){return!t.test(e)})))},R=new MutationObserver((function(e){for(var t=0;t<e.length;t++)for(var n=e[t].addedNodes,r=0;r<n.length;r++){var a=n[r],i=a.dataset&&a.dataset.cookiecategory;if(1===a.nodeType&&"LINK"===a.tagName){var s=a.dataset&&a.dataset.href;if(s&&i)switch(i){case"functionality":case"C0001":B.css[1].push(s);break;case"performance":case"C0002":B.css[2].push(s);break;case"targeting":case"C0003":B.css[4].push(s)}}}})),T=new MutationObserver((function(t){for(var n=0;n<t.length;n++)for(var r=t[n].addedNodes,a=function(t){var n=r[t],a=n.src||n.dataset&&n.dataset.src,i=n.dataset&&n.dataset.cookiecategory;if(1===n.nodeType&&"IFRAME"===n.tagName){if(a){var s=!1;I(a,1)||"functionality"===i||"C0001"===i?(s=!0,B.iframes[1].push(a)):I(a,2)||"performance"===i||"C0002"===i?(s=!0,B.iframes[2].push(a)):(I(a,4)||"targeting"===i||"C0003"===i)&&(s=!0,B.iframes[4].push(a)),s&&(n.removeAttribute("src"),n.setAttribute("data-src",a))}}else if(1===n.nodeType&&"IMG"===n.tagName){if(a){var o=!1;j(a,1)?(o=!0,B.beacons[1].push(a)):j(a,2)?(o=!0,B.beacons[2].push(a)):j(a,4)&&(o=!0,B.beacons[4].push(a)),o&&(n.removeAttribute("src"),n.setAttribute("data-src",a))}}else if(1===n.nodeType&&"LINK"===n.tagName){var c=n.dataset&&n.dataset.href;if(c&&i)switch(i){case"functionality":case"C0001":B.css[1].push(c);break;case"performance":case"C0002":B.css[2].push(c);break;case"targeting":case"C0003":B.css[4].push(c)}}else if(1===n.nodeType&&"SCRIPT"===n.tagName){var l=n.type,u=!1;if(O(a,l))u=!0;else if(a&&i)switch(i){case"functionality":case"C0001":u=!0,window.PandectesRules.manualBlacklist[1].push(a);break;case"performance":case"C0002":u=!0,window.PandectesRules.manualBlacklist[2].push(a);break;case"targeting":case"C0003":u=!0,window.PandectesRules.manualBlacklist[4].push(a)}if(u){B.scripts.push([n,l]),n.type=e;n.addEventListener("beforescriptexecute",(function t(r){n.getAttribute("type")===e&&r.preventDefault(),n.removeEventListener("beforescriptexecute",t)})),n.parentElement&&n.parentElement.removeChild(n)}}},i=0;i<r.length;i++)a(i)})),x=document.createElement,N={src:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"src"),t
1961ype:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"type")};window.PandectesRules.unblockCss=function(e){var t=B.css[e]||[];t.length&&a("Unblocking CSS for ".concat(e)),t.forEach((function(e){var t=document.querySelector('link[data-href^="'.concat(e,'"]'));t.removeAttribute("data-href"),t.href=e})),B.css[e]=[]},window.PandectesRules.unblockIFrames=function(e){var t=B.iframes[e]||[];t.length&&a("Unblocking IFrames for ".concat(e)),_.iframesBlackList[e]=[],t.forEach((function(e){var t=document.querySelector('iframe[data-src^="'.concat(e,'"]'));t.removeAttribute("data-src"),t.src=e})),B.iframes[e]=[]},window.PandectesRules.unblockBeacons=function(e){var t=B.beacons[e]||[];t.length&&a("Unblocking Beacons for ".concat(e)),_.beaconsBlackList[e]=[],t.forEach((function(e){var t=document.querySelector('img[data-src^="'.concat(e,'"]'));t.removeAttribute("data-src"),t.src=e})),B.beacons[e]=[]},window.PandectesRules.unblockInlineScripts=function(e){var t=1===e?"functionality":2===e?"performance":"targeting";document.querySelectorAll('script[type="javascript/blocked"][data-cookiecategory="'.concat(t,'"]')).forEach((function(e){var t=e.textContent;e.parentNode.removeChild(e);var n=document.createElement("script");n.type="text/javascript",n.textContent=t,document.body.appendChild(n)}))},window.PandectesRules.unblock=function(t){t.length<1?(_.blackList=[],_.whiteList=[],_.iframesBlackList=[],_.iframesWhiteList=[]):(_.blackList&&(_.blackList=_.blackList.filter((function(e){return t.every((function(t){return"string"==typeof t?!e.test(t):t instanceof RegExp?e.toString()!==t.toString():void 0}))}))),_.whiteList&&(_.whiteList=[].concat(l(_.whiteList),l(t.map((function(e){if("string"==typeof e){var t=".*"+n(e)+".*";if(_.whiteList.every((function(e){return e.toString()!==t.toString()})))return new RegExp(t)}else if(e instanceof RegExp&&_.whiteList.every((function(t){return t.toString()!==e.toString()})))return e;return null})).filter(Boolean)))));for(var r=document.querySelectorAll('script[type="'.concat(e,'"]')),i=0;i<r.length;i++){var s=r[i];E(s)&&(B.scripts.push([s,"application/javascript"]),s.parentElement.removeChild(s))}var o=0;l(B.scripts).forEach((function(e,t){var n=c(e,2),r=n[0],a=n[1];if(E(r)){for(var i=document.createElement("script"),s=0;s<r.attributes.length;s++){var l=r.attributes[s];"src"!==l.name&&"type"!==l.name&&i.setAttribute(l.name,r.attributes[s].value)}i.setAttribute("src",r.src),i.setAttribute("type",a||"application/javascript"),document.head.appendChild(i),B.scripts.splice(t-o,1),o++}})),0==_.blackList.length&&0===_.iframesBlackList[1].length&&0===_.iframesBlackList[2].length&&0===_.iframesBlackList[4].length&&0===_.beaconsBlackList[1].length&&0===_.beaconsBlackList[2].length&&0===_.beaconsBlackList[4].length&&(a("Disconnecting observers"),T.disconnect(),R.disconnect())};var M,D,W=window.PandectesSettings.store.adminMode,F=window.PandectesSettings.blocker;M=function(){!function(){var e=window.Shopify.trackingConsent;try{var t=W&&!window.Shopify.AdminBarInjector,n={preferences:0==(1&w)||f||t,analytics:0==(2&w)||f||t,marketing:0==(4&w)||f||t};e.firstPartyMarketingAllowed()===n.marketing&&e.analyticsProcessingAllowed()===n.analytics&&e.preferencesProcessingAllowed()===n.preferences||e.setTrackingConsent(n,(function(e){e&&e.error?a("Shopify.customerPrivacy API - failed to setTrackingConsent"):a("Shopify.customerPrivacy API - setTrackingConsent(".concat(JSON.stringify(n),")"))}))}catch(e){a("Shopify.customerPrivacy API - exception")}}(),function(){var e=window.Shopify.trackingConsent,t=e.currentVisitorConsent();if(F.gpcIsActive&&"CCPA"===e.getRegulation()&&"no"===t.gpc&&"yes"!==t.sale_of_data){var n={sale_of_data:!1};e.setTrackingConsent(n,(function(e){e&&e.error?a("Shopify.customerPrivacy API - failed to setTrackingConsent({".concat(JSON.stringify(n),")")):a("Shopify.customerPrivacy API - setTrackingConsent(".concat(JSON.stringify(n),")"))}))}}()},D=null,window.Shopify&&window.Shopify.loadFeatures&&window.Shopify.trackingConsent?M():D=setInterval((function(){window.Shopify&&window.Shopify.loadFeatures&&(clearInterval(D),window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],(function(e){e?a("Shopify.customerPrivacy API - failed to load"):(a("Shopify.customerPrivacy API - loaded"),M())})))}),10);var z=window.PandectesSettings,U=z.banner.isActive,q=z.blocker.googleConsentMode,J=q.isActive,H=q.customEvent,$=q.redactData,G=q.urlPassthrough,K=q.adStorageCategory,V=q.analyticsStorageCategory,Y=q.functionalityStorageCategory,Q=q.personalizationStorageCategory,X=q.securityStorageCategory;function Z(){window.dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[];var ee,te,ne={hasInitialized:!1,ads_data_redaction:!1,url_passthrough:!1,storage:{ad_storage:"granted",analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted",wait_for_update:500}};if(U&&J){var re=0==(w&K)?"granted":"denied",ae=0==(w&V)?"granted":"denied",ie=0==(w&Y)?"granted":"denied",se=0==(w&Q)?"granted":"denied",oe=0==(w&X)?"granted":"denied";ne.hasInitialized=!0,ne.ads_data_redaction="denied"===re&&$,ne.url_passthrough=G,ne.storage.ad_storage=re,ne.storage.analytics_storage=ae,ne.storage.functionality_storage=ie,ne.storage.personalization_storage=se,ne.storage.security_storage=oe,ne.ads_data_redaction&&Z("set","ads_data_redaction",ne.ads_data_redaction),ne.url_passthrough&&Z("set","url_passthrough",ne.url_passthrough),Z("consent","default",ne.storage),H&&(te=7===(ee=w)?"deny":0===ee?"allow":"mixed",window.dataLayer.push({event:"Pandectes_Consent_Update",pandectes_status:te,pandectes_categories:{C0000:"allow",C0001:v[1]?"allow":"deny",C0002:v[2]?"allow":"deny",C0003:v[4]?"allow":"deny"}})),a("Google consent mode initialized")}window.PandectesRules.gcm=ne;var ce=window.PandectesSettings,le=ce.banner.isActive,ue=ce.blocker.isActive;a("Blocker -> "+(ue?"Active":"Inactive")),a("Banner -> "+(le?"Active":"Inactive")),a("ActualPrefs -> "+w);var de=null===m&&/\/checkouts\//.test(window.location.pathname);0!==w&&!1===f&&ue&&!de?(a("Blocker will execute"),document.createElement=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if("script"!==n[0].toLowerCase())return x.bind?x.bind(document).apply(void 0,n):x;var a=x.bind(document).apply(void 0,n);try{Object.defineProperties(a,{src:s(s({},N.src),{},{set:function(t){O(t,a.type)&&N.type.set.call(this,e),N.src.set.call(this,t)}}),type:s(s({},N.type),{},{get:function(){var t=N.type.get.call(this);return t===e||O(this.src,t)?null:t},set:function(t){var n=O(a.src,a.type)?e:t;N.type.set.call(this,n)}})}),a.setAttribute=function(t,n){if("type"===t){var r=O(a.src,a.type)?e:n;N.type.set.call(a,r)}else"src"===t?(O(n,a.type)&&N.type.set.call(a,e),N.src.set.call(a,n)):HTMLScriptElement.prototype.setAttribute.call(a,t,n)}}catch(e){console.warn("Yett: unable to prevent script execution for script src ",a.src,".\n",'A likely cause would be because you are using a third-party browser extension that monkey patches the "document.createElement" function.')}return a},T.observe(document.documentElement,{childList:!0,subtree:!0}),R.observe(document.documentElement,{childList:!0,subtree:!0})):a("Blocker will not execute")}();
1962
1963</script>
1963		
1964		
1964<script>!function(s,a,e,v,n,t,z){if(s.saq)return;n=s.saq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!s._saq)s._saq=n;n.push=n;n.loaded=!0;n.version='1.0';n.queue=[];t=a.createElement(e);t.async=!0;t.src=v;z=a.getElementsByTagName(e)[0];z.parentNode.insertBefore(t,z)}(window,document,'script','https://tags.srv.stackadapt.com/events.js');saq('ts', 'RU_0qNxR2hKLD-Z8hsAHDg');</script>
vendor: 69 bytes, lines 1964-1966
1964
1965		
1966		<script async src="https://www.googletagmanager.com/gtag/js?id=
1966AW-870520924
vendor: 14 bytes, lines 1966-1967
1966"></script>
1967		
1967<script>
1968			
vendor: 136 bytes, lines 1968-1971
1968window.dataLayer = window.dataLayer || [];
1969			function gtag(){dataLayer.push(arguments);}
1970			gtag('js', new Date());
1971			gtag('config', '
1971AW-870520924
vendor: 6 bytes, lines 1971-1972
1971');
1972		
1972</script>
1972
1973		
1974		
1975			
1976		
1977		
1978	
1979		
1980		
1981		<meta charset="utf-8">
1982		<meta http-equiv="X-UA-Compatible" content="IE=edge">
1983		<meta name="viewport" content="width=device-width,initial-scale=1">
1984		<meta name="theme-color" content="">
1985		<link rel="canonical" href="https://www.glowrecipe.com/pages/serious-about-serums">
1986		<link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
1987<link rel="preconnect" href="https://fonts.googleapis.com">
1988<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
1989<link rel="preload" href="https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,700;1,9..40,400&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
1990<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,700;1,9..40,400&display=swap"></noscript>
1991<link rel="preload" href="//www.glowrecipe.com/cdn/shop/t/1677/assets/Alstoria-Regular.woff2?v=114833280941098406201788493385" as="font" type="font/woff2" crossorigin>
1992<link rel="icon" type="image/png" href="//www.glowrecipe.com/cdn/shop/files/glow_1_32x32.svg?v=1788997907"><title>Glow Recipe | Serums Guide
1993</title>
1994		
1995		  <meta name="description" content="Shop clinically effective serums rooted in Korean skincare &amp; find the best serums for your skin concerns">
1996		
1997	
1998		
1999
2000<meta property="og:site_name" content="Glow Recipe">
2001<meta property="og:url" content="https://www.glowrecipe.com/pages/serious-about-serums">
2002<meta property="og:title" content="Glow Recipe | Serums Guide">
2003<meta property="og:type" content="website">
2004<meta property="og:description" content="Shop clinically effective serums rooted in Korean skincare &amp; find the best serums for your skin concerns"><meta name="twitter:site" content="@glowrecipe/"><meta name="twitter:card" content="summary_large_image">
2005<meta name="twitter:title" content="Glow Recipe | Serums Guide">
2006<meta name="twitter:description" content="Shop clinically effective serums rooted in Korean skincare &amp; find the best serums for your skin concerns">
2007
2008	
2009	
2010		
2010<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/lazysizes.min.js?v=61763048558278217801788493464" async="async"></script>
2010
2011		
2011<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/tingle.js?v=35323701742990420991788493502" defer="defer"></script>
2011
2012		
2012<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/keen_slider.js?v=57617920375592862871788493463" defer="defer"></script>
2012
2013		
2013<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/global.js?v=46847638469416161941788493545" defer="defer"></script>
2013
2014        
2014<script>
2015
2016</script>
2016<script type="module">
2017			window.pageDateTime = new Date('2026/09/24 14:04 EDT');
2018			window.lngg = window.lngg || {};
2019			lngg.cart__auto_addons_js__error_clear_cart_message = 'Error updating cart for promotion.\nClearing cart to avoid issues.'
2020		</script>
2020
2021		
2021<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/auto_addons.js?v=175343662548921290861789505676" defer="defer"></script>
2021<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/bundles.js?v=164888242870124154491788493545" defer="defer"></script>
2021
2022
2023		
2023<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
2023<meta name="google-site-verification" content="QTFKN_9p9xCQK_j016rjQTotpB2ZwtEI1KAflYHaFVs">
2024<meta name="google-site-verification" content="xjjdXf5Xq3CFy5WeFkUKrrjC_pRLZljp6qHOPUaDMNk">
2025<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/5438301/digital_wallets/dialog">
2026<meta id="in-context-paypal-metadata" data-shop-id="5438301" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
2027<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
2027<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=3380838515"></script>
2027
2028<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
2029<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=3380838515&shop_id=5438301" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2029
2029
2030<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":5438301,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/5438301","merchantName":"Glow Recipe","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Glow Recipe","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 2030
2030
2031<script id="shopify-features" type="application/json">{"accessToken":"4955c45de850795816236e5ac79ff318","betas":["rich-media-storefront-analytics"],"domain":"www.glowrecipe.com","predictiveSearch":true,"shopId":5438301,"locale":"en"}</script>
vendor: 1 bytes, line 2031
2031
2032<script>var Shopify = Shopify || {};
2033Shopify.shop = "aramara-beauty.myshopify.com";
2034Shopify.locale = "en";
2035Shopify.currency = {"active":"USD","rate":"1.0"};
2036Shopify.country = "US";
2037Shopify.theme = {"name":"9.3.26 Lip Blur Launch","id":148112244851,"schema_name":"Simplistic","schema_version":"1.0.0","theme_store_id":null,"role":"main"};
2038Shopify.theme.handle = "null";
2039Shopify.theme.style = {"id":null,"handle":null};
2040Shopify.cdnHost = "www.glowrecipe.com/cdn";
2041Shopify.routes = Shopify.routes || {};
2042Shopify.routes.root = "/";
2043Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
2044Shopify.SignInWithShop = Shopify.SignInWithShop || {};
2045Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
2046Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 2046
2046
2047<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 2047
2047
2048<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 2048
2048
2049<script>
2050  window.ShopifyPay = window.ShopifyPay || {};
2051  window.ShopifyPay.apiHost = "shop.app\/pay";
2052  window.ShopifyPay.redirectState = null;
2053</script>
vendor: 1 bytes, line 2053
2053
2054<script>
2055  window.Shopify = window.Shopify || {};
2056  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
2057  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
2058  window.Shopify.SignInWithShop.eligible = true;
2059</script>
vendor: 1 bytes, line 2059
2059
2060<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 2060
2060
2061<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 2061
2061
2062<script type="module">
2063  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
2064
2065  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
2066
2067</script>
vendor: 1 bytes, line 2067
2067
2068<script>
2069  window.Shopify = window.Shopify || {};
2070  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
2071  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"]};
2072</script>
vendor: 1 bytes, line 2072
2072
2073<script>(function() {
2074  var isLoaded = false;
2075  function asyncLoad() {
2076    if (isLoaded) return;
2077    isLoaded = true;
2078    var urls = ["https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=aramara-beauty.myshopify.com","https:\/\/cdn.kustomerapp.com\/chat-web\/autoload.js?apiKey=eyJhbGciOiJub25lIn0.eyJvcmdOYW1lIjoiZ2xvd3JlY2lwZSIsInJvbGVzIjpbIm9yZy50cmFja2luZyJdfQ.eyJhbGciOiJub25lIn0\u0026brandId=61d461014453739f0b1b31e7\u0026shop=aramara-beauty.myshopify.com","https:\/\/cdn.giftcardpro.app\/build\/storefront\/storefront.js?shop=aramara-beauty.myshopify.com","https:\/\/dr4qe3ddw9y32.cloudfront.net\/awin-shopify-integration-code.js?aid=64616\u0026v=shopifyApp_5.2.3\u0026ts=1756215352160\u0026shop=aramara-beauty.myshopify.com","https:\/\/cdn-bundler.nice-team.net\/app\/js\/bundler.js?shop=aramara-beauty.myshopify.com","https:\/\/sdk.postscript.io\/sdk-script-loader.bundle.js?shopId=25819\u0026shop=aramara-beauty.myshopify.com","\/\/cdn.shopify.com\/proxy\/fe969770ac85a704b67e90ef97869f71cd88bdce2f3eafdcea89b83ddd2f4ea4\/api.kount.com\/shopify\/js?m_id=101068\u0026shop=aramara-beauty.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/shopify-extension.getredo.com\/main.js?widget_id=eo0inxh72sp8zrg\u0026shop=aramara-beauty.myshopify.com","\/\/backinstock.useamp.com\/widget\/12571_1783058506.js?category=bis\u0026v=6\u0026shop=aramara-beauty.myshopify.com"];
2079    for (var i = 0; i < urls.length; i++) {
2080      var s = document.createElement('script');
2081      s.type = 'text/javascript';
2082      s.async = true;
2083      s.src = urls[i];
2084      var x = document.getElementsByTagName('script')[0];
2085      x.parentNode.insertBefore(s, x);
2086    }
2087  };
2088  if(window.attachEvent) {
2089    window.attachEvent('onload', asyncLoad);
2090  } else {
2091    window.addEventListener('load', asyncLoad, false);
2092  }
2093})();</script>
vendor: 1 bytes, line 2093
2093
2094<script id="__st">var __st={"a":5438301,"offset":-14400,"reqid":"1d508255-9b60-4c62-b768-243b171d0108-1790273057","pageurl":"www.glowrecipe.com\/pages\/serious-about-serums","s":"pages-80309420147","u":"16bac2d25156","p":"page","rtyp":"page","rid":80309420147};</script>
vendor: 1 bytes, line 2094
2094
2095<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 2095
2095
2096<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 2096
2096
2097<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.glowrecipe.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2097
2097
2098<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.glowrecipe.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
2098<script crossorigin="anonymous" defer="defer" src="//www.glowrecipe.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 2098
2098
2099<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 2099
2099
2100<script>
2101  window.Shopify = window.Shopify || {};
2102  window.Shopify.MCP = window.Shopify.MCP || {};
2103  window.Shopify.MCP.enabled = true;
2104  window.Shopify.MCP.shop = "aramara-beauty.myshopify.com";
2105  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.glowrecipe.com\/api\/mcp";
2106  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"]}}];
2107</script>
vendor: 1 bytes, line 2107
2107
2108<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.glowrecipe.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
2109</script>
vendor: 1 bytes, line 2109
2109
2110<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.glowrecipe.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
2111</script>
vendor: 1 bytes, line 2111
2111
2112<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
2113  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);
2114</script>
vendor: 1 bytes, line 2114
2114
2115<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})}}));
2116</script>
vendor: 1 bytes, line 2116
2116
2117<script integrity="sha256-/LA1C2Bx6899fYCos0FS9qLj2opaGFm7AXrTUvBEb4s=" data-source-attribution="shopify.remote_product_tracking" data-shopify-remote-tracking="{&quot;publisher_shop_id&quot;:5438301,&quot;theme_id&quot;:148112244851,&quot;theme_published&quot;:true,&quot;theme_store_id&quot;:0,&quot;placement&quot;:&quot;collection&quot;,&quot;event_data&quot;:{&quot;handle&quot;:&quot;serious-about-serums&quot;,&quot;page_type&quot;:&quot;page&quot;},&quot;recommendations_tracking_enabled&quot;:true}" defer="defer" src="//www.glowrecipe.com/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-91d95044.js" crossorigin="anonymous"></script>
2117
2118<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.glowrecipe.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
2119<style id="shopify-accelerated-checkout-cart">
2120        #shopify-buyer-consent {
2121  margin-top: 1em;
2122  display: inline-block;
2123  width: 100%;
2124}
2125
2126#shopify-buyer-consent.hidden {
2127  display: none;
2128}
2129
2130#shopify-subscription-policy-button {
2131  background: none;
2132  border: none;
2133  padding: 0;
2134  text-decoration: underline;
2135  font-size: inherit;
2136  cursor: pointer;
2137}
2138
2139#shopify-subscription-policy-button::before {
2140  box-shadow: none;
2141}
2142
2143      </style>
2144<script id="sections-script" data-sections="header" defer="defer" src="//www.glowrecipe.com/cdn/shop/t/1677/compiled_assets/scripts.js?v=89534214636435516571788493546"></script>
vendor: 1 bytes, line 2144
2144
2145<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
2145 <style>
2146				.class-a{display:block !important;}
2147				.class-b{display:none !important;}
2148			</style><link href="//www.glowrecipe.com/cdn/shop/t/1677/assets/base.css?v=79719013990317913971788493545" rel="stylesheet" type="text/css" media="all" />
2149		<link href="//www.glowrecipe.com/cdn/shop/t/1677/assets/keen_slider.css?v=112929971831483852901788493463" rel="stylesheet" type="text/css" media="all" />
2150	
2151		
2151<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
2151
2152               
2153		
2154		
2154<script>
2155				window.addEventListener('load', function() {
2156					var loadHotjar = function() {
vendor: 127 bytes, lines 2156-2159
2156
2157						(function(h,o,t,j,a,r){
2158								h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
2159								h._hjSettings={hjid:
21592695336
vendor: 265 bytes, lines 2159-2165
2159,hjsv:6};
2160								a=o.getElementsByTagName('head')[0];
2161								r=o.createElement('script');r.async=1;
2162								r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
2163								a.appendChild(r);
2164						})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
2165					
2165};
2166					if (window.requestIdleCallback) {
2167						window.requestIdleCallback(loadHotjar, { timeout: 5000 });
2168					} else {
2169						window.setTimeout(loadHotjar, 2000);
2170					}
2171				});
2172		</script>
2172
2173
2174		
2174<script>
2175			const openQuickShopModal = (product) => {
2176				setTimeout(() => {
2177					window.SideCart.updateSideCart(true);
2178				}, "1000");
2179				}
2180				window.addEventListener('tolstoyWidgetReady', function() {
2181					window.tolstoyWidget.subscribe('tolstoy_spotlight_carousel_quick_shop_click', openQuickShopModal);
2182				});
2183		</script>
2183
2184
2185
2186<script type="application/json" id="oke-reviews-settings">{"subscriberId":"41915e47-fb72-4109-81cf-25e1e3b73626","analyticsSettings":{"isWidgetOnScreenTrackingEnabled":true,"provider":"ua"},"locale":"en","localeAndVariant":{"code":"en"},"matchCustomerLocale":false,"widgetSettings":{"global":{"dateSettings":{"format":{"type":"relative"}},"hideOkendoBranding":true,"reviewTranslationsMode":"off","showIncentiveIndicator":false,"searchEnginePaginationEnabled":false,"stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#000000","interspace":2,"shape":{"type":"thin"},"showBorder":false},"font":{"fontType":"inherit-from-page"}},"homepageCarousel":{"slidesPerPage":{"large":3,"medium":2},"totalSlides":12,"scrollBehaviour":"slide","style":{"showDates":true,"border":{"color":"#E5E5EB","width":{"value":1,"unit":"px"}},"bodyFont":{"hasCustomFontSettings":false},"headingFont":{"hasCustomFontSettings":false},"arrows":{"color":"#676986","size":{"value":24,"unit":"px"},"enabled":true},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#2C3E50","size":{"value":48,"unit":"px"},"enabled":true},"media":{"size":{"value":80,"unit":"px"},"imageGap":{"value":4,"unit":"px"},"enabled":true},"stars":{"height":{"value":18,"unit":"px"},"globalOverrideSettings":{"backgroundColor":"#E5E5E5","foregroundColor":"#000000"}},"productImageSize":{"value":48,"unit":"px"},"layout":{"name":"default","reviewDetailsPosition":"below","showProductName":false,"showAttributeBars":false,"showProductDetails":"only-when-grouped"},"highlightColor":"#0E7A82","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#2C3E50","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeSmall":{"value":12,"unit":"px"},"secondaryColor":"#676986"},"spaceBelow":{"value":20,"unit":"px"}},"defaultSort":"rating desc","autoPlay":false,"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true}},"mediaCarousel":{"minimumImages":1,"linkText":"Read More","stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","height":{"value":12,"unit":"px"}},"autoPlay":false,"slideSize":"medium","arrowPosition":"outside"},"mediaGrid":{"showMoreArrow":{"arrowColor":"#676986","enabled":true,"backgroundColor":"#f4f4f6"},"infiniteScroll":false,"gridStyleDesktop":{"layout":"default-desktop"},"gridStyleMobile":{"layout":"default-mobile"},"linkText":"Read More","stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","height":{"value":12,"unit":"px"}},"gapSize":{"value":10,"unit":"px"}},"questions":{"initialPageSize":6,"loadMorePageSize":6},"reviewsBadge":{"layout":"large","colorScheme":"dark"},"reviewsTab":{"enabled":false},"reviewsWidget":{"tabs":{"reviews":true,"questions":false},"header":{"columnDistribution":"space-between","verticalAlignment":"top","blocks":[{"columnWidth":"full","modules":[{"name":"rating-average","layout":"two-line"}],"textAlignment":"left"},{"columnWidth":"two-thirds","modules":[{"name":"reviews-keywords","heading":"Customers Talked About","maxKeywords":5}],"textAlignment":"left"},{"columnWidth":"full","modules":[{"name":"reviews-summary","heading":"Reviews Summary","maxTextLines":5}],"textAlignment":"left"},{"columnWidth":"full","modules":[{"name":"media-carousel","imageGap":{"value":4,"unit":"px"},"imageHeight":{"value":120,"unit":"px"}}],"textAlignment":"center"}]},"style":{"showDates":true,"border":{"color":"#E5E5E5","width":{"value":1,"unit":"px"}},"bodyFont":{"fontSize":{"value":16,"unit":"px"},"fontType":"use-global","fontWeight":400,"hasCustomFontSettings":true},"headingFont":{"fontSize":{"value":18,"unit":"px"},"fontType":"use-global","fontWeight":600,"hasCustomFontSettings":true},"filters":{"backgroundColorActive":"#000000","backgroundColor":"#FFFFFF","borderColor":"#000000","borderRadius":{"value":100,"unit":"px"},"borderColorActive":"#000000","textColorActive":"#FFFFFF","textColor":"#000000","searchHighlightColor":"#B2F9E9"},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#000000","size":{"value":48,"unit":"px"},"enabled":true},"stars":{"height":{"value":18,"unit":"px"},"globalOverrideSettings":{"backgroundColor":"#E5E5E5","foregroundColor":"#000000","interspace":2,"showBorder":false}},"shadingColor":"#FFFFFF","productImageSize":{"value":48,"unit":"px"},"button":{"backgroundColorActive":"#000000","borderColorHover":"#000000","backgroundColor":"#000000","borderColor":"#000000","backgroundColorHover":"#000000","textColorHover":"#FFFFFF","borderRadius":{"value":1,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColorActive":"#000000","textColorActive":"#FFFFFF","textColor":"#FFFFFF","font":{"fontSize":{"value":16,"unit":"px"},"fontType":"custom","fontFamily":"Gotham","fontWeight":700,"hasCu
2186stomFontSettings":true}},"highlightColor":"#000000","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#000000","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeLarge":{"value":22,"unit":"px"},"fontSizeSmall":{"value":14,"unit":"px"},"secondaryColor":"#000000"},"spaceBelow":{"value":20,"unit":"px"},"attributeBar":{"style":"default","backgroundColor":"#D3D4DD","shadingColor":"#9A9DB1","markerColor":"#000000"}},"showWhenEmpty":true,"reviews":{"list":{"layout":{"collapseReviewerDetails":false,"columnAmount":4,"name":"default","showAttributeBars":false,"borderStyle":"minimal","showProductVariantName":false,"showProductDetails":"never"},"loyalty":{"maxInitialAchievements":3},"initialPageSize":5,"replyTruncation":{"bodyMaxLines":4,"enabled":true},"media":{"layout":"thumbnail","size":{"value":100,"unit":"px"},"imageGap":{"value":4,"unit":"px"}},"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true},"loadMorePageSize":5},"controls":{"filterMode":"closed","freeTextSearchEnabled":false,"keywordsFilterEnabled":false,"writeReviewButtonEnabled":true,"defaultSort":"has_media desc"}}},"starRatings":{"showWhenEmpty":false,"style":{"globalOverrideSettings":{"backgroundColor":"#C1C0C1","foregroundColor":"#000000","interspace":2,"showBorder":false},"spaceAbove":{"value":0,"unit":"px"},"text":{"content":"review-count","style":"number-and-text","brackets":true},"singleStar":false,"height":{"value":18,"unit":"px"},"spaceBelow":{"value":0,"unit":"px"}},"clickBehavior":"scroll-to-widget"}},"features":{"attributeFiltersEnabled":true,"recorderPlusEnabled":true,"recorderQandaPlusEnabled":true,"reviewsKeywordsEnabled":true,"reviewsSummariesEnabled":true}}</script>
2186
2187            <style id="oke-css-vars">:root{--oke-widget-spaceAbove:20px;--oke-widget-spaceBelow:20px;--oke-starRating-spaceAbove:0;--oke-starRating-spaceBelow:0;--oke-button-backgroundColor:#000;--oke-button-backgroundColorHover:#000;--oke-button-backgroundColorActive:#000;--oke-button-textColor:#fff;--oke-button-textColorHover:#fff;--oke-button-textColorActive:#fff;--oke-button-borderColor:#000;--oke-button-borderColorHover:#000;--oke-button-borderColorActive:#000;--oke-button-borderRadius:1px;--oke-button-borderWidth:1px;--oke-button-fontWeight:700;--oke-button-fontSize:16px;--oke-button-fontFamily:Gotham,sans-serif;--oke-border-color:#e5e5e5;--oke-border-width:1px;--oke-text-primaryColor:#000;--oke-text-secondaryColor:#000;--oke-text-small:14px;--oke-text-regular:14px;--oke-text-large:22px;--oke-text-fontFamily:inherit;--oke-avatar-size:48px;--oke-avatar-backgroundColor:#e5e5eb;--oke-avatar-placeholderTextColor:#000;--oke-highlightColor:#000;--oke-shadingColor:#fff;--oke-productImageSize:48px;--oke-attributeBar-shadingColor:#9a9db1;--oke-attributeBar-borderColor:undefined;--oke-attributeBar-backgroundColor:#d3d4dd;--oke-attributeBar-markerColor:#000;--oke-filter-backgroundColor:#fff;--oke-filter-backgroundColorActive:#000;--oke-filter-borderColor:#000;--oke-filter-borderColorActive:#000;--oke-filter-textColor:#000;--oke-filter-textColorActive:#fff;--oke-filter-borderRadius:100px;--oke-filter-searchHighlightColor:#b2f9e9;--oke-mediaGrid-chevronColor:#676986;--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-reviewCarousel{--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-sr{--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#c1c0c1;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-title-fontWeight:600;--oke-title-fontSize:18px;--oke-title-fontFamily:inherit;--oke-bodyText-fontWeight:400;--oke-bodyText-fontSize:16px;--oke-bodyText-fontFamily:inherit}</style>
2188            <style id="oke-reviews-custom-css">.okeReviews.oke-sr{display:block}.title-wrapper .oke-sr-count--brackets:before,.title-wrapper .oke-sr-count--brackets:after,.upsell-container .oke-sr-label-text{display:none}[data-oke-widget] div.okeReviews[data-oke-container].oke-w{max-width:unset}div.oke-modal .okeReviews[data-oke-container].oke-w,div.okeReviews[data-oke-container] .oke-modal,div.okeReviews[data-oke-container] .oke-modal p,div.okeReviews[data-oke-container] .oke-modal .oke-helpful,div.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,div.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date{color:var(--oke-text-primaryColor)}div.okeReviews[data-oke-container] .oke-reviewContent-title,div.okeReviews .oke-reviewContent-title{font-weight:700;font-size:1.25em}.okeReviews[data-oke-container].oke-w .oke-button,div.okeReviews .oke-button{letter-spacing:.2em;font-family:Josefin Sans,sans-serif;font-weight:700;text-transform:uppercase;font-size:14px;line-height:1.4}div.okeReviews[data-oke-container] .oke-w-writeReview:before,div.okeReviews .oke-w-writeReview:before{display:none}.okeReviews[data-oke-container].oke-w .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{box-shadow:initial}.okeReviews.oke-w .oke-is-small .oke-w-reviews-writeReview{width:100%;padding-top:10px}.okeReviews.oke-w .oke-is-small .oke-button,.okeReviews.oke-w .oke-is-small .oke-qw-header-askQuestion{width:100%}div.okeReviews[data-oke-container] .oke-sortSelect-label{margin-right:0}div.okeReviews[data-oke-container] .oke-w-reviews-controls{flex-wrap:wrap}</style>
2189            <template id="oke-reviews-body-template"><svg id="oke-star-symbols" style="display:none!important" data-oke-id="oke-star-symbols"><symbol id="oke-star-empty" style="overflow:visible;"><path id="star-thin--empty" fill="var(--oke-stars-backgroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M9.944 6.4L8 0L6.056 6.4H0L4.944 9.928L3.064 16L8 12.248L12.944 16L11.064 9.928L16 6.4H9.944Z"/></symbol><symbol id="oke-star-filled" style="overflow:visible;"><path id="star-thin--filled" fill="var(--oke-stars-foregroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M9.944 6.4L8 0L6.056 6.4H0L4.944 9.928L3.064 16L8 12.248L12.944 16L11.064 9.928L16 6.4H9.944Z"/></symbol></svg></template>
2189<script>document.addEventListener('readystatechange',() =>{Array.from(document.getElementById('oke-reviews-body-template')?.content.children)?.forEach(function(child){if(!Array.from(document.body.querySelectorAll('[data-oke-id='.concat(child.getAttribute('data-oke-id'),']'))).length){document.body.prepend(child)}})},{once:true});</script>
2189
2190<style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/okendo-reviews-styles.6dbb2446.css"></style><style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/modules/okendo-star-rating.4cb378a8.css"></style><style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/modules/okendo-reviews-keywords.0942444f.css"></style><style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/modules/okendo-reviews-summary.a0c9d7d6.css"></style><style type="text/css">.okeReviews[data-oke-container],div.okeReviews{font-size:14px;font-size:var(--oke-text-regular);font-weight:400;font-family:var(--oke-text-fontFamily);line-height:1.6}.okeReviews[data-oke-container] *,.okeReviews[data-oke-container] :after,.okeReviews[data-oke-container] :before,div.okeReviews *,div.okeReviews :after,div.okeReviews :before{box-sizing:border-box}.okeReviews[data-oke-container] h1,.okeReviews[data-oke-container] h2,.okeReviews[data-oke-container] h3,.okeReviews[data-oke-container] h4,.okeReviews[data-oke-container] h5,.okeReviews[data-oke-container] h6,div.okeReviews h1,div.okeReviews h2,div.okeReviews h3,div.okeReviews h4,div.okeReviews h5,div.okeReviews h6{font-size:1em;font-weight:400;line-height:1.4;margin:0}.okeReviews[data-oke-container] ul,div.okeReviews ul{padding:0;margin:0}.okeReviews[data-oke-container] li,div.okeReviews li{list-style-type:none;padding:0}.okeReviews[data-oke-container] p,div.okeReviews p{line-height:1.8;margin:0 0 4px}.okeReviews[data-oke-container] p:last-child,div.okeReviews p:last-child{margin-bottom:0}.okeReviews[data-oke-container] a,div.okeReviews a{text-decoration:none;color:inherit}.okeReviews[data-oke-container] button,div.okeReviews button{border-radius:0;border:0;box-shadow:none;margin:0;width:auto;min-width:auto;padding:0;background-color:transparent;min-height:auto}.okeReviews[data-oke-container] button,.okeReviews[data-oke-container] input,.okeReviews[data-oke-container] select,.okeReviews[data-oke-container] textarea,div.okeReviews button,div.okeReviews input,div.okeReviews select,div.okeReviews textarea{font-family:inherit;font-size:1em}.okeReviews[data-oke-container] label,.okeReviews[data-oke-container] select,div.okeReviews label,div.okeReviews select{display:inline}.okeReviews[data-oke-container] select,div.okeReviews select{width:auto}.okeReviews[data-oke-container] article,.okeReviews[data-oke-container] aside,div.okeReviews article,div.okeReviews aside{margin:0}.okeReviews[data-oke-container] table,div.okeReviews table{background:transparent;border:0;border-collapse:collapse;border-spacing:0;font-family:inherit;font-size:1em;table-layout:auto}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,.okeReviews[data-oke-container] table tr,div.okeReviews table td,div.okeReviews table th,div.okeReviews table tr{border:0;font-family:inherit;font-size:1em}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,div.okeReviews table td,div.okeReviews table th{background:transparent;font-weight:400;letter-spacing:normal;padding:0;text-align:left;text-transform:none;vertical-align:middle}.okeReviews[data-oke-container] table tr:hover td,.okeReviews[data-oke-container] table tr:hover th,div.okeReviews table tr:hover td,div.okeReviews table tr:hover th{background:transparent}.okeReviews[data-oke-container] fieldset,div.okeReviews fieldset{border:0;padding:0;margin:0;min-width:0}.okeReviews[data-oke-container] img,.okeReviews[data-oke-container] svg,div.okeReviews img,div.okeReviews svg{max-width:none}.okeReviews[data-oke-container] div:empty,div.okeReviews div:empty{display:block}.okeReviews[data-oke-container] .oke-icon:before,div.okeReviews .oke-icon:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit}.okeReviews[data-oke-container] .oke-icon--select-arrow:before,div.okeReviews .oke-icon--select-arrow:before{content:""}.okeReviews[data-oke-container] .oke-icon--loading:before,div.okeReviews .oke-icon--loading:before{content:""}
2190.okeReviews[data-oke-container] .oke-icon--pencil:before,div.okeReviews .oke-icon--pencil:before{content:""}.okeReviews[data-oke-container] .oke-icon--filter:before,div.okeReviews .oke-icon--filter:before{content:""}.okeReviews[data-oke-container] .oke-icon--play:before,div.okeReviews .oke-icon--play:before{content:""}.okeReviews[data-oke-container] .oke-icon--tick-circle:before,div.okeReviews .oke-icon--tick-circle:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-left:before,div.okeReviews .oke-icon--chevron-left:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-right:before,div.okeReviews .oke-icon--chevron-right:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-down:before,div.okeReviews .oke-icon--thumbs-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-up:before,div.okeReviews .oke-icon--thumbs-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--close:before,div.okeReviews .oke-icon--close:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-up:before,div.okeReviews .oke-icon--chevron-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-down:before,div.okeReviews .oke-icon--chevron-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--star:before,div.okeReviews .oke-icon--star:before{content:""}.okeReviews[data-oke-container] .oke-icon--magnifying-glass:before,div.okeReviews .oke-icon--magnifying-glass:before{content:""}@font-face{font-family:oke-widget-icons;src:url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/fonts/oke-widget-icons.ttf) format("truetype"),url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/fonts/oke-widget-icons.woff) format("woff"),url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/img/oke-widget-icons.bc0d6b0a.svg) format("svg");font-weight:400;font-style:normal;font-display:swap}.okeReviews[data-oke-container] .oke-button,div.okeReviews .oke-button{display:inline-block;border-style:solid;border-color:var(--oke-button-borderColor);border-width:var(--oke-button-borderWidth);background-color:var(--oke-button-backgroundColor);line-height:1;padding:12px 24px;margin:0;border-radius:var(--oke-button-borderRadius);color:var(--oke-button-textColor);text-align:center;position:relative;font-weight:var(--oke-button-fontWeight);font-size:var(--oke-button-fontSize);font-family:var(--oke-button-fontFamily);outline:0}.okeReviews[data-oke-container] .oke-button-text,.okeReviews[data-oke-container] .oke-button .oke-icon,div.okeReviews .oke-button-text,div.okeReviews .oke-button .oke-icon{line-height:1}.okeReviews[data-oke-container] .oke-button.oke-is-loading,div.okeReviews .oke-button.oke-is-loading{position:relative}.okeReviews[data-oke-container] .oke-button.oke-is-loading:before,div.okeReviews .oke-button.oke-is-loading:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:undefined;font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-button.oke-is-loading>*,div.okeReviews .oke-button.oke-is-loading>*{opacity:0}.okeReviews[data-oke-container] .oke-button.oke-is-active,div.okeReviews .oke-button.oke-is-active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading),div.okeReviews .oke-button:not(.oke-is-loading){cursor:pointer}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{background-color:var(--oke-button-backgroundColorHover);color:var(--oke-button-textColorHover);border-color:var(--oke-button-borderColorHover);box-shadow:0 0 0 2px var(--oke-button-backgroundColorHover)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):active,.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-title,div.okeReviews .oke-title{font-weight:var(--oke-title-fontWeight);font-size:var(--oke-title-fontSize);font-family:var(--oke-title-fontFamily)}.okeReviews[data-oke-container] .oke-bodyText,div.okeReviews .oke-bodyText{font-weight:var(--oke-bodyText-fontWeight);font-size:var(--oke-bodyText-fontSize);font-family:var(--oke-bodyText-fontFamily)}.okeReviews[data-oke-container] .oke-linkButton,div.okeReviews .oke-linkButton{curs
2190or:pointer;font-weight:700;pointer-events:auto;text-decoration:underline}.okeReviews[data-oke-container] .oke-linkButton:hover,div.okeReviews .oke-linkButton:hover{text-decoration:none}.okeReviews[data-oke-container] .oke-readMore,div.okeReviews .oke-readMore{cursor:pointer;color:inherit;text-decoration:underline}.okeReviews[data-oke-container] .oke-select,div.okeReviews .oke-select{cursor:pointer;background-repeat:no-repeat;background-position-x:100%;background-position-y:50%;border:none;padding:0 24px 0 12px;-moz-appearance:none;appearance:none;color:inherit;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='currentColor' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");outline-offset:4px}.okeReviews[data-oke-container] .oke-select:disabled,div.okeReviews .oke-select:disabled{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%239a9db1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}.okeReviews[data-oke-container] .oke-loader,div.okeReviews .oke-loader{position:relative}.okeReviews[data-oke-container] .oke-loader:before,div.okeReviews .oke-loader:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:var(--oke-text-secondaryColor);font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-a11yText,div.okeReviews .oke-a11yText{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.okeReviews[data-oke-container] .oke-hidden,div.okeReviews .oke-hidden{display:none}.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2147483647;max-height:100%;background-color:rgba(0,0,0,.5);padding:40px 0 12px}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{display:flex;align-items:center;padding:48px 0}}.okeReviews[data-oke-container] .oke-modal ::-moz-selection,div.okeReviews .oke-modal ::-moz-selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal ::selection,div.okeReviews .oke-modal ::selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal,.okeReviews[data-oke-container] .oke-modal p,div.okeReviews .oke-modal,div.okeReviews .oke-modal p{color:#272d45}.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{background-color:#fff;margin:auto;position:relative;will-change:transform,opacity;width:calc(100% - 24px)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{max-width:1000px}}.okeReviews[data-oke-container] .oke-modal-close,div.okeReviews .oke-modal-close{cursor:pointer;position:absolute;width:32px;height:32px;top:-32px;padding:4px;right:-4px;line-height:1}.okeReviews[data-oke-container] .oke-modal-close:before,div.okeReviews .oke-modal-close:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:#fff;font-size:24px;display:inline-block;width:24px;height:24px}.okeReviews[data-oke-container] .oke-modal-overlay,div.okeReviews .oke-modal-overlay{background-color:rgba(43,46,56,.9)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal--large .oke-modal-content,div.okeReviews .oke-modal--large .oke-modal-content{max-width:1200px}}.okeReviews[data-oke-container] .oke-modal .oke-helpful,.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date,div.okeReviews .oke-modal .oke-helpful,div.okeReviews .oke-modal .oke-helpful-vote-button,div.okeReviews .oke-modal .oke-reviewContent-date{color:#676986}.oke-modal .okeReviews[data-oke-container].oke-w,.oke-modal div.okeReviews.oke-w{color:#272d45}.okeReviews[data-oke-container] .oke-tag,div.okeReviews .oke-tag{align-items:center;color:#272d45;display:flex;font-size:var(--oke-text-small);font-weight:600;text-align:left;position:relative;z-index:2;background-color:#f4f4f6;padding:4px 6px;border:none;border-radius:4px;gap:6px;line-height:1}.okeReviews[data-oke-container] .oke-tag svg,div.okeReviews .oke-tag svg{fill:currentColor;height:1rem}.okeReviews[data-oke-container] .hooper,div.okeReviews .hooper{height:auto}.okeReviews--left{text-align:left}.okeReviews--right{text-align:right}.okeReviews--center{text-align:center}.okeReviews :not([tabindex="-1"]):focus-visible{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.is-oke-modalOpen{overflow:hidden!important}img.oke-is-error{background-color:var(--oke-shadingColor);background-size:cover;background-position:50% 50%;box-shadow:inset 0 0 0 1px var(--oke-border-color)}@keyframes oke-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes oke-fade-in{0%{opacity:0}
2190to{opacity:1}}.layout-panel-flex>div:has([data-oke-container]){width:100%}
2191.oke-stars{line-height:1;position:relative;display:inline-block}.oke-stars-background svg{overflow:visible}.oke-stars-foreground{overflow:hidden;position:absolute;top:0;left:0}.oke-sr{display:inline-block;padding-top:var(--oke-starRating-spaceAbove);padding-bottom:var(--oke-starRating-spaceBelow)}.oke-sr .oke-is-clickable{cursor:pointer}.oke-sr--hidden{display:none}.oke-sr-count,.oke-sr-rating,.oke-sr-stars{display:inline-block;vertical-align:middle}.oke-sr-stars{line-height:1;margin-right:8px}.oke-sr-rating{display:none}.oke-sr-count--brackets:before{content:"("}.oke-sr-count--brackets:after{content:")"}
2192.oke-rk{display:block}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading,div.okeReviews .oke-reviewsKeywords-heading{font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading-skeleton,div.okeReviews .oke-reviewsKeywords-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list,div.okeReviews .oke-reviewsKeywords-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category,div.okeReviews .oke-reviewsKeywords-list-category{background-color:var(--oke-filter-backgroundColor);color:var(--oke-filter-textColor);border:1px solid var(--oke-filter-borderColor);border-radius:var(--oke-filter-borderRadius);padding:6px 16px;transition:background-color .1s ease-out,border-color .1s ease-out;white-space:nowrap}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-clickable,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-clickable{cursor:pointer}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-active,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-active{background-color:var(--oke-filter-backgroundColorActive);color:var(--oke-filter-textColorActive);border-color:var(--oke-filter-borderColorActive)}.okeReviews[data-oke-container] .oke-reviewsKeywords .oke-translateButton,div.okeReviews .oke-reviewsKeywords .oke-translateButton{margin-top:12px}
2193.oke-rs{display:block}.oke-rs .oke-reviewsSummary.oke-is-preRender .oke-reviewsSummary-summary{-webkit-mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;max-height:150px}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip,div.okeReviews .oke-reviewsSummary .oke-tooltip{display:inline-block;font-weight:400}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip-trigger,div.okeReviews .oke-reviewsSummary .oke-tooltip-trigger{height:15px;width:15px;overflow:hidden;transform:translateY(-10%)}.okeReviews[data-oke-container] .oke-reviewsSummary-heading,div.okeReviews .oke-reviewsSummary-heading{align-items:center;-moz-column-gap:4px;column-gap:4px;display:inline-flex;font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsSummary-heading-skeleton,div.okeReviews .oke-reviewsSummary-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon,div.okeReviews .oke-reviewsSummary-icon{fill:currentColor;font-size:14px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon svg,div.okeReviews .oke-reviewsSummary-icon svg{vertical-align:baseline}.okeReviews[data-oke-container] .oke-reviewsSummary-summary.oke-is-truncated,div.okeReviews .oke-reviewsSummary-summary.oke-is-truncated{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}</style>
2194<script async id="okendo-reviews-script" src="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/js/okendo-reviews.js"></script>
2194
2195
2196				
2196<script>
2197					!function(m,l,c,p){if(!m.mlcp){var mlcp=m.mlcp=function(){mlcp.callMethod?mlcp.callMethod.apply(mlcp,arguments):mlcp.queue.push(arguments)};mlcp.version='1.0.0';mlcp.queue=[];var s=l.createElement(c);s.async=!0;s.src=p;var f=l.getElementsByTagName(c)[0];f.parentNode.insertBefore(s,f)}}(window,document,'script','https://cdn.moloco.com/p/moloco-pixel.js');
2198					mlcp('init', 'pxl-4kS9zozQ');
2199					mlcp('event', 'PageView');
2200				</script>
2200
2201				
2202				
2202<script>
2203					window.oaiq = window.oaiq || function () {
2204						(window.oaiq.q = window.oaiq.q || []).push(arguments);
2205					};
2206					oaiq("init", { pixelId: "EfmzHrfoEvEx4byhhJgTir" });
2207				</script>
2207
2208				
2208<script async src="https://bzrcdn.openai.com/sdk/oaiq.min.js"></script>
2208
2209	<!-- BEGIN app block: shopify://apps/pandectes-gdpr/blocks/banner/58c0baa2-6cc1-480c-9ea6-38d6d559556a -->
2210
2211  
2212    
2213      <!-- TCF is active, scripts are loaded above -->
2214      
2215        
2215<script>
2216          if (!window.PandectesRulesSettings) {
2217            window.PandectesRulesSettings = {"store":{"id":5438301,"adminMode":false,"headless":false,"storefrontRootDomain":"","checkoutRootDomain":"","storefrontAccessToken":""},"banner":{"revokableTrigger":true,"cookiesBlockedByDefault":"7","hybridStrict":false,"isActive":true},"geolocation":{"auOnly":false,"brOnly":false,"caOnly":false,"chOnly":false,"euOnly":false,"jpOnly":false,"nzOnly":false,"thOnly":false,"zaOnly":false,"canadaOnly":false,"canadaLaw25":false,"canadaPipeda":false,"globalVisibility":true},"blocker":{"isActive":true,"googleConsentMode":{"isActive":false,"id":"","analyticsId":"","adwordsId":"","adStorageCategory":4,"analyticsStorageCategory":2,"functionalityStorageCategory":1,"personalizationStorageCategory":1,"securityStorageCategory":0,"customEvent":true,"redactData":true,"urlPassthrough":false,"dataLayerProperty":"dataLayer","waitForUpdate":0,"useNativeChannel":false},"facebookPixel":{"isActive":false,"id":"","ldu":false},"microsoft":{"isActive":false,"uetTags":""},"clarity":{},"rakuten":{"isActive":false,"cmp":false,"ccpa":false},"gpcIsActive":true,"klaviyoIsActive":false,"defaultBlocked":7,"patterns":{"whiteList":["pay.google.com"],"blackList":{"1":["static.hotjar.com/c/hotjar","fwscripts.com","sdk.postscript.io","asset.fwcdn3.com","google-analytics.com|googletagmanager.com/gtag/destination|googletagmanager.com/gtag/js?id=UA|googletagmanager.com/gtag/js?id=G","www.paypal.com"],"2":["gotolstoy.com","https://www.googletagmanager.com/gtm.js?id=GTM"],"4":["tracead.com","s.pinimg.com/ct/core.js|s.pinimg.com/ct/lib","statis.shareasale.com","bat.bing.com","googleads.g.doubleclick.net","connect.facebook.net","static.klaviyo.com|www.klaviyo.com|static-tracking.klaviyo.com|a.klaviyo.com","s.adroll.com/j/","googletagmanager.com/gtag/js\\?id=AW|googleadservices.com","intg.snapchat.com/shopify/shopify-scevent-init.js","analytics.tiktok.com/i18n/pixel","static.ads-twitter.com/uwt.js|static.ads-twitter.com/oct.js"],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":["player.vimeo.com","www.youtube.com|www.youtube-nocookie.com"],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}};
2218            const rulesScript = document.createElement('script');
2219            window.PandectesRulesSettings.auto = true;
2220            rulesScript.src = "https://cdn.shopify.com/extensions/01a0d309-5aa0-76cf-9f48-2a42b2760403/gdpr-cookie-consent-411/assets/pandectes-rules.js";
2221            const firstChild = document.head.firstChild;
2222            document.head.insertBefore(rulesScript, firstChild);
2223          }
2224        </script>
2224
2225      
2226      
2226<script>
2227        
2228          window.PandectesSettings = {"store":{"id":5438301,"plan":"enterprise","theme":"12.08.25 Dew Drops Bday + Holiday Gift Of Glow","primaryLocale":"en","adminMode":false,"headless":false,"storefrontRootDomain":"","checkoutRootDomain":"","storefrontAccessToken":""},"tsPublished":1765204141,"declaration":{"showPurpose":false,"showProvider":false,"showDateGenerated":true},"language":{"unpublished":[],"languageMode":"Single","fallbackLanguage":"en","languageDetection":"browser","languagesSupported":[]},"texts":{"managed":{"headerText":{"en":"We respect your privacy"},"consentText":{"en":"When you visit our website, if you give your consent to the use of all cookies by clicking the “Accept All” button, we and our third-party providers will use cookies and other trackers to personalize your experience, to conduct analytics, and to provide targeted online advertising. You can also select the types of cookies that you are willing to allow us to use by clicking the \"Manage Cookie Preferences\" link. If you want to deny the use of optional cookies on this website by clicking the “Reject All” button, we will only use essential and functional cookies that are necessary for the functioning of the website and to remember your cookie consent choice for future visits. Regardless of what you choose now, you can change your mind at any time by using our cookie tool, which will set a necessary cookie on your device to remember your preferences. For more information about our privacy practices and how our website uses cookies, please see our privacy policy."},"linkText":{"en":"Privacy Policy"},"imprintText":{"en":"Terms of Service"},"googleLinkText":{"en":"Google's Privacy Terms"},"allowButtonText":{"en":"Accept"},"denyButtonText":{"en":"Decline"},"dismissButtonText":{"en":"Ok"},"leaveSiteButtonText":{"en":"Leave this site"},"preferencesButtonText":{"en":"Manage Cookie Preferences"},"cookiePolicyText":{"en":"Cookie policy"},"preferencesPopupTitleText":{"en":"Manage consent preferences"},"preferencesPopupIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."},"preferencesPopupSaveButtonText":{"en":"Save preferences"},"preferencesPopupCloseButtonText":{"en":"Close"},"preferencesPopupAcceptAllButtonText":{"en":"Accept all"},"preferencesPopupRejectAllButtonText":{"en":"Reject all"},"cookiesDetailsText":{"en":"Cookies details"},"preferencesPopupAlwaysAllowedText":{"en":"Always allowed"},"accessSectionParagraphText":{"en":"You have the right to request access to your data at any time."},"accessSectionTitleText":{"en":"Data portability"},"accessSectionAccountInfoActionText":{"en":"Personal data"},"accessSectionDownloadReportActionText":{"en":"Request export"},"accessSectionGDPRRequestsActionText":{"en":"Data subject requests"},"accessSectionOrdersRecordsActionText":{"en":"Orders"},"rectificationSectionParagraphText":{"en":"You have the right to request your data to be updated whenever you think it is appropriate."},"rectificationSectionTitleText":{"en":"Data Rectification"},"rectificationCommentPlaceholder":{"en":"Describe what you want to be updated"},"rectificationCommentValidationError":{"en":"Comment is required"},"rectificationSectionEditAccountActionText":{"en":"Request an update"},"erasureSectionTitleText":{"en":"Right to be forgotten"},"erasureSectionParagraphText":{"en":"You have the right to ask all your data to be erased. After that, you will no longer be able to access your account."},"erasureSectionRequestDeletionActionText":{"en":"Request personal data deletion"},"consentDate":{"en":"Consent date"},"consentId":{"en":"Consent ID"},"consentSectionChangeConsentActionText":{"en":"Change consent preference"},"consentSectionConsentedText":{"en":"You consented to the cookies policy of this website on"},"consentSectionNoConsentText":{"en":"You have not consented to the cookies policy of this website."},"consentSectionTitleText":{"en":"Your cookie consent"},"consentStatus":{"en":"Consent preference"},"confirmationFailureMessage":{"en":"Your request was not verified. Please try again and if problem persists, contact store owner for assistance"},"confirmationFailureTitle":{"en":"A problem occurred"},"confirmationSuccessMessage":{"en":"We will soon get back to you as to your request."},"confirmationSuccessTitle":{"en":"Your request is verified"},"guestsSupportEmailFailureMessage":{"en":"Your request was not submitted. Please try again and if problem persists, contact store owner for assistance."},"guestsSupportEmailFailureTitle":{"en":"A problem occurred"},"guestsSupportEmailPlaceholder":{"en":"E-mail address"},"guestsSupportEmailSuccessMessage":{"en":"If you are registered as a customer of this store, you will soon receive an email with instructions on how to proceed."}
2228,"guestsSupportEmailSuccessTitle":{"en":"Thank you for your request"},"guestsSupportEmailValidationError":{"en":"Email is not valid"},"guestsSupportInfoText":{"en":"Please login with your customer account to further proceed."},"submitButton":{"en":"Submit"},"submittingButton":{"en":"Submitting..."},"cancelButton":{"en":"Cancel"},"declIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."},"declName":{"en":"Name"},"declPurpose":{"en":"Purpose"},"declType":{"en":"Type"},"declRetention":{"en":"Retention"},"declProvider":{"en":"Provider"},"declFirstParty":{"en":"First-party"},"declThirdParty":{"en":"Third-party"},"declSeconds":{"en":"seconds"},"declMinutes":{"en":"minutes"},"declHours":{"en":"hours"},"declDays":{"en":"days"},"declWeeks":{"en":"week(s)"},"declMonths":{"en":"months"},"declYears":{"en":"years"},"declSession":{"en":"Session"},"declDomain":{"en":"Domain"},"declPath":{"en":"Path"}}
2228,"categories":{"strictlyNecessaryCookiesTitleText":{"en":"Strictly necessary cookies"},"strictlyNecessaryCookiesDescriptionText":{"en":"These cookies are essential in order to enable you to move around the website and use its features, such as accessing secure areas of the website. The website cannot function properly without these cookies."},"functionalityCookiesTitleText":{"en":"Functional cookies"},"functionalityCookiesDescriptionText":{"en":"These cookies enable the site to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly."},"performanceCookiesTitleText":{"en":"Performance cookies"},"performanceCookiesDescriptionText":{"en":"These cookies enable us to monitor and improve the performance of our website. For example, they allow us to count visits, identify traffic sources and see which parts of the site are most popular."},"targetingCookiesTitleText":{"en":"Targeting cookies"},"targetingCookiesDescriptionText":{"en":"These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites.    They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising."},"unclassifiedCookiesTitleText":{"en":"Unclassified cookies"},"unclassifiedCookiesDescriptionText":{"en":"Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies."}},"auto":{}},"library":{"previewMode":false,"fadeInTimeout":0,"defaultBlocked":7,"showLink":true,"showImprintLink":true,"showGoogleLink":false,"enabled":true,"cookie":{"expiryDays":365,"secure":true,"domain":""},"dismissOnScroll":false,"dismissOnWindowClick":false,"dismissOnTimeout":false,"palette":{"popup":{"background":"#FFFFFF","backgroundForCalculations":{"a":1,"b":255,"g":255,"r":255},"text":"#000000"},"button":{"background":"transparent","backgroundForCalculations":{"a":1,"b":255,"g":255,"r":255},"text":"#000000","textForCalculation":{"a":1,"b":0,"g":0,"r":0},"border":"#000000"}},"content":{"href":"https://www.glowrecipe.com/pages/privacy-policy","imprintHref":"https://www.glowrecipe.com/pages/terms-of-service","close":"&#10005;","target":"_blank","logo":""},"window":"<div role=\"dialog\" aria-label=\"{{header}}\" aria-describedby=\"cookieconsent:desc\" id=\"pandectes-banner\" class=\"cc-window-wrapper cc-bottom-center-wrapper\"><div class=\"pd-cookie-banner-window cc-window {{classes}}\">{{children}}</div></div>","compliance":{"opt-both":"<div class=\"cc-compliance cc-highlight\">{{deny}}{{allow}}</div>"},"type":"opt-both","layouts":{"basic":"{{messagelink}}{{compliance}}"},"position":"bottom-center","theme":"wired","revokable":false,"animateRevokable":false,"revokableReset":false,"revokableLogoUrl":"","revokablePlacement":"bottom-left","revokableMarginHorizontal":15,"revokableMarginVertical":15,"static":false,"autoAttach":true,"hasTransition":false,"blacklistPage":[""],"elements":{"close":"<button aria-label=\"Close\" type=\"button\" class=\"cc-close\">{{close}}</button>","dismiss":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-dismiss\">{{dismiss}}</button>","allow":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-allow\">{{allow}}</button>","deny":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-deny\">{{deny}}</button>","preferences":"<button type=\"button\" class=\"cc-btn cc-settings\" aria-controls=\"pd-cp-preferences\" onclick=\"Pandectes.fn.openPreferences()\">{{preferences}}</button>"}},"geolocation":{"auOnly":false,"brOnly":false,"caOnly":false,"chOnly":false,"euOnly":false,"jpOnly":false,"nzOnly":false,"thOnly":false,"zaOnly":false,"canadaOnly":false,"canadaLaw25":false,"canadaPipeda":false,"globalVisibility":true},"dsr":{"guestsSupport":true,"accessSectionDownloadReportAuto":false},"banner":{"resetTs":1677265848,"extraCss":"        .cc-banner-logo {max-width: 36em!important;}    @media(min-width: 768px) {.cc-window.cc-floating{max-width: 36em!important;width: 36em!important;}}    .cc-message, .pd-cookie-banner-window .cc-header, .cc-logo {text-align: center}    .cc-window-wrapper{z-index: 2147483647;}    .cc-window{z-index: 2147483647;font-size: 12px!important;font-family: inherit;}    .pd-cookie-banner-window .cc-header{font-size: 12px!important;font-family: inherit;}    .pd-cp-ui{font-family: inherit; background-color: #FFFFFF;color:#000000;}    button.pd-cp-btn, a.pd-cp-btn{}    input + .pd-cp-preferences-slider{background-color: rgba(0, 0, 0, 0.3)}    .pd-cp-scrolling-section::-webkit-scrollbar{background-color: rgba(0, 0, 0, 0.3)}    input:checked + .pd-cp-preferences-slider{background-color: rgba(0, 0, 0, 1)}    .pd-cp-scrolling-section::-webkit-scrollbar-thumb {background-color: rgba(0, 0, 0, 1)}    .pd-cp-ui-close{color:#000000;}    .pd-cp-preferences-slider:before{background-color: #FFFFFF}    .pd-cp-title:before {border-color: #000000!important}    .pd-cp-preferences-slider{background-color:#000000}    .pd-cp-toggle{color:#000000!important}    @media(max-width:699px) {.pd-cp-ui-close-top svg {fill: #000000}}    .pd-cp-toggle:hover,.pd-cp-toggle:visited,.pd-cp-toggle:active{color:#000000!important}    .pd-cookie-banner-window {box-shadow: 0 0 18px rgb(0 0 0 / 20%);}  @media (max-width: 767px) {    .cc-window.cc-floating {        max-width: 100vw !important;    }}","customJavascript":{},"showPoweredBy":false,"logoHeight":40,"revokableTrigger":true,"hybridStrict":false,"cookiesBlockedByDefault":"7","isActive":true,"implicitSavePreferences":false,"cookieIcon":false,"blockBots":false,"showCookiesDetails":true,"hasTransition":false,"blockingPage":false,"showOnlyLandingPage":false,"leaveSiteUrl":"https://www.google.com","linkRespectStoreLang":false},"cookies":{"0":[{"name":"localization","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Shopify store localization"}},{"name":"secure_customer_sig","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used in connection with customer login."}},{"name":"_cmp_a","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","session":false,"expires":24,"unit":"declHours","purpose":{"en":"Used for managing customer privacy settings."}},{"name":"cart_currency","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"15 day(s)","session":false,"expires":15,"unit":"declDays","purpose":{"en":"Used in connection with shopping cart."}},{"name":"keep_alive","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Used in connection with buyer localization."}},{"name":"shopify_pay_redirect","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"60 minute(s)","session":false,"expires":60,"unit":"declMinutes","purpose":{"en":"Used in connection with checkout."}},{"name":"_secure_session_id","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"24 hour(s)","session":false,"expires":24,"unit":"declHours","purpose":{"en":"Used in connection with navigation through a storefront."}},{"name":"_tracking_consent","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Tracking preferences."}},{"name":"_pandectes_gdpr","type":"http","domain":".www.glowrecipe.com","path":"/","provider":"Pandectes","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used for the functionality of the cookies consent banner."}},{"name":"locale_bar_accepted","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"Session","session":true,"expires":-55,"unit":"declYears","purpose":{"en":"This cookie is provided by the Geolocation app and is used to load the bar."}},{"name":"_shopify_essential","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used on the accounts page."}},{"name":"cart","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 month(s)","session":false,"expires":1,"unit":"declMonths","purpose":{"en":"Necessary for the shopping cart functionality on the website."}},{"name":"cart_sig","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 month(s)","session":false,"expires":1,"unit":"declMonths","purpose":{"en":"Shopify analytics."}}
2228,{"name":"cart_ts","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 month(s)","session":false,"expires":1,"unit":"declMonths","purpose":{"en":"Used in connection with checkout."}},{"name":"wpm-test-cookie","type":"http","domain":"com","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declSeconds","purpose":{"en":""}}],"1":[{"name":"PHPSESSID","type":"http","domain":"tracead.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":-1677265915,"unit":"declSeconds","purpose":{"en":"Cookie is placed by PHP with unknown functionality"}},{"name":"_hjSession_2695336","type":"http","domain":".glowrecipe.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Used by Hotjar to provide functions across pages."}},{"name":"_hjSessionUser_2695336","type":"http","domain":".glowrecipe.com","path":"/","provider":"Hotjar","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used by Hotjar to store a unique user ID."}},{"name":"_pinterest_ct_ua","type":"http","domain":".ct.pinterest.com","path":"/","provider":"Pinterest","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used to group actions across pages."}},{"name":"_hjTLDTest","type":"http","domain":"glowrecipe.com","path":"/","provider":"Hotjar","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declSeconds","purpose":{"en":"Used to determine the most generic cookie path to use, instead of page hostname."}}],"2":[{"name":"_landing_page","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","session":false,"expires":14,"unit":"declDays","purpose":{"en":"Tracks landing pages."}},{"name":"_shopify_y","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Shopify analytics."}},{"name":"_s","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"31 minute(s)","session":false,"expires":31,"unit":"declMinutes","purpose":{"en":"Shopify analytics."}},{"name":"_y","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Shopify analytics."}},{"name":"_orig_referrer","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"14 day(s)","session":false,"expires":14,"unit":"declDays","purpose":{"en":"Tracks landing pages."}},{"name":"_shopify_s","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"31 minute(s)","session":false,"expires":31,"unit":"declMinutes","purpose":{"en":"Shopify analytics."}},{"name":"_ga_NF5EKRHSSV","type":"http","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Cookie is set by Google Analytics with unknown functionality"}},{"name":"_shopify_sa_t","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"_shopify_sa_p","type":"http","domain":".glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"_ga","type":"http","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Cookie is set by Google Analytics with unknown functionality"}},{"name":"_gid","type":"http","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"24 hour(s)","session":false,"expires":24,"unit":"declHours","purpose":{"en":"Cookie is placed by Google Analytics to count and track pageviews."}},{"name":"_gat","type":"http","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"7 second(s)","session":false,"expires":7,"unit":"declSeconds","purpose":{"en":"Cookie is placed by Google Analytics to filter requests from bots."}},{"name":"_shopify_y","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Shopify analytics."}}
2228,{"name":"_shopify_s","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics."}},{"name":"_shopify_sa_t","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"_shopify_sa_p","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics relating to marketing & referrals."}},{"name":"__cf_bm","type":"http","domain":".sdk-api.postscript.io","path":"/","provider":"CloudFlare","firstParty":false,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Used to manage incoming traffic that matches criteria associated with bots."}},{"name":"_shopify_s","type":"http","domain":"com","path":"/","provider":"Shopify","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declSeconds","purpose":{"en":"Shopify analytics."}},{"name":"bugsnag-anonymous-id","type":"html_local","domain":"https://pay.shopify.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}}],"4":[{"name":"_ttp","type":"http","domain":".tiktok.com","path":"/","provider":"TikTok","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"To measure and improve the performance of your advertising campaigns and to personalize the user's experience (including ads) on TikTok."}},{"name":"_gcl_au","type":"http","domain":".glowrecipe.com","path":"/","provider":"Google","firstParty":true,"retention":"90 day(s)","session":false,"expires":90,"unit":"declDays","purpose":{"en":"Cookie is placed by Google Tag Manager to track conversions."}},{"name":"_fbp","type":"http","domain":".glowrecipe.com","path":"/","provider":"Facebook","firstParty":true,"retention":"90 day(s)","session":false,"expires":90,"unit":"declDays","purpose":{"en":"Cookie is placed by Facebook to track visits across websites."}},{"name":"_pin_unauth","type":"http","domain":".glowrecipe.com","path":"/","provider":"Pinterest","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used to group actions for users who cannot be identified by Pinterest."}},{"name":"_ttp","type":"http","domain":".glowrecipe.com","path":"/","provider":"TikTok","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"To measure and improve the performance of your advertising campaigns and to personalize the user's experience (including ads) on TikTok."}},{"name":"test_cookie","type":"http","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":true,"retention":"15 minute(s)","session":false,"expires":15,"unit":"declMinutes","purpose":{"en":"To measure the visitors’ actions after they click through from an advert. Expires after each visit."}},{"name":"_tt_enable_cookie","type":"http","domain":".glowrecipe.com","path":"/","provider":"TikTok","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used to identify a visitor."}},{"name":"__kla_id","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Klaviyo","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Tracks when someone clicks through a Klaviyo email to your website"}},{"name":"IDE","type":"http","domain":".doubleclick.net","path":"/","provider":"Google","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"To measure the visitors’ actions after they click through from an advert. Expires after 1 year."}},{"name":"ar_debug","type":"http","domain":".pinterest.com","path":"/","provider":"Teads","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Checks whether a technical debugger-cookie is present."}},{"name":"_pin_unauth","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Pinterest","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used to group actions for users who cannot be identified by Pinterest."}},{"name":"_ttp","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"TikTok","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"To measure and improve the performance of your advertising campaigns and to personalize the user's experience (including ads) on TikTok."}},{"name":"_tt_enable_cookie","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"TikTok","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used to identify a visitor."}}
2228,{"name":"lastExternalReferrer","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Facebook","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Detects how the user reached the website by registering their last URL-address."}},{"name":"lastExternalReferrerTime","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Facebook","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Contains the timestamp of the last update of the lastExternalReferrer cookie."}},{"name":"tt_pixel_session_index","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"TikTok","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":"Used by the social networking service, TikTok, for tracking the use of embedded services."}},{"name":"tt_appInfo","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"TikTok","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":"Used by the social networking service, TikTok, for tracking the use of embedded services."}},{"name":"tt_sessionId","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"TikTok","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":"Used by the social networking service, TikTok, for tracking the use of embedded services."}}],"8":[{"name":"tracead_v2","type":"http","domain":"tracead.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"__olAlertsForShop","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":-1677265915,"unit":"declSeconds","purpose":{"en":""}},{"name":"_hjIncludedInSessionSample_2695336","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"2 minute(s)","session":false,"expires":2,"unit":"declMinutes","purpose":{"en":""}},{"name":"_hjIncludedInPageviewSample","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"2 minute(s)","session":false,"expires":2,"unit":"declMinutes","purpose":{"en":""}},{"name":"_hjAbsoluteSessionInProgress","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"__idcontext","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"carthash","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":-1677265915,"unit":"declSeconds","purpose":{"en":""}},{"name":"__adcontext","type":"http","domain":".cdnwidget.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"dd9b583d-b899-4ac1-845d-575213087efc","type":"http","domain":"www.pubxtags.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 day(s)","session":false,"expires":30,"unit":"declDays","purpose":{"en":""}},{"name":"__3idcontext","type":"http","domain":".cdnwidget.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bounceClientVisit4566v","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"did","type":"http","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"didts","type":"http","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bounceClientVisit4566c","type":"http","domain":".bounceexchange.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"nnls","type":"http","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"60 day(s)","session":false,"expires":60,"unit":"declDays","purpose":{"en":""}},{"name":"pxrc","type":"http","domain":".pippio.com","path":"/","provider":"Unknown","firstParty":true,"retention":"60 day(s)","session":false,"expires":60,"unit":"declDays","purpose":{"en":""}}
2228,{"name":"_ps_session","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"24 hour(s)","session":false,"expires":24,"unit":"declHours","purpose":{"en":""}},{"name":"bounceClientVisit4566","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_hjFirstSeen","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":""}},{"name":"_hjLocalStorageTest","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Checks if the Tracking Code can use Local Storage. If it can, a value of 1 is set."}},{"name":"_hjSessionStorageTest","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":"Checks if the Tracking Code can use Session Storage. If it can, a value of 1 is set."}},{"name":"pagead/1p-user-list/#","type":"html_session","domain":"https://www.google.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"pagead/1p-user-list/#","type":"html_session","domain":"https://www.google.ie","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_conv_v","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"6 month(s)","session":false,"expires":6,"unit":"declMonths","purpose":{"en":""}},{"name":"fw_utm","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_uid","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"track.gif/client_gdpr_optout","type":"html_session","domain":"https://events.bouncex.net","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_conv_s","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"20 minute(s)","session":false,"expires":20,"unit":"declMinutes","purpose":{"en":""}},{"name":"__utmzz","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"6 month(s)","session":false,"expires":6,"unit":"declMonths","purpose":{"en":""}},{"name":"fw_se","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"__utmzzses","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":-55,"unit":"declYears","purpose":{"en":""}},{"name":"fw_cchid","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_bid","type":"http","domain":".glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"kl_csrftoken","type":"http","domain":".klaviyo.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"ads/ga-audiences","type":"html_session","domain":"https://www.google.ie","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tolstoy-anonymousId","type":"http","domain":".gotolstoy.com","path":"/","provider":"Unknown","firstParty":false,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
2228+/","type":"http","domain":"glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declSeconds","purpose":{"en":""}},{"name":"wpm-test-cookie","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declSeconds","purpose":{"en":""}},{"name":"wpm-test-cookie","type":"http","domain":"glowrecipe.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Session","session":true,"expires":1,"unit":"declSeconds","purpose":{"en":""}},{"name":"k","type":"http","domain":"ssl.kaptcha.com","path":"/","provider":"Unknown","firstParty":false,"retention":"3 month(s)","session":false,"expires":3,"unit":"declMonths","purpose":{"en":""}},{"name":"AMP_T_FINGERPRINT","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tolstoy-anonymousId","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_cchid","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"clientside-cookie","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_utm","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"wknd-session","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"KountCart","type":"http","domain":"www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"1 day(s)","session":false,"expires":1,"unit":"declDays","purpose":{"en":""}},{"name":"fw_otos","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_uid","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"loyaltylion_persistent_data","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"conv_rand","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tt_appInfo_v2","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"hk-userid","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_bid","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tolstoyViewers","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"hk-entrypoints-enabled","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_se","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"klaviyoOnsite","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"hk-entrypoint-id","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"widget-status","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_gs","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"loyaltylion_temporary_data","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tt_pixel_session_index_v2","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tolstoy-session-unique-id","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"__spdt","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_tab_id","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tolstoy-not-visible-opened-publish-id","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"__storage_test__","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"klaviyoPagesVisitCount","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"loyaltylion_localstorage_test","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"is_eu","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bounceClientVisit4566v","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"fw_gs","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"local-storage-test","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"session-storage-test","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"spdt-1728491670.475-669","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"_kla_test","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"bxtest","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"spdt-1728491695.562-662","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"convert_attributes","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"conv_variations","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"spdt-1728491710.515-288","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tolstoy-activity","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"tolstoy-anonymousId","type":"html_local","domain":"https://play.gotolstoy.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"loyaltylion_sessionstorage_test","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"spdt-1728491682.344-958","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"spdt-1728491730.721-870","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"clientside-local","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"kountCookie","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"KountSessionID","type":"html_session","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Session","session":true,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"ss","type":"html_local","domain":"https://ssl.kaptcha.com","path":"/","provider":"Unknown","firstParty":false,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"spdt-1728491744.666-103","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}},{"name":"spdt-1728491724.857-257","type":"html_local","domain":"https://www.glowrecipe.com","path":"/","provider":"Unknown","firstParty":true,"retention":"Local Storage","session":false,"expires":1,"unit":"declYears","purpose":{"en":""}}]},"blocker":{"isActive":true,"googleConsentMode":{"id":"","analyticsId":"","adwordsId":"","isActive":false,"adStorageCategory":4,"analyticsStorageCategory":2,"personalizationStorageCategory":1,"functionalityStorageCategory":1,"customEvent":true,"securityStorageCategory":0,"redactData":true,"urlPassthrough":false,"dataLayerProperty":"dataLayer","waitForUpdate":0,"useNativeChannel":false},"facebookPixel":{"id":"","isActive":false,"ldu":false},"microsoft":{"isActive":false,"uetTags":""},"rakuten":{"isActive":false,"cmp":false,"ccpa":false},"klaviyoIsActive":false,"gpcIsActive":true,"clarity":{},"defaultBlocked":7,"patterns":{"whiteList":["pay.google.com"],"blackList":{"1":["static.hotjar.com/c/hotjar","fwscripts.com","sdk.postscript.io","asset.fwcdn3.com","google-analytics.com|googletagmanager.com/gtag/destination|googletagmanager.com/gtag/js?i
2228d=UA|googletagmanager.com/gtag/js?id=G","www.paypal.com"],"2":["gotolstoy.com","https://www.googletagmanager.com/gtm.js?id=GTM"],"4":["tracead.com","s.pinimg.com/ct/core.js|s.pinimg.com/ct/lib","statis.shareasale.com","bat.bing.com","googleads.g.doubleclick.net","connect.facebook.net","static.klaviyo.com|www.klaviyo.com|static-tracking.klaviyo.com|a.klaviyo.com","s.adroll.com/j/","googletagmanager.com/gtag/js\\?id=AW|googleadservices.com","intg.snapchat.com/shopify/shopify-scevent-init.js","analytics.tiktok.com/i18n/pixel","static.ads-twitter.com/uwt.js|static.ads-twitter.com/oct.js"],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":["player.vimeo.com","www.youtube.com|www.youtube-nocookie.com"],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}};
2229        
2230        window.addEventListener('DOMContentLoaded', function(){
2231          const script = document.createElement('script');
2232          
2233            script.src = "https://cdn.shopify.com/extensions/01a0d309-5aa0-76cf-9f48-2a42b2760403/gdpr-cookie-consent-411/assets/pandectes-core.js";
2234          
2235          script.defer = true;
2236          document.body.appendChild(script);
2237        })
2238      </script>
2238
2239    
2240  
2241
2242
2243
2244
2245
2246<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259  
2259<script async src="https://static.klaviyo.com/onsite/js/JvQ5im/klaviyo.js?company_id=JvQ5im"></script>
2259
2260  
2260<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
2260
2261
2262  
2263
2264
2265
2266
2267  
2267<script>
2268    window.klaviyoReviewsProductDesignMode = false
2269  </script>
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279<!-- END app block --><!-- BEGIN app block: shopify://apps/okendo/blocks/theme-settings/bb689e69-ea70-4661-8fb7-ad24a2e23c29 --><!-- BEGIN app snippet: header-metafields -->
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292    
2293        <style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/okendo-reviews-styles.6dbb2446.css"></style><style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/modules/okendo-star-rating.4cb378a8.css"></style><style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/modules/okendo-reviews-keywords.0942444f.css"></style><style data-oke-reviews-version="0.85.10" type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/modules/okendo-reviews-summary.a0c9d7d6.css"></style><style type="text/css">.okeReviews[data-oke-container],div.okeReviews{font-size:14px;font-size:var(--oke-text-regular);font-weight:400;font-family:var(--oke-text-fontFamily);line-height:1.6}.okeReviews[data-oke-container] *,.okeReviews[data-oke-container] :after,.okeReviews[data-oke-container] :before,div.okeReviews *,div.okeReviews :after,div.okeReviews :before{box-sizing:border-box}.okeReviews[data-oke-container] h1,.okeReviews[data-oke-container] h2,.okeReviews[data-oke-container] h3,.okeReviews[data-oke-container] h4,.okeReviews[data-oke-container] h5,.okeReviews[data-oke-container] h6,div.okeReviews h1,div.okeReviews h2,div.okeReviews h3,div.okeReviews h4,div.okeReviews h5,div.okeReviews h6{font-size:1em;font-weight:400;line-height:1.4;margin:0}.okeReviews[data-oke-container] ul,div.okeReviews ul{padding:0;margin:0}.okeReviews[data-oke-container] li,div.okeReviews li{list-style-type:none;padding:0}.okeReviews[data-oke-container] p,div.okeReviews p{line-height:1.8;margin:0 0 4px}.okeReviews[data-oke-container] p:last-child,div.okeReviews p:last-child{margin-bottom:0}.okeReviews[data-oke-container] a,div.okeReviews a{text-decoration:none;color:inherit}.okeReviews[data-oke-container] button,div.okeReviews button{border-radius:0;border:0;box-shadow:none;margin:0;width:auto;min-width:auto;padding:0;background-color:transparent;min-height:auto}.okeReviews[data-oke-container] button,.okeReviews[data-oke-container] input,.okeReviews[data-oke-container] select,.okeReviews[data-oke-container] textarea,div.okeReviews button,div.okeReviews input,div.okeReviews select,div.okeReviews textarea{font-family:inherit;font-size:1em}.okeReviews[data-oke-container] label,.okeReviews[data-oke-container] select,div.okeReviews label,div.okeReviews select{display:inline}.okeReviews[data-oke-container] select,div.okeReviews select{width:auto}.okeReviews[data-oke-container] article,.okeReviews[data-oke-container] aside,div.okeReviews article,div.okeReviews aside{margin:0}.okeReviews[data-oke-container] table,div.okeReviews table{background:transparent;border:0;border-collapse:collapse;border-spacing:0;font-family:inherit;font-size:1em;table-layout:auto}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,.okeReviews[data-oke-container] table tr,div.okeReviews table td,div.okeReviews table th,div.okeReviews table tr{border:0;font-family:inherit;font-size:1em}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,div.okeReviews table td,div.okeReviews table th{background:transparent;font-weight:400;letter-spacing:normal;padding:0;text-align:left;text-transform:none;vertical-align:middle}.okeReviews[data-oke-container] table tr:hover td,.okeReviews[data-oke-container] table tr:hover th,div.okeReviews table tr:hover td,div.okeReviews table tr:hover th{background:transparent}.okeReviews[data-oke-container] fieldset,div.okeReviews fieldset{border:0;padding:0;margin:0;min-width:0}.okeReviews[data-oke-container] img,.okeReviews[data-oke-container] svg,div.okeReviews img,div.okeReviews svg{max-width:none}.okeReviews[data-oke-container] div:empty,div.okeReviews div:empty{display:block}.okeReviews[data-oke-container] .oke-icon:before,div.okeReviews .oke-icon:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit}.okeReviews[data-oke-container] .oke-icon--select-arrow:before,div.okeReviews .oke-icon--select-arrow:before{content:""}.okeReviews[data-oke-container] .oke-icon--loading:before,div.okeReviews .oke-icon--loading:before{content:""}
2293.okeReviews[data-oke-container] .oke-icon--pencil:before,div.okeReviews .oke-icon--pencil:before{content:""}.okeReviews[data-oke-container] .oke-icon--filter:before,div.okeReviews .oke-icon--filter:before{content:""}.okeReviews[data-oke-container] .oke-icon--play:before,div.okeReviews .oke-icon--play:before{content:""}.okeReviews[data-oke-container] .oke-icon--tick-circle:before,div.okeReviews .oke-icon--tick-circle:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-left:before,div.okeReviews .oke-icon--chevron-left:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-right:before,div.okeReviews .oke-icon--chevron-right:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-down:before,div.okeReviews .oke-icon--thumbs-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-up:before,div.okeReviews .oke-icon--thumbs-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--close:before,div.okeReviews .oke-icon--close:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-up:before,div.okeReviews .oke-icon--chevron-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-down:before,div.okeReviews .oke-icon--chevron-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--star:before,div.okeReviews .oke-icon--star:before{content:""}.okeReviews[data-oke-container] .oke-icon--magnifying-glass:before,div.okeReviews .oke-icon--magnifying-glass:before{content:""}@font-face{font-family:oke-widget-icons;src:url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/fonts/oke-widget-icons.ttf) format("truetype"),url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/fonts/oke-widget-icons.woff) format("woff"),url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/img/oke-widget-icons.bc0d6b0a.svg) format("svg");font-weight:400;font-style:normal;font-display:swap}.okeReviews[data-oke-container] .oke-button,div.okeReviews .oke-button{display:inline-block;border-style:solid;border-color:var(--oke-button-borderColor);border-width:var(--oke-button-borderWidth);background-color:var(--oke-button-backgroundColor);line-height:1;padding:12px 24px;margin:0;border-radius:var(--oke-button-borderRadius);color:var(--oke-button-textColor);text-align:center;position:relative;font-weight:var(--oke-button-fontWeight);font-size:var(--oke-button-fontSize);font-family:var(--oke-button-fontFamily);outline:0}.okeReviews[data-oke-container] .oke-button-text,.okeReviews[data-oke-container] .oke-button .oke-icon,div.okeReviews .oke-button-text,div.okeReviews .oke-button .oke-icon{line-height:1}.okeReviews[data-oke-container] .oke-button.oke-is-loading,div.okeReviews .oke-button.oke-is-loading{position:relative}.okeReviews[data-oke-container] .oke-button.oke-is-loading:before,div.okeReviews .oke-button.oke-is-loading:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:undefined;font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-button.oke-is-loading>*,div.okeReviews .oke-button.oke-is-loading>*{opacity:0}.okeReviews[data-oke-container] .oke-button.oke-is-active,div.okeReviews .oke-button.oke-is-active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading),div.okeReviews .oke-button:not(.oke-is-loading){cursor:pointer}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{background-color:var(--oke-button-backgroundColorHover);color:var(--oke-button-textColorHover);border-color:var(--oke-button-borderColorHover);box-shadow:0 0 0 2px var(--oke-button-backgroundColorHover)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):active,.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-title,div.okeReviews .oke-title{font-weight:var(--oke-title-fontWeight);font-size:var(--oke-title-fontSize);font-family:var(--oke-title-fontFamily)}.okeReviews[data-oke-container] .oke-bodyText,div.okeReviews .oke-bodyText{font-weight:var(--oke-bodyText-fontWeight);font-size:var(--oke-bodyText-fontSize);font-family:var(--oke-bodyText-fontFamily)}.okeReviews[data-oke-container] .oke-linkButton,div.okeReviews .oke-linkButton{curs
2293or:pointer;font-weight:700;pointer-events:auto;text-decoration:underline}.okeReviews[data-oke-container] .oke-linkButton:hover,div.okeReviews .oke-linkButton:hover{text-decoration:none}.okeReviews[data-oke-container] .oke-readMore,div.okeReviews .oke-readMore{cursor:pointer;color:inherit;text-decoration:underline}.okeReviews[data-oke-container] .oke-select,div.okeReviews .oke-select{cursor:pointer;background-repeat:no-repeat;background-position-x:100%;background-position-y:50%;border:none;padding:0 24px 0 12px;-moz-appearance:none;appearance:none;color:inherit;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='currentColor' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");outline-offset:4px}.okeReviews[data-oke-container] .oke-select:disabled,div.okeReviews .oke-select:disabled{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%239a9db1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}.okeReviews[data-oke-container] .oke-loader,div.okeReviews .oke-loader{position:relative}.okeReviews[data-oke-container] .oke-loader:before,div.okeReviews .oke-loader:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:var(--oke-text-secondaryColor);font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-a11yText,div.okeReviews .oke-a11yText{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.okeReviews[data-oke-container] .oke-hidden,div.okeReviews .oke-hidden{display:none}.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2147483647;max-height:100%;background-color:rgba(0,0,0,.5);padding:40px 0 12px}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{display:flex;align-items:center;padding:48px 0}}.okeReviews[data-oke-container] .oke-modal ::-moz-selection,div.okeReviews .oke-modal ::-moz-selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal ::selection,div.okeReviews .oke-modal ::selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal,.okeReviews[data-oke-container] .oke-modal p,div.okeReviews .oke-modal,div.okeReviews .oke-modal p{color:#272d45}.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{background-color:#fff;margin:auto;position:relative;will-change:transform,opacity;width:calc(100% - 24px)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{max-width:1000px}}.okeReviews[data-oke-container] .oke-modal-close,div.okeReviews .oke-modal-close{cursor:pointer;position:absolute;width:32px;height:32px;top:-32px;padding:4px;right:-4px;line-height:1}.okeReviews[data-oke-container] .oke-modal-close:before,div.okeReviews .oke-modal-close:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:#fff;font-size:24px;display:inline-block;width:24px;height:24px}.okeReviews[data-oke-container] .oke-modal-overlay,div.okeReviews .oke-modal-overlay{background-color:rgba(43,46,56,.9)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal--large .oke-modal-content,div.okeReviews .oke-modal--large .oke-modal-content{max-width:1200px}}.okeReviews[data-oke-container] .oke-modal .oke-helpful,.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date,div.okeReviews .oke-modal .oke-helpful,div.okeReviews .oke-modal .oke-helpful-vote-button,div.okeReviews .oke-modal .oke-reviewContent-date{color:#676986}.oke-modal .okeReviews[data-oke-container].oke-w,.oke-modal div.okeReviews.oke-w{color:#272d45}.okeReviews[data-oke-container] .oke-tag,div.okeReviews .oke-tag{align-items:center;color:#272d45;display:flex;font-size:var(--oke-text-small);font-weight:600;text-align:left;position:relative;z-index:2;background-color:#f4f4f6;padding:4px 6px;border:none;border-radius:4px;gap:6px;line-height:1}.okeReviews[data-oke-container] .oke-tag svg,div.okeReviews .oke-tag svg{fill:currentColor;height:1rem}.okeReviews[data-oke-container] .hooper,div.okeReviews .hooper{height:auto}.okeReviews--left{text-align:left}.okeReviews--right{text-align:right}.okeReviews--center{text-align:center}.okeReviews :not([tabindex="-1"]):focus-visible{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.is-oke-modalOpen{overflow:hidden!important}img.oke-is-error{background-color:var(--oke-shadingColor);background-size:cover;background-position:50% 50%;box-shadow:inset 0 0 0 1px var(--oke-border-color)}@keyframes oke-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes oke-fade-in{0%{opacity:0}
2293to{opacity:1}}.layout-panel-flex>div:has([data-oke-container]){width:100%}
2294.oke-stars{line-height:1;position:relative;display:inline-block}.oke-stars-background svg{overflow:visible}.oke-stars-foreground{overflow:hidden;position:absolute;top:0;left:0}.oke-sr{display:inline-block;padding-top:var(--oke-starRating-spaceAbove);padding-bottom:var(--oke-starRating-spaceBelow)}.oke-sr .oke-is-clickable{cursor:pointer}.oke-sr--hidden{display:none}.oke-sr-count,.oke-sr-rating,.oke-sr-stars{display:inline-block;vertical-align:middle}.oke-sr-stars{line-height:1;margin-right:8px}.oke-sr-rating{display:none}.oke-sr-count--brackets:before{content:"("}.oke-sr-count--brackets:after{content:")"}
2295.oke-rk{display:block}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading,div.okeReviews .oke-reviewsKeywords-heading{font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading-skeleton,div.okeReviews .oke-reviewsKeywords-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list,div.okeReviews .oke-reviewsKeywords-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category,div.okeReviews .oke-reviewsKeywords-list-category{background-color:var(--oke-filter-backgroundColor);color:var(--oke-filter-textColor);border:1px solid var(--oke-filter-borderColor);border-radius:var(--oke-filter-borderRadius);padding:6px 16px;transition:background-color .1s ease-out,border-color .1s ease-out;white-space:nowrap}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-clickable,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-clickable{cursor:pointer}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-active,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-active{background-color:var(--oke-filter-backgroundColorActive);color:var(--oke-filter-textColorActive);border-color:var(--oke-filter-borderColorActive)}.okeReviews[data-oke-container] .oke-reviewsKeywords .oke-translateButton,div.okeReviews .oke-reviewsKeywords .oke-translateButton{margin-top:12px}
2296.oke-rs{display:block}.oke-rs .oke-reviewsSummary.oke-is-preRender .oke-reviewsSummary-summary{-webkit-mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;max-height:150px}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip,div.okeReviews .oke-reviewsSummary .oke-tooltip{display:inline-block;font-weight:400}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip-trigger,div.okeReviews .oke-reviewsSummary .oke-tooltip-trigger{height:15px;width:15px;overflow:hidden;transform:translateY(-10%)}.okeReviews[data-oke-container] .oke-reviewsSummary-heading,div.okeReviews .oke-reviewsSummary-heading{align-items:center;-moz-column-gap:4px;column-gap:4px;display:inline-flex;font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsSummary-heading-skeleton,div.okeReviews .oke-reviewsSummary-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon,div.okeReviews .oke-reviewsSummary-icon{fill:currentColor;font-size:14px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon svg,div.okeReviews .oke-reviewsSummary-icon svg{vertical-align:baseline}.okeReviews[data-oke-container] .oke-reviewsSummary-summary.oke-is-truncated,div.okeReviews .oke-reviewsSummary-summary.oke-is-truncated{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}</style>
2297    
2298    
2298<script type="application/json" id="oke-reviews-settings">{"subscriberId":"41915e47-fb72-4109-81cf-25e1e3b73626","analyticsSettings":{"isWidgetOnScreenTrackingEnabled":true,"provider":"ua"},"locale":"en","localeAndVariant":{"code":"en"},"matchCustomerLocale":false,"widgetSettings":{"global":{"dateSettings":{"format":{"type":"relative"}},"hideOkendoBranding":true,"reviewTranslationsMode":"off","showIncentiveIndicator":false,"searchEnginePaginationEnabled":false,"stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#000000","interspace":2,"shape":{"type":"thin"},"showBorder":false},"font":{"fontType":"inherit-from-page"}},"homepageCarousel":{"slidesPerPage":{"large":3,"medium":2},"totalSlides":12,"scrollBehaviour":"slide","style":{"showDates":true,"border":{"color":"#E5E5EB","width":{"value":1,"unit":"px"}},"bodyFont":{"hasCustomFontSettings":false},"headingFont":{"hasCustomFontSettings":false},"arrows":{"color":"#676986","size":{"value":24,"unit":"px"},"enabled":true},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#2C3E50","size":{"value":48,"unit":"px"},"enabled":true},"media":{"size":{"value":80,"unit":"px"},"imageGap":{"value":4,"unit":"px"},"enabled":true},"stars":{"height":{"value":18,"unit":"px"},"globalOverrideSettings":{"backgroundColor":"#E5E5E5","foregroundColor":"#000000"}},"productImageSize":{"value":48,"unit":"px"},"layout":{"name":"default","reviewDetailsPosition":"below","showProductName":false,"showAttributeBars":false,"showProductDetails":"only-when-grouped"},"highlightColor":"#0E7A82","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#2C3E50","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeSmall":{"value":12,"unit":"px"},"secondaryColor":"#676986"},"spaceBelow":{"value":20,"unit":"px"}},"defaultSort":"rating desc","autoPlay":false,"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true}},"mediaCarousel":{"minimumImages":1,"linkText":"Read More","stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","height":{"value":12,"unit":"px"}},"autoPlay":false,"slideSize":"medium","arrowPosition":"outside"},"mediaGrid":{"showMoreArrow":{"arrowColor":"#676986","enabled":true,"backgroundColor":"#f4f4f6"},"infiniteScroll":false,"gridStyleDesktop":{"layout":"default-desktop"},"gridStyleMobile":{"layout":"default-mobile"},"linkText":"Read More","stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#FFCF2A","height":{"value":12,"unit":"px"}},"gapSize":{"value":10,"unit":"px"}},"questions":{"initialPageSize":6,"loadMorePageSize":6},"reviewsBadge":{"layout":"large","colorScheme":"dark"},"reviewsTab":{"enabled":false},"reviewsWidget":{"tabs":{"reviews":true,"questions":false},"header":{"columnDistribution":"space-between","verticalAlignment":"top","blocks":[{"columnWidth":"full","modules":[{"name":"rating-average","layout":"two-line"}],"textAlignment":"left"},{"columnWidth":"two-thirds","modules":[{"name":"reviews-keywords","heading":"Customers Talked About","maxKeywords":5}],"textAlignment":"left"},{"columnWidth":"full","modules":[{"name":"reviews-summary","heading":"Reviews Summary","maxTextLines":5}],"textAlignment":"left"},{"columnWidth":"full","modules":[{"name":"media-carousel","imageGap":{"value":4,"unit":"px"},"imageHeight":{"value":120,"unit":"px"}}],"textAlignment":"center"}]},"style":{"showDates":true,"border":{"color":"#E5E5E5","width":{"value":1,"unit":"px"}},"bodyFont":{"fontSize":{"value":16,"unit":"px"},"fontType":"use-global","fontWeight":400,"hasCustomFontSettings":true},"headingFont":{"fontSize":{"value":18,"unit":"px"},"fontType":"use-global","fontWeight":600,"hasCustomFontSettings":true},"filters":{"backgroundColorActive":"#000000","backgroundColor":"#FFFFFF","borderColor":"#000000","borderRadius":{"value":100,"unit":"px"},"borderColorActive":"#000000","textColorActive":"#FFFFFF","textColor":"#000000","searchHighlightColor":"#B2F9E9"},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#000000","size":{"value":48,"unit":"px"},"enabled":true},"stars":{"height":{"value":18,"unit":"px"},"globalOverrideSettings":{"backgroundColor":"#E5E5E5","foregroundColor":"#000000","interspace":2,"showBorder":false}},"shadingColor":"#FFFFFF","productImageSize":{"value":48,"unit":"px"},"button":{"backgroundColorActive":"#000000","borderColorHover":"#000000","backgroundColor":"#000000","borderColor":"#000000","backgroundColorHover":"#000000","textColorHover":"#FFFFFF","borderRadius":{"value":1,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColorActive":"#000000","textColorActive":"#FFFFFF","textColor":"#FFFFFF","font":{"fontSize":{"value":16,"unit":"px"},"fontType":"custom","fontFamily":"Gotham","fontWeight":700,"hasCu
2298stomFontSettings":true}},"highlightColor":"#000000","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#000000","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeLarge":{"value":22,"unit":"px"},"fontSizeSmall":{"value":14,"unit":"px"},"secondaryColor":"#000000"},"spaceBelow":{"value":20,"unit":"px"},"attributeBar":{"style":"default","backgroundColor":"#D3D4DD","shadingColor":"#9A9DB1","markerColor":"#000000"}},"showWhenEmpty":true,"reviews":{"list":{"layout":{"collapseReviewerDetails":false,"columnAmount":4,"name":"default","showAttributeBars":false,"borderStyle":"minimal","showProductVariantName":false,"showProductDetails":"never"},"loyalty":{"maxInitialAchievements":3},"initialPageSize":5,"replyTruncation":{"bodyMaxLines":4,"enabled":true},"media":{"layout":"thumbnail","size":{"value":100,"unit":"px"},"imageGap":{"value":4,"unit":"px"}},"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true},"loadMorePageSize":5},"controls":{"filterMode":"closed","freeTextSearchEnabled":false,"keywordsFilterEnabled":false,"writeReviewButtonEnabled":true,"defaultSort":"has_media desc"}}},"starRatings":{"showWhenEmpty":false,"style":{"globalOverrideSettings":{"backgroundColor":"#C1C0C1","foregroundColor":"#000000","interspace":2,"showBorder":false},"spaceAbove":{"value":0,"unit":"px"},"text":{"content":"review-count","style":"number-and-text","brackets":true},"singleStar":false,"height":{"value":18,"unit":"px"},"spaceBelow":{"value":0,"unit":"px"}},"clickBehavior":"scroll-to-widget"}},"features":{"attributeFiltersEnabled":true,"recorderPlusEnabled":true,"recorderQandaPlusEnabled":true,"reviewsKeywordsEnabled":true,"reviewsSummariesEnabled":true}}</script>
2298
2299            <style id="oke-css-vars">:root{--oke-widget-spaceAbove:20px;--oke-widget-spaceBelow:20px;--oke-starRating-spaceAbove:0;--oke-starRating-spaceBelow:0;--oke-button-backgroundColor:#000;--oke-button-backgroundColorHover:#000;--oke-button-backgroundColorActive:#000;--oke-button-textColor:#fff;--oke-button-textColorHover:#fff;--oke-button-textColorActive:#fff;--oke-button-borderColor:#000;--oke-button-borderColorHover:#000;--oke-button-borderColorActive:#000;--oke-button-borderRadius:1px;--oke-button-borderWidth:1px;--oke-button-fontWeight:700;--oke-button-fontSize:16px;--oke-button-fontFamily:Gotham,sans-serif;--oke-border-color:#e5e5e5;--oke-border-width:1px;--oke-text-primaryColor:#000;--oke-text-secondaryColor:#000;--oke-text-small:14px;--oke-text-regular:14px;--oke-text-large:22px;--oke-text-fontFamily:inherit;--oke-avatar-size:48px;--oke-avatar-backgroundColor:#e5e5eb;--oke-avatar-placeholderTextColor:#000;--oke-highlightColor:#000;--oke-shadingColor:#fff;--oke-productImageSize:48px;--oke-attributeBar-shadingColor:#9a9db1;--oke-attributeBar-borderColor:undefined;--oke-attributeBar-backgroundColor:#d3d4dd;--oke-attributeBar-markerColor:#000;--oke-filter-backgroundColor:#fff;--oke-filter-backgroundColorActive:#000;--oke-filter-borderColor:#000;--oke-filter-borderColorActive:#000;--oke-filter-textColor:#000;--oke-filter-textColorActive:#fff;--oke-filter-borderRadius:100px;--oke-filter-searchHighlightColor:#b2f9e9;--oke-mediaGrid-chevronColor:#676986;--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-reviewCarousel{--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-sr{--oke-stars-foregroundColor:#000;--oke-stars-backgroundColor:#c1c0c1;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-title-fontWeight:600;--oke-title-fontSize:18px;--oke-title-fontFamily:inherit;--oke-bodyText-fontWeight:400;--oke-bodyText-fontSize:16px;--oke-bodyText-fontFamily:inherit}</style>
2300            <style id="oke-reviews-custom-css">.okeReviews.oke-sr{display:block}.title-wrapper .oke-sr-count--brackets:before,.title-wrapper .oke-sr-count--brackets:after,.upsell-container .oke-sr-label-text{display:none}[data-oke-widget] div.okeReviews[data-oke-container].oke-w{max-width:unset}div.oke-modal .okeReviews[data-oke-container].oke-w,div.okeReviews[data-oke-container] .oke-modal,div.okeReviews[data-oke-container] .oke-modal p,div.okeReviews[data-oke-container] .oke-modal .oke-helpful,div.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,div.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date{color:var(--oke-text-primaryColor)}div.okeReviews[data-oke-container] .oke-reviewContent-title,div.okeReviews .oke-reviewContent-title{font-weight:700;font-size:1.25em}.okeReviews[data-oke-container].oke-w .oke-button,div.okeReviews .oke-button{letter-spacing:.2em;font-family:Josefin Sans,sans-serif;font-weight:700;text-transform:uppercase;font-size:14px;line-height:1.4}div.okeReviews[data-oke-container] .oke-w-writeReview:before,div.okeReviews .oke-w-writeReview:before{display:none}.okeReviews[data-oke-container].oke-w .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{box-shadow:initial}.okeReviews.oke-w .oke-is-small .oke-w-reviews-writeReview{width:100%;padding-top:10px}.okeReviews.oke-w .oke-is-small .oke-button,.okeReviews.oke-w .oke-is-small .oke-qw-header-askQuestion{width:100%}div.okeReviews[data-oke-container] .oke-sortSelect-label{margin-right:0}div.okeReviews[data-oke-container] .oke-w-reviews-controls{flex-wrap:wrap}</style>
2301            <template id="oke-reviews-body-template"><svg id="oke-star-symbols" style="display:none!important" data-oke-id="oke-star-symbols"><symbol id="oke-star-empty" style="overflow:visible;"><path id="star-thin--empty" fill="var(--oke-stars-backgroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M9.944 6.4L8 0L6.056 6.4H0L4.944 9.928L3.064 16L8 12.248L12.944 16L11.064 9.928L16 6.4H9.944Z"/></symbol><symbol id="oke-star-filled" style="overflow:visible;"><path id="star-thin--filled" fill="var(--oke-stars-foregroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M9.944 6.4L8 0L6.056 6.4H0L4.944 9.928L3.064 16L8 12.248L12.944 16L11.064 9.928L16 6.4H9.944Z"/></symbol></svg></template>
2301<script>document.addEventListener('readystatechange',() =>{Array.from(document.getElementById('oke-reviews-body-template')?.content.children)?.forEach(function(child){if(!Array.from(document.body.querySelectorAll('[data-oke-id='.concat(child.getAttribute('data-oke-id'),']'))).length){document.body.prepend(child)}})},{once:true});</script>
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315<!-- END app snippet -->
2316
2317    <!-- BEGIN app snippet: okendo-reviews-json-ld -->
2318<!-- END app snippet -->
2319
2320<!-- BEGIN app snippet: widget-plus-initialisation-script -->
2321
2322
2323
2324
2325    
2325<script async id="okendo-reviews-script" src="https://cdn-static.okendo.io/reviews-widget-plus/js/okendo-reviews.js"></script>
2325
2326
2327<!-- END app snippet -->
2328
2329
2330<!-- END app block --><!-- BEGIN app block: shopify://apps/tolstoy-ads-image-video/blocks/widget-block/06fa8282-42ff-403e-b67c-1936776aed11 -->
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340                
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352<script
2353  type="module"
2354  async
2355  src="https://widget.gotolstoy.com/we/widget.js"
2356  data-shop=aramara-beauty.myshopify.com
2357  data-app-key=1b7d31c3-efbb-40b3-91ae-c193b43267d7
2358  data-should-use-cache=true
2359  data-cache-version=19f43aca548
2360  data-product-gallery-projects="[]"
2361  data-collection-gallery-projects="[]"
2362  data-product-id=""
2363  data-template-name="page.serum-guide"
2364  data-ot-ignore
2365  data-cookieconsent="ignore"
2366>
2367</script>
vendor: 1 bytes, line 2367
2367
2368<script
2369  type="module"
2370  async
2371  src="https://play.gotolstoy.com/widget-v2/widget.js"
2372  id="tolstoy-widget-script"
2373  data-shop=aramara-beauty.myshopify.com
2374  data-app-key=1b7d31c3-efbb-40b3-91ae-c193b43267d7
2375  data-should-use-cache=true
2376  data-cache-version=19f43aca548
2377  data-product-gallery-projects="[]"
2378  data-collection-gallery-projects="[]"
2379  data-product-id=""
2380  data-collection-id=""
2381  data-shop-assistant-enabled="false"
2382  data-search-bar-widget-enabled="false"
2383  data-template-name="page.serum-guide"
2384  data-customer-id=""
2385  data-ot-ignore
2386  data-cookieconsent="ignore"
2387></script>
vendor: 1 bytes, line 2387
2387
2388<script
2389  type="module"
2390  async
2391  src="https://play.gotolstoy.com/widget-v2/widget.brand-mcp.js"
2392  data-app-key=1b7d31c3-efbb-40b3-91ae-c193b43267d7
2393  data-ot-ignore
2394  data-cookieconsent="ignore"
2395></script>
vendor: 1 bytes, line 2395
2395
2396<script>
2397  window.tolstoyCurrencySymbol = "$";
2398  window.tolstoyMoneyFormat = "$ {{amount}}";
2399</script>
vendor: 1 bytes, line 2399
2399
2400<script>
2401  (function(){
2402    function hideOrphanedTiles(){
2403      var els = document.querySelectorAll('.tolstoy-collection-page-tile,tolstoy-collection-tile');
2404      for(var i=0;i<els.length;i++){
2405        if(els[i].children.length>0) continue;
2406        els[i].style.setProperty('display','none','important');
2407        var w=els[i].closest('[class*="tolstoy-grid"]')||els[i].closest('.tolstoy-collection-page-tile-wrapper');
2408        if(w) w.style.setProperty('display','none','important');
2409      }
2410    }
2411    if(document.readyState==='loading'){
2412      document.addEventListener('DOMContentLoaded',hideOrphanedTiles);
2413    }else{
2414      hideOrphanedTiles();
2415    }
2416  })();
2417</script>
vendor: 1 bytes, line 2417
2417
2418<script>
2419  window.tolstoyDebug = {
2420    enable: () => {
2421      fetch('/cart/update.js', {
2422        method: 'POST',
2423        headers: { 'Content-Type': 'application/json' },
2424        body: JSON.stringify({ attributes: { TolstoyDebugEnabled: 'true' } })
2425      })
2426      .then(response => response.json())
2427      .then(() => window.location.reload());
2428    },
2429    disable: () => {
2430      fetch('/cart/update.js', {
2431        method: 'POST',
2432        headers: { 'Content-Type': 'application/json' },
2433        body: JSON.stringify({ attributes: { TolstoyDebugEnabled: null } })
2434      })
2435      .then(response => response.json())
2436      .then(() => window.location.reload())
2437    },
2438    status: async () => {
2439      const response = await fetch('/cart.js');
2440      const json = await response.json();
2441      console.log(json.attributes);
2442    }
2443  }
2444</script>
2444
2445
2446<!-- END app block --><!-- BEGIN app block: shopify://apps/loyalty-rewards-and-referrals/blocks/embed-sdk/6f172e67-4106-4ac0-89c5-b32a069b3101 -->
2447
2448<style
2449  type='text/css'
2450  data-lion-app-styles='main'
2451  data-lion-app-styles-settings='{&quot;disableBundledCSS&quot;:false,&quot;disableBundledFonts&quot;:false,&quot;useClassIsolator&quot;:false}'
2452></style>
2453
2454<!-- loyaltylion.snippet.version=9283085fd3+12800 -->
2455
2456
2457<script>
2458  
2459  !function(t,n){function o(n){var o=t.getElementsByTagName("script")[0],i=t.createElement("script");i.src=n,i.crossOrigin="",o.parentNode.insertBefore(i,o)}if(!n.isLoyaltyLion){window.loyaltylion=n,void 0===window.lion&&(window.lion=n),n.version=2,n.isLoyaltyLion=!0;var i=new Date,e=i.getFullYear().toString()+i.getMonth().toString()+i.getDate().toString();o("https://sdk.loyaltylion.net/static/2/loader.js?t="+e);var r=!1;n.init=function(t){if(r)throw new Error("Cannot call lion.init more than once");r=!0;var a=n._token=t.token;if(!a)throw new Error("Token must be supplied to lion.init");for(var l=[],s="_push configure bootstrap shutdown on removeListener authenticateCustomer".split(" "),c=0;c<s.length;c+=1)!function(t,n){t[n]=function(){l.push([n,Array.prototype.slice.call(arguments,0)])}}(n,s[c]);o("https://sdk.loyaltylion.net/sdk/start/"+a+".js?t="+e+i.getHours().toString()),n._initData=t,n._buffer=l}}}(document,window.loyaltylion||[]);
2460
2461  
2462    
2463      loyaltylion.init(
2464        { token: "8f2c403c54911354be2539df815774ad" }
2465      );
2466    
2467  
2468
2469  loyaltylion.configure({
2470    disableBundledCSS: false,
2471    disableBundledFonts: false,
2472    useClassIsolator: false,
2473  })
2474
2475  
2476</script>
2476
2477
2478
2479
2480<!-- END app block --><!-- BEGIN app block: shopify://apps/scarcity-ai-visitors-counter/blocks/app-embed-block/4a6bd5a7-c11b-48d0-ad06-ec540fdd25e9 -->
2481<!-- END app block --><!-- BEGIN app block: shopify://apps/loyalty-rewards-and-referrals/blocks/embed-main/6f172e67-4106-4ac0-89c5-b32a069b3101 -->
2482
2483<style
2484  type='text/css'
2485  data-lion-app-styles='main'
2486  data-lion-app-styles-settings='{&quot;primary_color&quot;:&quot;#4d384b&quot;,&quot;secondary_color&quot;:&quot;#126bbf&quot;,&quot;icon_color&quot;:&quot;#126bbf&quot;,&quot;button_size&quot;:&quot;medium&quot;,&quot;button_border_radius&quot;:4,&quot;button_primary_background_color&quot;:&quot;#4d384b&quot;,&quot;button_primary_text_color&quot;:&quot;#ffffff&quot;,&quot;button_neutral_background_color&quot;:&quot;#757575&quot;,&quot;button_neutral_text_color&quot;:&quot;#ffffff&quot;}'
2487></style>
2488
2489
2490<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin />
2491<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
2492<script>
2493/* >> TriplePixel :: start*/
2494window.TriplePixelData={TripleName:"aramara-beauty.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{  }},search:"",collection:"",cart:"",template:"page",curr:"USD" || "USD", market:"1913585779"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage);
2495/* << TriplePixel :: end*/
2496</script>
2496
2497
2498
2499
2500<!-- END app block -->
2500<script src="https://cdn.shopify.com/extensions/01a0b7a6-6b2a-7126-be17-93581506982e/applovin-shop-integration-97/assets/app-embed.js" type="text/javascript" defer="defer"></script>
2500
2501<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2502<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: 5438301,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};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 2502
2502
2503<script>
2504  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
2505</script>
vendor: 1 bytes, line 2505
2505
2506<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}
2506).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: 5438301,storefrontBaseUrl: "https://www.glowrecipe.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.glowrecipe.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2193588339","configuration":"{\"pixelCode\":\"BVU8N3L3P14NBSHFQ9EG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
2506,"dataSharingState":"unrestricted"},{"id":"2065989747","configuration":"{\"swymApiEndpoint\":\"https:\/\/swymstore-v3premium-01.swymrelay.com\",\"swymTier\":\"v3premium-01\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5b6f6917e306bc7f24523662663331c0","type":"APP","apiClientId":1350849,"privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1973911667","configuration":"{\"accountID\":\"2638\",\"integrationId\":\"2638\",\"brandId\":\"1284\",\"environment\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f28c8e4372c74ce89d6ccedbdfdb52da","type":"APP","apiClientId":22258319361,"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"},{"id":"1899593843","configuration":"{\"shopId\":\"aramara-beauty.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"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"},{"id":"1497759859","configuration":"{\"debug\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a9a83cf44fb282052ff936f7ab101058","type":"APP","apiClientId":4539653,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1342767219","configuration":"{\"eventKey\":\"7b997fe0-1591-4a9d-adba-111be07e4c2c\",\"name\":\"aramara-beauty - Axon Pixel\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"59063c86dca90ebaa562063a0c13be50","type":"APP","apiClientId":256560922625,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1232666739","configuration":"{\"accountID\":\"JvQ5im\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"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":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"1126039667","configuration":"{\"advertiserId\":\"64616\",\"shopDomain\":\"aramara-beauty.myshopify.com\",\"appVersion\":\"shopifyApp_5.2.3\",\"originalNetwork\":\"sas\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c287d09bac7e7a912a76f3941fab1c2f","type":"APP","apiClientId":2887701,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"783089779","configuration":"{\"shopId\":\"25819\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"2eedfe5ca9c7d4954f200bfa1ffb380d","type":"APP","apiClientId":2328352,"privacyPurposes":["MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
2506,"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"747667571","configuration":"{\"accountId\":\"10041832\",\"projectId\":\"10042217\",\"currency\":\"USD\",\"environment\":\"null\",\"customDomain\":\"null\",\"cartViewedGoalId\":\"null\",\"checkoutAddressInfoSubmittedGoalId\":\"null\",\"checkoutCompletedGoalId\":\"100495242\",\"checkoutContactInfoSubmittedGoalId\":\"null\",\"checkoutShippingInfoSubmittedGoalId\":\"null\",\"checkoutStartedGoalId\":\"null\",\"collectionViewedGoalId\":\"null\",\"paymentInfoSubmittedGoalId\":\"null\",\"productAddedToCartGoalId\":\"100495241\",\"productRemovedFromCartGoalId\":\"null\",\"pageViewedGoalId\":\"null\",\"productViewedGoalId\":\"null\",\"searchSubmittedGoalId\":\"null\",\"subscriptionGoalId\":\"null\",\"nonSubscriptionGoalId\":\"null\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5d7a5c9a39d5284d6dfc099806167db1","type":"APP","apiClientId":125487710209,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"174686323","configuration":"{\"pixel_id\":\"2207408626138134\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"128942195","configuration":"{\"accountID\":\"4566\",\"checkoutExperienceEnabled\":\"true\",\"customDomainName\":\"default\",\"espPerformsOptInCheck\":\"1\",\"fieldMappingCountries\":\"[\\\"US\\\",\\\"CA\\\"]\",\"markets\":\"{}\",\"onsiteExperienceEnabled\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"988af92787413cb5760ec003000e5d08","type":"APP","apiClientId":54985097217,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"121831539","configuration":"{\"tagID\":\"2613179352395\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"21758067","configuration":"{\"measurementIds\":\"G-NF5EKRHSSV,isServerside\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7aaae93c56736e9df275e05ad7cdcadf","type":"APP","apiClientId":3542712321,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"36339827","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"5","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Tag Manager"},{"id":"119865459","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"28","type":"CUSTOM","privacyPurposes":[],"name":"Order Status \/ Post-Purchase"},{"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":"Glow Recipe","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"aramara-beauty.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.glowrecipe.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8053461352563","handle":"prickly-pear-peptide-mucin","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43757686587507","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4623447031923","handle":"watermelon-glow-niacinamide-dew-drops","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"32132682743923","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6796465602675","handle":"strawberry-smooth-bha-aha-salicylic-serum","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39953007870067","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4568540315763","handle":"plum-plump-hyaluronic-serum","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"31975760035955","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
2506,{"id":"7184444424307","handle":"pomegranate-peptide-firming-serum","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40905910124659","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6618599686259","handle":"guava-vitamin-c-dark-spot-serum","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39404211896435","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6541439533171","handle":"avocado-ceramide-recovery-serum","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39279411593331","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7713369817203","handle":"blackberry-retinol-blemish-serum","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"42192176906355","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7096537383027","handle":"strawberry-bha-pore-smooth-blur-drops","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40702766579827","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8355003760755","handle":"pdrn-tinted-soft-matte-lip-blur-balm","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45333626060915","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8296572125299","handle":"the-roll-bag","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45115865989235","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8286511628403","handle":"glow-to-go-travel-kit","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45143834525811","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://www.glowrecipe.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"148112244851","themePublished":"true","eventMetadataId":"a8e07701-74e5-4fe3-82b6-c5c5fb3156a8","pageType":"page","resourceId":"80309420147","shopId":"5438301","storefrontBaseUrl":"https:\/\/www.glowrecipe.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2506<script>
2507  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
2508  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
2509  window.ShopifyAnalytics.meta.currency = 'USD';
2510  var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":80309420147,"requestId":"1d508255-9b60-4c62-b768-243b171d0108-1790273057"}};
2511  for (var attr in meta) {
2512    window.ShopifyAnalytics.meta[attr] = meta[attr];
2513  }
2514</script>
vendor: 1 bytes, line 2514
2514
2515<script class="analytics">
2516  (function () {
2517    var customDocumentWrite = function(content) {
2518      var jquery = null;
2519
2520      if (window.jQuery) {
2521        jquery = window.jQuery;
2522      } else if (window.Checkout && window.Checkout.$) {
2523        jquery = window.Checkout.$;
2524      }
2525
2526      if (jquery) {
2527        jquery('body').append(content);
2528      }
2529    };
2530
2531    var hasLoggedConversion = function(token) {
2532      if (token) {
2533        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
2534      }
2535      return false;
2536    }
2537
2538    var setCookieIfConversion = function(token) {
2539      if (token) {
2540        var twoMonthsFromNow = new Date(Date.now());
2541        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
2542
2543        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
2544      }
2545    }
2546
2547    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
2548    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
2549    if (trekkie.integrations) {
2550      return;
2551    }
2552    trekkie.methods = [
2553      'identify',
2554      'page',
2555      'ready',
2556      'track',
2557      'trackForm',
2558      'trackLink'
2559    ];
2560    trekkie.factory = function(method) {
2561      return function() {
2562        var args = Array.prototype.slice.call(arguments);
2563        args.unshift(method);
2564        trekkie.push(args);
2565        if (method == 'track' || method == 'page') {
2566          try {
2567            if (window.__TREKKIE_SHIM_QUEUE == null) {
2568              window.__TREKKIE_SHIM_QUEUE = [];
2569            }
2570            window.__TREKKIE_SHIM_QUEUE.push({
2571              from: 'trekkie-stub',
2572              method: method,
2573              args: args.slice(1)
2574            });
2575          } catch (e) {
2576            // no-op
2577          }
2578        }
2579        return trekkie;
2580      };
2581    };
2582    for (var i = 0; i < trekkie.methods.length; i++) {
2583      var key = trekkie.methods[i];
2584      trekkie[key] = trekkie.factory(key);
2585    }
2586    trekkie.load = function(config) {
2587      trekkie.config = config || {};
2588      trekkie.config.initialDocumentCookie = document.cookie;
2589      var first = document.getElementsByTagName('script')[0];
2590var script = document.createElement('script');
2591script.type = 'text/javascript';
2592script.onerror = function(e) {
2593  var scriptFallback = document.createElement('script');
2594  scriptFallback.type = 'text/javascript';
2595  scriptFallback.onerror = function(error) {
2596          var Monorail = {
2597      produce: function produce(monorailDomain, schemaId, payload) {
2598        var currentMs = new Date().getTime();
2599        var event = {
2600          schema_id: schemaId,
2601          payload: payload,
2602          metadata: {
2603            event_created_at_ms: currentMs,
2604            event_sent_at_ms: currentMs
2605          }
2606        };
2607        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
2608      },
2609      sendRequest: function sendRequest(endpointUrl, payload) {
2610        // Try the sendBeacon API
2611        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
2612          var blobData = new window.Blob([payload], {
2613            type: 'text/plain'
2614          });
2615
2616          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
2617            return true;
2618          } // sendBeacon was not successful
2619
2620        } // XHR beacon
2621
2622        var xhr = new XMLHttpRequest();
2623
2624        try {
2625          xhr.open('POST', endpointUrl);
2626          xhr.setRequestHeader('Content-Type', 'text/plain');
2627          xhr.send(payload);
2628        } catch (e) {
2629          console.log(e);
2630        }
2631
2632        return false;
2633      },
2634      isIos12: function isIos12() {
2635        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
2636      }
2637    };
2638    Monorail.produce('monorail-edge.shopifysvc.com',
2639      'trekkie_storefront_load_errors/1.1',
2640      {shop_id: 5438301,
2641      theme_id: 148112244851,
2642      app_name: "storefront",
2643      context_url: window.location.href,
2644      source_url: "//www.glowrecipe.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
2645
2646  };
2647  scriptFallback.async = true;
2648  scriptFallback.src = '//www.glowrecipe.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
2649  first.parentNode.insertBefore(scriptFallback, first);
2650};
2651script.async = true;
2652script.src = '//www.glowrecipe.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
2653first.parentNode.insertBefore(script, first);
2654
2655    };
2656    trekkie.load(
2657      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":5438301,"isMerchantRequest":null,"themeId":148112244851,"themeCityHash":"6616272151517298129","contentLanguage":"en","currency":"USD","eventMetadataId":"a8e07701-74e5-4fe3-82b6-c5c5fb3156a8"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
2658    );
2659
2660    var loaded = false;
2661    trekkie.ready(function() {
2662      if (loaded) return;
2663      loaded = true;
2664
2665      window.ShopifyAnalytics.lib = window.trekkie;
2666
2667      var originalDocumentWrite = document.write;
2668      document.write = customDocumentWrite;
2669      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
2670      document.write = originalDocumentWrite;
2671
2672      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
2673      var token = match? match[1]: undefined;
2674      if (!hasLoggedConversion(token)) {
2675        setCookieIfConversion(token);
2676        
2677      }
2678    });
2679
2680    window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":80309420147,"requestId":"1d508255-9b60-4c62-b768-243b171d0108-1790273057","shopifyEmitted":true});
2681
2682    var eventsListenerScript = document.createElement('script');
2683    eventsListenerScript.async = true;
2684    eventsListenerScript.src = "//www.glowrecipe.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
2685    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
2686})();</script>
2686
2687  
2687<script>
2688  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
2689    window.ga = function ga() {
2690      (window.ga.q = window.ga.q || []).push(arguments);
2691      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
2692        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
2693      }
2694      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
2695    };
2696    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
2697      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
2698    }
2699  }
2700</script>
vendor: 1 bytes, line 2700
2700
2701<script
2702  defer
2703  src="https://www.glowrecipe.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
2704  data-application="storefront-renderer"
2705  data-shop-id="5438301"
2706  data-render-region="gcp-us-central1"
2707  data-page-type="page"
2708  data-theme-instance-id="148112244851"
2709  data-theme-name="Simplistic"
2710  data-theme-version="1.0.0"
2711  data-monorail-region="shop_domain"
2712  data-resource-timing-sampling-rate="10"
2713  data-shs="true"
2714  data-shs-beacon="true"
2715  data-shs-export-with-fetch="true"
2716  data-shs-logs-sample-rate="1"
2717  data-shs-beacon-endpoint="https://www.glowrecipe.com/api/collect"
2718></script>
2718
2719<meta name="shopify-y" content="62c83917-f8c7-48d8-b471-2b64d1214c08" data-expiration="1821830657000"><meta name="shopify-s" content="2e144bb8-c646-4dd1-875b-ae6c4af444d2" data-expiration="1790274857000"><meta name="new-cookie-storage-activated" content="t">
2720</head>
2721	
2722	
2723	
2724	
2724<script>
2725		(function(d) {
2726			var e = d.createElement('script');
2727			e.src = d.location.protocol + '//tag.wknd.ai/4566/i.js';
2728			e.async = true;
2729			d.getElementsByTagName("head")[0].appendChild(e);
2730		}(document));
2731	</script>
2731
2732	
2733	
2734	 
2735
2736	  
2737	  <body>
2737<script>
2738  (function () {
2739    function fixSwymWishlistProductIds(root) {
2740      (root || document)
2741        .querySelectorAll(".swym-advanced-wishlist-collections-container[data-product-id]")
2742        .forEach(function (container) {
2743          var current = container.getAttribute("data-product-id");
2744          var fixed = current.replace(/^\/collections\/[^/]+\/products\//, "/products/");
2745          if (fixed !== current) {
2746            container.setAttribute("data-product-id", fixed);
2747          }
2748        });
2749    }
2750
2751    function runFix() {
2752      fixSwymWishlistProductIds();
2753      if (window._swat && window._swat.advancedCollectionsApi) {
2754        window._swat.advancedCollectionsApi.reinitialize();
2755      }
2756    }
2757
2758    if (!window.SwymCallbacks) {
2759      window.SwymCallbacks = [];
2760    }
2761    window.SwymCallbacks.push(runFix);
2762    runFix();
2763
2764    var debounceId = null;
2765    new MutationObserver(function () {
2766      clearTimeout(debounceId);
2767      debounceId = setTimeout(runFix, 300);
2768    }).observe(document.body, { childList: true, subtree: true });
2769  })();
2770</script>
2770<noscript>
2771				<iframe title="Google Tag Manager" src="https://www.googletagmanager.com/ns.html?id=GTM-KLMDWXZ"
2772				height="0" width="0" style="display:none;visibility:hidden"></iframe>
2773			</noscript>
2774		<a class="skip-to-content-link btn visually-hidden" href="#main-content">
2775		  Skip to Main Content
2776		</a>
2777	
2778		
2779		<header id="header" class="header-outer" role="banner"><div id="shopify-section-announcement_bar" class="shopify-section"><style>
2780  #shopify-section-announcement_bar {
2781    position: relative;
2782    z-index: 101;
2783    --speed: 120s;    
2784  }
2785  .announcement-bar-wrapper {
2786    background-color: #fcf5fa;
2787    overflow: hidden;
2788  }
2789  .announcement-bar {
2790    text-align: center;
2791    max-width: 100%;
2792    color: #272727;
2793    padding-top: .35em;
2794    padding-bottom: .35em;
2795    line-height: 1.2;
2796  }
2797  .announcement-content {
2798    font-weight: bold;
2799    font-size: 0.7125em;
2800    padding: 0 12em; 
2801  }
2802  .announcement-bar .link{text-decoration:none !important}
2803  .ab-arrow { padding: 0 .5em; }
2804  .announcement-bar .link:hover {
2805    color: #000;
2806  }
2807
2808  @media all and (max-width: 900px){
2809    .announcement-content {padding: 0 1em;}
2810  }
2811</style>
2812
2813<sliding-announcement-bar data-slider-arrows="false" data-slider-duration="1500" data-slider-autoplay="false">
2814<div class="announcement-bar-wrapper flex align-items-center justify-content-between"><div class="sliding-announcement-bar keen-slider flex-grow"><div class="announcement-bar keen-slider-slide medium-down--flex medium-down--justify-content-center medium-down--align-items-center" role="region" aria-label="Announcement" ><a href="/products/pdrn-tinted-soft-matte-lip-blur-balm" class="announcement-bar__link link link--text focus-inset animate-arrow"><span class="announcement-content">
2815             NEW<span class="separator">&nbsp; &#8226; &nbsp;</span>Vegan PDRN Blur Balm
2816            </span></a></div><div class="announcement-bar keen-slider-slide medium-down--flex medium-down--justify-content-center medium-down--align-items-center" role="region" aria-label="Announcement" ><a href="/collections/bestsellers" class="announcement-bar__link link link--text focus-inset animate-arrow"><span class="announcement-content">
2817             FREE U.S. SHIPPING<span class="separator">&nbsp; &#8226; &nbsp;</span>With Orders $40+
2818            </span></a></div><div class="announcement-bar keen-slider-slide medium-down--flex medium-down--justify-content-center medium-down--align-items-center" role="region" aria-label="Announcement" ><a href="/products/the-roll-bag" class="announcement-bar__link link link--text focus-inset animate-arrow"><span class="announcement-content">
2819             The Pink Roll Bag Is Back<span class="separator">&nbsp; &#8226; &nbsp;</span>Shop Now
2820            </span></a></div><div class="announcement-bar keen-slider-slide medium-down--flex medium-down--justify-content-center medium-down--align-items-center" role="region" aria-label="Announcement" ><a href="/pages/glow-rewards" class="announcement-bar__link link link--text focus-inset animate-arrow"><span class="announcement-content">
2821             CLUB GLOW REWARDS<span class="separator">&nbsp; &#8226; &nbsp;</span>Get Rewarded For Glowing Skin
2822            </span></a></div></div></div>
2823</sliding-announcement-bar>
2823<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/component_sliding_announcement_bar.js?v=76320322613864460921788493424
2824" defer="defer"></script>
2824</div><div id="shopify-section-header" class="shopify-section header-inner"><style>
2825  .header-outer {
2826    --header-menu-font-size: 0.9375em;
2827    --header-menu-font-weight: 700;
2828    --header-menu-letter-spacing: inherit;
2829    --header-menu-text-transform: none;
2830    --header-submenu-color: white;
2831    --header-logo-max-width: 12em;
2832  }
2833  .mobile-menu-button {
2834    --mobile-menu-button-bg-color: ;
2835    --mobile-menu-button-icon-color: #000000;
2836  }
2837  .header-inner .item.highlight-menu-item{background-color: #f67599; border: 2px solid transparent;}
2838  .header-inner .item.highlight-menu-item a.nav-1{color: #fcf5fa;}
2839  .header-inner .item.highlight-menu-item a.nav-1 svg path{fill: #fcf5fa;}
2840  
2841  @media (min-width: 901px) {
2842    .header-outer {
2843      
2844      --header-color: #ffffff;
2845      --header-border: ;
2846      
2847        --header-text-color: #000000;
2848      
2849    }.header-outer {
2850      position: sticky;
2851      top: 0px;
2852      z-index: 100;
2853    }}
2854  
2855  @media (max-width: 900px) {
2856    .header-outer {
2857      --header-color: rgba(0,0,0,0);
2858      --header-border: ;
2859      
2860        --header-text-color: #000000;
2861      
2862      --header-logo-max-width: 9em;
2863    }.header-outer.scroll {
2864      --header-color: #ffffff;
2865      --header-text-color: #000000;
2866    }
2867.header-outer {
2868      position: fixed;
2869      top: 0px;
2870      z-index: 100;
2871    }
2872      .header-outer.header-sticky {
2873      position: fixed;
2874      top: 0px;
2875      z-index: 100;
2876    }
2877    #main-content{
2878    margin-top: calc(var(--header-offset) + 1px);
2879    }
2880      .header-inner{position: relative; width: 100%;background: white;}
2881    
2882    .header-content.logo_center .logo {margin-left: -2em;} /* Compensate width of mobile-menu-button (hardcoded to 2em) */
2883  }
2884  </style><header-scroll></header-scroll>
2885  
2886  <div class="hide medium-down--show burger-mobile" id="burger_wrapper" style="width: 25%;">
2887    <button type="button" class="mobile-menu-button" aria-label="Open Menu"><svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-hamburger" viewBox="0 0 32 32"><path fill="" d="M4.889 14.958h22.222v2.222H4.889v-2.222zM4.889 8.292h22.222v2.222H4.889V8.292zM4.889 21.625h22.222v2.222H4.889v-2.222z"/></svg></a>
2888  </div><div class="header-content logo_top body_font"><div class="header-top one-whole flex align-items-center justify-content-center"><div class="top-utils top-utils-2 justify-content-start" id="top_utils_wrapper_2">
2889    <div class="top-utils-wrap"><div class="item nav-1  ">
2890        <span class="nav-1 custom-item"><a href="https://www.glowrecipe.com/pages/glow-101">GLOW 101</a></span>
2891      </div><div class="item nav-1  ">
2892        <span class="nav-1 custom-item"><a href="/pages/glow-rewards-copy">CLUB GLOW REWARDS</a></span>
2893      </div></div>
2894</div><div class="flex-grow logo-container" id="logo_wrapper" style="opacity: 0;">
2895          <a href="/"  class="logo flex justify-content-center ease-animation" ><img src="//www.glowrecipe.com/cdn/shop/files/GLOW_TYPOGRAPHIC_7152e569-f2c6-4c54-933b-679050cbfc81_600x.png?v=1633360446" alt="Glow Recipe" /></a>
2896        </div>  <div class="top-utils justify-content-end" id="top_utils_wrapper">
2897    <div class="top-utils-wrap"><a alt="Wishlist" href="#swym-wishlist" class="item nav-1  ">
2898        <div id="wishlist-header"></div>
2899      </a><button type="button" aria-controls="search-bar" aria-expanded="false" aria-label="Product Search" class="trigger-search item nav-1  "><svg class="icon icon-glow-search" role="presentation" viewBox="0 0 18 17" aria-hidden="true" tabindex="-1" role="presentation" >
2900      <g transform="translate(1 1)" stroke="currentColor" stroke-width="1.4" fill="none" fill-rule="evenodd" stroke-linecap="square">
2901        <path d="M16 16l-5.0752-5.0752"></path>
2902        <circle cx="6.4" cy="6.4" r="6.4"></circle>
2903      </g>
2904    </svg></button>
2905      <div id="search-bar">
2906        <div class="container flex align-items-start"><search-form data-autocomplete="true">
2907  <form action="/search" method="get" class="search-form" role="search">
2908    <input type="text" class="input-search animation" name="q" value="" autocomplete="off" placeholder="Search" aria-label="Enter search terms" />
2909    
2910    <button aria-label="Submit search" tabindex="-1" focusable="false"><svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-search" viewBox="0 0 32 32">
2910<path fill="" d="M31.202,29.293l-8.704-8.703c1.671-2.087,2.677-4.729,2.677-7.604c0-6.721-5.468-12.188-12.189-12.188 S0.798,6.265,0.798,12.986c0,6.722,5.468,12.189,12.189,12.189c2.875,0,5.516-1.007,7.602-2.678l8.704,8.704L31.202,29.293z M12.987,22.475c-5.232,0-9.489-4.257-9.489-9.489s4.256-9.488,9.489-9.488s9.489,4.256,9.489,9.488S18.219,22.475,12.987,22.475z"/></svg></button>
2911    <small class="cera" style="opacity: 0.65">Only alphanumeric characters allowed</small>
2912  </form>
2913  <div class="wrapper tabs-container">
2914    <div class="tabs justify-content-start">
2915    <button class="tab-button first active" onclick="openTab(event, 'content1')" aria-label="Open Products tab"><span>Products</span></button>
2916    <button class="tab-button second" onclick="openTab(event, 'content2')" aria-label="Open Articles tab"><span>Articles</span></button>
2917    </div>
2918</div>
2919    <div class="content-wrapper">
2920        <div id="content1" class="tab-content">
2921          <div class="search-results"></div>
2922        </div>
2923        <div id="content2" class="tab-content" style="display:none">
2924          <div class="search-results-articles"></div>
2925        </div>
2926    </div>
2927</search-form>
2928
2929<script>
2930  function openTab(evt, tabName) {
2931    var i, tabContent, tabButtons, currentTab;
2932
2933    // Hide all tab contents
2934    tabContent = document.getElementsByClassName("tab-content");
2935    for (i = 0; i < tabContent.length; i++) {
2936      tabContent[i].style.display = "none";
2937    }
2938
2939    // Remove "active" class from tab buttons
2940    tabButtons = document.getElementsByClassName("tab-button");
2941    for (i = 0; i < tabButtons.length; i++) {
2942      tabButtons[i].classList.remove("active");
2943    }
2944
2945    // Check if the clicked tab is already active
2946    currentTab = document.getElementById(tabName);
2947    var isActive = currentTab.classList.contains("active");
2948    
2949 
2950    if (!isActive) {
2951      // Show the selected tab content and mark the button as active
2952      currentTab.style.display = "block";
2953      currentTab.classList.add("active");
2954      evt.currentTarget.classList.add("active");
2955    } else {
2956      // Hide the clicked tab and remove the active class
2957      currentTab.style.display = "none";
2958      currentTab.classList.remove("active");
2959      evt.currentTarget.classList.remove("active");
2960    }
2961    if(document.getElementById(tabName).style.display == 'none'){
2962      currentTab.style.display = "block";
2963      currentTab.classList.add("active");
2964      evt.currentTarget.classList.add("active");
2965    }
2966
2967  }
2968</script>
2968<button class="close-search-bar" aria-label="Close search bar">
2969            <svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-close" viewBox="0 0 32 32"><path fill="" d="M17.825,16l10.208,10.207l-1.827,1.826L16,17.824L5.793,28.033l-1.826-1.826L14.174,16L3.967,5.793l1.826-1.826L16,14.174 L26.208,3.967l1.825,1.826L17.825,16z"/></svg>
2970          </button>           
2971        </div>
2972      </div><a href="/account/login"  target="_blank"   aria-label="My Account" alt="My Account"" class="trigger-account item nav-1  small--hide"><svg class="icon icon-glow-account" role="presentation" viewBox="0 0 20 20" aria-hidden="true" tabindex="-1" role="presentation" >
2973      <g transform="translate(1 1)" stroke="currentColor" stroke-width="2" fill="none" fill-rule="evenodd" stroke-linecap="square">
2974        <path d="M0 18c0-4.5188182 3.663-8.18181818 8.18181818-8.18181818h1.63636364C14.337 9.81818182 18 13.4811818 18 18" style="fill: none !important;"></path>
2975        <circle cx="9" cy="4.90909091" r="4.90909091"></circle>
2976      </g>
2977    </svg></a><a href="/cart" alt="My Shopping Cart" class="ab-trigger-test item nav-1  "><svg class="icon icon-glow-bag" role="presentation" viewBox="0 0 17 20" aria-hidden="true" tabindex="-1" role="presentation" >
2978      <path d="M0 20V4.995l1 .006v.015l4-.002V4c0-2.484 1.274-4 3.5-4C10.518 0 12 1.48 12 4v1.012l5-.003v.985H1V19h15V6.005h1V20H0zM11 4.49C11 2.267 10.507 1 8.5 1 6.5 1 6 2.27 6 4.49V5l5-.002V4.49z" fill="currentColor"></path>
2979    </svg><div class="cart-count">0</div>
2980      </a></div>
2981</div></div>
2982      <div class="header-bottom one-whole flex  align-items-center justify-content-center">
2983        <nav class="header-main-menu"><div class="item    main-menu-parent-item" data-parent="shop-all"><a class="nav-1" href="https://www.glowrecipe.com/collections/all" >
2984      SHOP ALL
2985</a></div><div class="item    main-menu-parent-item" data-parent="new-arrivals"><a class="nav-1" href="/collections/new-now" >
2986      NEW ARRIVALS
2987</a></div><div class="item    main-menu-parent-item" data-parent="best-sellers"><a class="nav-1" href="/collections/bestsellers" >
2988      BEST-SELLERS
2989</a></div><div class="item    has-dropdown main-menu-parent-item" aria-haspopup="true" data-parent="shop-by"><a class="nav-1" href="#" onclick="return false;">
2990      SHOP BY
2991<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-down" viewBox="0 0 32 32"><path fill="" d="M26.985,8.5l1.516,1.617L16.001,23.5l-12.5-13.383L5.009,8.5l10.992,11.758L26.985,8.5z"/></svg>
2992</a><div class="submenu expandable">
2993    <div class="submenu-inner"><div class="item  has-dropdown" aria-haspopup="true">
2994      <a class="nav-2" href="/pages/skin-concerns">SKIN CONCERN
2995<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32"><path fill="" d="M8.5,5.015L10.117,3.5L23.5,16L10.117,28.5L8.5,26.991L20.258,16L8.5,5.015z"/></svg>
2996</a><div class="submenu expandable">
2997        <div class="submenu-inner"><div class="item ">
2998          <a class="nav-3" href="/collections/breakouts-acne">Breakouts &amp; Acne</a>
2999        </div><div class="item ">
3000          <a class="nav-3" href="/collections/hyperpigmentation-dark-spots">Dark Spots</a>
3001        </div><div class="item ">
3002          <a class="nav-3" href="/collections/dryness">Dryness</a>
3003        </div><div class="item ">
3004          <a class="nav-3" href="/collections/dullness-uneven-tone">Dullness</a>
3005        </div><div class="item ">
3006          <a class="nav-3" href="/collections/fine-lines-wrinkles">Fine Lines</a>
3007        </div><div class="item ">
3008          <a class="nav-3" href="/collections/oil-control-acne">Pores &amp; Oil</a>
3009        </div><div class="item ">
3010          <a class="nav-3" href="/collections/sensitivity-redness">Redness &amp; Sensitivity</a>
3011        </div></div>
3012      </div></div><div class="item  has-dropdown" aria-haspopup="true">
3013      <a class="nav-2" href="/pages/routine-101">KOREAN SKINCARE ROUTINE
3014<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32"><path fill="" d="M8.5,5.015L10.117,3.5L23.5,16L10.117,28.5L8.5,26.991L20.258,16L8.5,5.015z"/></svg>
3015</a><div class="submenu expandable">
3016        <div class="submenu-inner"><div class="item ">
3017          <a class="nav-3" href="/collections/cleansers">Cleanser</a>
3018        </div><div class="item ">
3019          <a class="nav-3" href="/collections/mists">Toner &amp; Mist</a>
3020        </div><div class="item ">
3021          <a class="nav-3" href="https://www.glowrecipe.com/collections/korean-skincare-toner-pads">Toner Pads</a>
3022        </div><div class="item ">
3023          <a class="nav-3" href="/collections/eye-care">Eye </a>
3024        </div><div class="item ">
3025          <a class="nav-3" href="/collections/serums-essences">Serum</a>
3026        </div><div class="item ">
3027          <a class="nav-3" href="/collections/moisturizers">Moisturizer</a>
3028        </div><div class="item ">
3029          <a class="nav-3" href="/collections/spf">Sunscreen</a>
3030        </div><div class="item ">
3031          <a class="nav-3" href="/collections/glow-hues">Glow Hues</a>
3032        </div><div class="item ">
3033          <a class="nav-3" href="/collections/lip">Lip</a>
3034        </div><div class="item ">
3035          <a class="nav-3" href="/collections/body">Body</a>
3036        </div></div>
3037      </div></div><div class="item  has-dropdown" aria-haspopup="true">
3038      <a class="nav-2" href="/pages/ingredients">KOREAN SKINCARE INGREDIENTS
3039<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32">
3039<path fill="" d="M8.5,5.015L10.117,3.5L23.5,16L10.117,28.5L8.5,26.991L20.258,16L8.5,5.015z"/></svg>
3040</a><div class="submenu expandable">
3041        <div class="submenu-inner"><div class="item ">
3042          <a class="nav-3" href="/collections/acids">Acids</a>
3043        </div><div class="item ">
3044          <a class="nav-3" href="/collections/ceramides">Ceramides</a>
3045        </div><div class="item ">
3046          <a class="nav-3" href="/collections/hyaluronic-acid">Hyaluronic Acid</a>
3047        </div><div class="item ">
3048          <a class="nav-3" href="/collections/mucin">Mucin</a>
3049        </div><div class="item ">
3050          <a class="nav-3" href="/collections/niacinamide">Niacinamide</a>
3051        </div><div class="item ">
3052          <a class="nav-3" href="/collections/peptides">Peptides</a>
3053        </div><div class="item ">
3054          <a class="nav-3" href="/collections/retinol">Retinol</a>
3055        </div><div class="item ">
3056          <a class="nav-3" href="/collections/vitamin-c">Vitamin C</a>
3057        </div></div>
3058      </div></div><div class="item  has-dropdown" aria-haspopup="true">
3059      <a class="nav-2" href="/collections/fruit-friends">FRUIT
3060<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32"><path fill="" d="M8.5,5.015L10.117,3.5L23.5,16L10.117,28.5L8.5,26.991L20.258,16L8.5,5.015z"/></svg>
3061</a><div class="submenu expandable">
3062        <div class="submenu-inner"><div class="item ">
3063          <a class="nav-3" href="/collections/watermelon">Watermelon</a>
3064        </div><div class="item ">
3065          <a class="nav-3" href="/collections/avocado">Avocado</a>
3066        </div><div class="item ">
3067          <a class="nav-3" href="https://www.glowrecipe.com/collections/banana">Banana</a>
3068        </div><div class="item ">
3069          <a class="nav-3" href="/collections/blackberry">Blackberry</a>
3070        </div><div class="item ">
3071          <a class="nav-3" href="/collections/cloudberry">Cloudberry</a>
3072        </div><div class="item ">
3073          <a class="nav-3" href="/collections/guava">Guava</a>
3074        </div><div class="item ">
3075          <a class="nav-3" href="/collections/papaya">Papaya</a>
3076        </div><div class="item ">
3077          <a class="nav-3" href="/collections/plum">Plum</a>
3078        </div><div class="item ">
3079          <a class="nav-3" href="/collections/prickly-pear">Prickly Pear</a>
3080        </div><div class="item ">
3081          <a class="nav-3" href="/collections/strawberry">Strawberry</a>
3082        </div></div>
3083      </div></div><div class="item  ">
3084      <a class="nav-2" href="/collections/minis">KOREAN SKINCARE MINIS
3085</a></div><div class="item  ">
3086      <a class="nav-2" href="/collections/merch">MERCH
3087</a></div></div>
3088  </div></div><div class="item    has-dropdown main-menu-parent-item" aria-haspopup="true" data-parent="value-sets"><a class="nav-1" href="#" onclick="return false;">
3089      VALUE SETS
3090<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-down" viewBox="0 0 32 32"><path fill="" d="M26.985,8.5l1.516,1.617L16.001,23.5l-12.5-13.383L5.009,8.5l10.992,11.758L26.985,8.5z"/></svg>
3091</a><div class="submenu expandable">
3092    <div class="submenu-inner"><div class="item  ">
3093      <a class="nav-2" href="https://www.glowrecipe.com/collections/holiday-kits">Holiday Kits
3094</a></div><div class="item  ">
3095      <a class="nav-2" href="/products/banana-moisturizing-cream-shimmer-lip-treatment-duo">Korean Banana Milk Kit
3096</a></div><div class="item  ">
3097      <a class="nav-2" href="/products/the-glow-recipe-experience-kit">Glow Recipe Experience Kit
3098</a></div><div class="item  ">
3099      <a class="nav-2" href="/products/the-glass-skin-roll-bag-kit">Glass Skin Roll Bag Kit
3100</a></div><div class="item  has-dropdown" aria-haspopup="true">
3101      <a class="nav-2" href="https://www.glowrecipe.com/pages/make-your-own-kit#fullsize_kit">Make Your Own Korean Skincare Kit
3102<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32"><path fill="" d="M8.5,5.015L10.117,3.5L23.5,16L10.117,28.5L8.5,26.991L20.258,16L8.5,5.015z"/></svg>
3103</a><div class="submenu expandable">
3104        <div class="submenu-inner"><div class="item ">
3105          <a class="nav-3" href="https://www.glowrecipe.com/pages/make-your-own-kit#travel_kit">Trial &amp; Travel  Kit</a>
3106        </div><div class="item ">
3107          <a class="nav-3" href="https://www.glowrecipe.com/pages/make-your-own-kit#fullsize_kit">Full-Size Routine Kit</a>
3108        </div><div class="item ">
3109          <a class="nav-3" href="https://www.glowrecipe.com/pages/make-your-own-kit#serum_kit">Serum Kit</a>
3110        </div></div>
3111      </div></div><div class="item  ">
3112      <a class="nav-2" href="/collections/kits">Shop All Value Sets
3113</a></div></div>
3114  </div></div><div class="item    has-dropdown main-menu-parent-item" aria-haspopup="true" data-parent="guide-me"><a class="nav-1" href="#" onclick="return false;">
3115      GUIDE ME
3116<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-down" viewB
3116ox="0 0 32 32"><path fill="" d="M26.985,8.5l1.516,1.617L16.001,23.5l-12.5-13.383L5.009,8.5l10.992,11.758L26.985,8.5z"/></svg>
3117</a><div class="submenu expandable">
3118    <div class="submenu-inner"><div class="item  ">
3119      <a class="nav-2" href="https://www.glowrecipe.com/pages/find-your-glow-recipe">Skin Quiz
3120</a></div><div class="item  has-dropdown" aria-haspopup="true">
3121      <a class="nav-2" href="/pages/glow-101">Glow 101
3122<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32"><path fill="" d="M8.5,5.015L10.117,3.5L23.5,16L10.117,28.5L8.5,26.991L20.258,16L8.5,5.015z"/></svg>
3123</a><div class="submenu expandable">
3124        <div class="submenu-inner"><div class="item ">
3125          <a class="nav-3" href="/pages/routine-101">Korean Skincare Routine 101</a>
3126        </div><div class="item ">
3127          <a class="nav-3" href="/pages/skin-concerns">Skin Concerns Guide</a>
3128        </div><div class="item active">
3129          <a class="nav-3" href="/pages/serious-about-serums">Serums Guide</a>
3130        </div><div class="item ">
3131          <a class="nav-3" href="/pages/ingredients">Korean Skincare Ingredients</a>
3132        </div></div>
3133      </div></div></div>
3134  </div></div><div class="item    has-dropdown main-menu-parent-item" aria-haspopup="true" data-parent="glow-services"><a class="nav-1" href="#" onclick="return false;">
3135      GLOW SERVICES
3136<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-down" viewBox="0 0 32 32"><path fill="" d="M26.985,8.5l1.516,1.617L16.001,23.5l-12.5-13.383L5.009,8.5l10.992,11.758L26.985,8.5z"/></svg>
3137</a><div class="submenu expandable">
3138    <div class="submenu-inner"><div class="item  ">
3139      <a class="nav-2" href="/pages/subscriptions">Subscribe &amp; Save 15%
3140</a></div><div class="item  ">
3141      <a class="nav-2" href="https://www.glowrecipe.com/pages/offers">Offers
3142</a></div><div class="item  ">
3143      <a class="nav-2" href="https://gifts.glowrecipe.com/">Glow Gifts
3144</a></div><div class="item  ">
3145      <a class="nav-2" href="/products/gift-card-2">Gift Cards
3146</a></div></div>
3147  </div></div><div class="item    main-menu-parent-item" data-parent="about-glow"><a class="nav-1" href="#" onclick="return false;">
3148      ABOUT GLOW
3149<svg aria-hidden="true" tabindex="-1" role="presentation" class="icon icon-arrow-down" viewBox="0 0 32 32"><path fill="" d="M26.985,8.5l1.516,1.617L16.001,23.5l-12.5-13.383L5.009,8.5l10.992,11.758L26.985,8.5z"/></svg>
3150</a></div></nav>
3151      </div></div>
3152  
3153  
3153<script type="module">
3154    function setVarStyleHeaderOffset() {
3155      var headerOffset;
3156      if($s.media.isLarge){headerOffset = document.getElementById('header').offsetHeight;}
3157      if($s.media.isMediumDown){headerOffset = document.getElementById('header').offsetHeight;}
3158      $s.setCssVariable('header-offset', headerOffset + 'px');
3159    }
3160    window.addEventListener('mediaChange', setVarStyleHeaderOffset);
3161    setVarStyleHeaderOffset();
3162  
3163    // handling menu line effect
3164    var topItems = document.querySelectorAll('.header-main-menu > .item');
3165var animatedEl = null;
3166var activeTopItem = null;
3167
3168topItems.forEach(item => {
3169  const link = item.querySelector('.nav-1');
3170  if (!link) return; // skip if not a top-level item
3171
3172  // Mouse enter top-level item
3173  item.addEventListener('mouseenter', e => {
3174    // If we already have an underline for THIS item, do nothing
3175    if (activeTopItem === item) return;
3176
3177    // If an underline exists from another item, remove it
3178    if (animatedEl) animatedEl.remove();
3179
3180    activeTopItem = item;
3181
3182    // Create underline only once per top-level hover
3183    animatedEl = createMenuItemAnimatedElement(link);
3184    document.body.appendChild(animatedEl);
3185
3186    setTimeout(() => {
3187      animatedEl.classList.add('active');
3188    }, 10);
3189  });
3190
3191  // Mouse leave top-level item
3192  item.addEventListener('mouseleave', e => {
3193    // If moving into submenu, keep underline
3194    if (item.contains(e.relatedTarget)) return;
3195
3196    // Fully left the menu group → remove underline
3197    if (animatedEl) animatedEl.remove();
3198    animatedEl = null;
3199    activeTopItem = null;
3200  });
3201});
3202
3203    var theHeader = document.querySelector('.header-inner')
3204    var burgerWrapper = document.querySelector('#burger_wrapper');
3205    var topUtilsWrapper = document.querySelector('#top_utils_wrapper');
3206    var logoWrapper = document.querySelector('#logo_wrapper');
3207  
3208    
3209  
3210    if(theHeader.clientWidth > 1250){
3211      adjustMargin(logoWrapper, topUtilsWrapper)
3212    } else {
3213      matchWidth(logoWrapper, topUtilsWrapper)
3214    }
3215  
3216    window.addEventListener('resize', (e)=>{
3217      if(document.body.clientWidth > 1250){
3218        adjustMargin(logoWrapper,topUtilsWrapper)
3219      } else {
3220        matchWidth(logoWrapper,topUtilsWrapper)
3221      }
3222    }, false)
3223    
3224    function matchWidth(logoWrapper,topUtilsWrapper){
3225      //logoWrapper.style.marginLeft = topUtilsWrapper.clientWidth - 40 +'px';
3226      logoWrapper.style.opacity = '1';
3227    }
3228  
3229    function adjustMargin(logoWrapper,topUtilsWrapper){    
3230      //logoWrapper.style.marginLeft = topUtilsWrapper.clientWidth + 'px'
3231        logoWrapper.style.opacity = '1';
3232    }
3233  
3234    function createMenuItemAnimatedElement(item) {
3235      var animatedEl = document.createElement('div');
3236      animatedEl.classList.add('animated-separator');
3237      animatedEl.innerHTML = '<div class="inner-animated"></div>';
3238      var itemPos = getMenuItemPos(item);
3239      animatedEl.style.left = itemPos.x + 'px';
3240      animatedEl.style.top = (itemPos.y + itemPos.height + 0) + 'px';
3241      animatedEl.style.width = itemPos.width + 'px';
3242      return animatedEl;
3243    }
3244  
3245    function getMenuItemPos(el) {
3246        var viewportOffset = el.getBoundingClientRect();
3247        var top = viewportOffset.top;
3248        var left = viewportOffset.left;
3249        var width = el.offsetWidth;
3250        var height = el.offsetHeight;
3251        return { x: left, y: top, width: width, height: height };
3252    }
3253    // handling menu line effect
3254  </script>
3254
3255  
3256  </div></header><main id="main-content" class="page.serum-guide" role="main" tabindex="-1">
3257		  <section id="shopify-section-template--20367591211123__image_text_PPxLN8" class="shopify-section"><link href="//www.glowrecipe.com/cdn/shop/t/1677/assets/image_text.css?v=74990641622703261251788493545" rel="stylesheet" type="text/css" media="all" />
3258
3259<style>
3260  #shopify-section-template--20367591211123__image_text_PPxLN8 {
3261    --section-padding-desktop: 0;
3262    --section-bg-color: #ffffff;
3263    --text-bg-color: #fcdef6;
3264    --title-color: #000000;
3265    --text-color: #000000;
3266    --text-width: 60em;
3267    --text-padding-desktop: 3em;
3268    --eyebrow-image-width: 140px;
3269    
3270      --background-image: 'none';
3271    
3272    --button-spacing: 2em;
3273    --title-font-size: 4.26em;
3274    --subtitle-font-size: 1.2em;
3275    --text-font-size: 1em;
3276    --eyebrow-font-size: .9em;
3277    --rounded-corners: none;
3278  }
3279  @media all and (min-width: 901px){
3280    #shopify-section-template--20367591211123__image_text_PPxLN8 {
3281      --image-width: 50%;
3282    }
3283  }
3284  @media all and (max-width: 900px){
3285    #shopify-section-template--20367591211123__image_text_PPxLN8 {
3286      --title-font-size: 1.5em;
3287      --section-padding-mobile: 0;
3288      --text-padding-mobile: 3em 20px;
3289      --subtitle-font-size: 1.2em;
3290      --text-font-size: 1em;
3291    }
3292  }
3293  @media all and (max-width: 600px){
3294    #shopify-section-template--20367591211123__image_text_PPxLN8 {
3295      
3296        --background-image: 'none';
3297            
3298      --eyebrow-font-size: .8em;
3299      --section-padding-mobile: 0;
3300      --rounded-corners: none
3301    }
3302  }
3303</style><div class="image-text " id="">
3304  
3305  <div >
3306    <div class="grid-full content normal align-items-center"><div class="grid-item text-column flex-1 medium-down--one-whole flex justify-content-center">
3307        <div class="wrap text-center medium-down--text-center "><img alt="" class="img eyebrow-image lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x17_crop_left.png?v=1593909494867914621788493478
3308" data-srcset="//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_180x.png?v=1722542253 180w 31h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_360x.png?v=1722542253 360w 62h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_600x.png?v=1722542253 600w 103h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_720x.png?v=1722542253 720w 124h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_900x.png?v=1722542253 900w 155h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_1080x.png?v=1722542253 1080w 186h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_1296x.png?v=1722542253 1296w 223h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_1512x.png?v=1722542253 1512w 260h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_1728x.png?v=1722542253 1728w 297h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2_1950x.png?v=1722542253 1950w 335h,//www.glowrecipe.com/cdn/shop/files/GLOW_101_logo_2.png?v=1722542253&width=2000 2000w 344h" /><h2 class="title">SERUM GUIDE</h2><div class="text"><p>Our serums are formulated to treat whatever skin concerns come your way with clinically effective ingredients & gentle formulas made to be used daily. Here's our guide to building the serum wardrobe that's right for you. </p><p>Clinically effective & under $50. </p></div><a href="/collections/serums-essences" class="btn v2">SHOP SERUMS</a></div>
3309      </div>
3310    </div>
3311  </div>
3312</div><style> #shopify-section-template--20367591211123__image_text_PPxLN8 .title {font-weight: 700;} #shopify-section-template--20367591211123__image_text_PPxLN8 .text p {font-size: 0.93em; margin-bottom: 0.66em;} #shopify-section-template--20367591211123__image_text_PPxLN8 .btn {width: fit-content;} </style></section><section id="shopify-section-template--20367591211123__information_grid_NgPnmD" class="shopify-section"><link href="//www.glowrecipe.com/cdn/shop/t/1677/assets/information_grid.css?v=148816363775242585521788493545" rel="stylesheet" type="text/css" media="all" />
3313
3314<style>
3315  #shopify-section-template--20367591211123__information_grid_NgPnmD {
3316    --section-bg: #ffffff;
3317    --section-padding: 70px 0;
3318    --column-bg: #fcdef6;
3319  }
3320  @media (max-width: 900px){
3321   #shopify-section-template--20367591211123__information_grid_NgPnmD {
3322      --section-padding: 32px 0;
3323      --min-width: 800px;
3324   }
3325  }
3326</style>
3327
3328<div class="information-grid">
3329  <div class="large--container">
3330    <div class="content"><div class="main-grid flex direction-column"><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">BENEFITS</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">TARGETS</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">CLINICALLY EFECTIVE INGREDIENTS</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">CLAIMS</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3331                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x100_crop_left.png?v=1593909494867914621788493478
3332" data-srcset="//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_180x.jpg?v=1755786300 180w 180h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_360x.jpg?v=1755786300 360w 360h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_600x.jpg?v=1755786300 600w 600h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_720x.jpg?v=1755786300 720w 720h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_900x.jpg?v=1755786300 900w 900h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_1080x.jpg?v=1755786300 1080w 1080h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_1296x.jpg?v=1755786300 1296w 1296h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_1512x.jpg?v=1755786300 1512w 1512h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629_1728x.jpg?v=1755786300 1728w 1728h,//www.glowrecipe.com/cdn/shop/files/PRICKLY_PEAR_PDP_1920x1920_71ac2e7d-a5f2-4364-ba6c-008492e4a629.jpg?v=1755786300&width=1920 1920w 1920h" />
3333                  </div><a class="btn v2" href="/products/prickly-pear-peptide-mucin">
3334                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Delivers visible bounce</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Dullness & dryness</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Bio-Active Peptides</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">96% agree skin looks instantly bouncier and smoother</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3335                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3336" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_1_180x.png?v=1733928860 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_1_360x.png?v=1733928860 360w 279h,//www.glowrecipe.com/cdn/shop/files/TABLE_1.png?v=1733928860&width=445 445w 345h" />
3337                  </div><a class="btn v2" href="/products/watermelon-glow-niacinamide-dew-drops">
3338                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Glow &</br> even tone</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Dullness &</br>uneven tone</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Niacinamide</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">97% agreed this serum made their skin look more glowy</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3339                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3340" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_2_180x.png?v=1733928865 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_2_360x.png?v=1733928865 360w 280h,//www.glowrecipe.com/cdn/shop/files/TABLE_2.png?v=1733928865&width=445 445w 346h" />
3341                  </div><a class="btn v2" href="/products/strawberry-smooth-bha-aha-salicylic-serum">
3342                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Smooth</br>texture & prevent breakouts</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Blemishes and uneven texture</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">BHA + AHA</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">100% has significant decongestion and visible reduction in pore size</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3343                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3344" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_3_180x.png?v=1733928866 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_3_360x.png?v=1733928866 360w 280h,//www.glowrecipe.com/cdn/shop/files/TABLE_3.png?v=1733928866&width=445 445w 346h" />
3345                  </div><a class="btn v2" href="/products/plum-plump-hyaluronic-serum">
3346                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Hydate &</br>plum</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Dryness</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">5 unique molecular</br>weights of hyaluronic acid</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">100% agreed their skin felt more hydrated</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3347                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3348" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_4_180x.png?v=1733928866 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_4_360x.png?v=1733928866 360w 279h,//www.glowrecipe.com/cdn/shop/files/TABLE_4.png?v=1733928866&width=445 445w 345h" />
3349                  </div><a class="btn v2" href="/products/pomegranate-peptide-firming-serum">
3350                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Smooth &</br>firm</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Fine lines</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Polypeptides</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">93% agree skin looks firm, lifted, and smooth</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3351                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3352" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_5_180x.png?v=1733928866 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_5_360x.png?v=1733928866 360w 279h,//www.glowrecipe.com/cdn/shop/files/TABLE_5.png?v=1733928866&width=445 445w 345h" />
3353                  </div><a class="btn v2" href="/products/guava-vitamin-c-dark-spot-serum">
3354                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Brighten & fade dark spots</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Dullness & uneven tone</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Vitamin C (in 5 forms)</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">93% agree skin looks firm, lifted, and smooth</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3355                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3356" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_6_180x.png?v=1733928866 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_6_360x.png?v=1733928866 360w 280h,//www.glowrecipe.com/cdn/shop/files/TABLE_6.png?v=1733928866&width=445 445w 346h" />
3357                  </div><a class="btn v2" href="/products/avocado-ceramide-recovery-serum">
3358                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Supports skin barrier</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Redness & sensitivity</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Ceramide-5</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">86% agreed this serum lessens visible redness</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3359                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3360" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_7_180x.png?v=1733928866 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_7_360x.png?v=1733928866 360w 279h,//www.glowrecipe.com/cdn/shop/files/TABLE_7.png?v=1733928866&width=445 445w 345h" />
3361                  </div><a class="btn v2" href="/products/blackberry-retinol-blemish-serum">
3362                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Treat breakout</br>& smooth</br>texture + lines</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Breakouts, texture</br>& fine lines</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Triple-Retinoid Blend, 8% Glycerin, & Blackberry Extract</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">97% agreed skin teture look & feels smotther</div></div></div><div class="row flex"><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="img-container">
3363                    <img alt="" class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder_100x78_crop_left.png?v=1593909494867914621788493478
3364" data-srcset="//www.glowrecipe.com/cdn/shop/files/TABLE_8_180x.png?v=1733928866 180w 140h,//www.glowrecipe.com/cdn/shop/files/TABLE_8_360x.png?v=1733928866 360w 280h,//www.glowrecipe.com/cdn/shop/files/TABLE_8.png?v=1733928866&width=445 445w 346h" />
3365                  </div><a class="btn v2" href="/products/strawberry-bha-pore-smooth-blur-drops">
3366                        <span class="medium-down--hide">Shop Serum</span><span class="large--hide">Shop</span></a></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Blur pores & balance oil</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Pores & oil control</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">Encapsulated BHA</div></div><div class="cell text-center flex direction-column align-items-center justify-content-center"><div class="cell-text">100% agreed this minimized apparance of pores</div></div></div></div>
3367    </div>
3368  </div>
3369</div>
3370
3371
3372
3373</section><section id="shopify-section-template--20367591211123__hero_carousel_C3tLVD" class="shopify-section"><link href="//www.glowrecipe.com/cdn/shop/t/1677/assets/hero_carousel.css?v=141994445286786779521788493546" rel="stylesheet" type="text/css" media="all" />
3374
3375<style>
3376  @media all and (min-width: 901px){
3377    #shopify-section-template--20367591211123__hero_carousel_C3tLVD {
3378      --height-desktop: 45%;
3379      --height-mobile: 680px;
3380    }#shopify-section-template--20367591211123__hero_carousel_C3tLVD .block-slide_NGw8C8 {
3381        --bg-color-desktop: #f197cb;
3382        --text-width-desktop: 44em;
3383        --text-padding-desktop: 0 3em;
3384        --title-color-desktop: #ffffff;
3385        --text-color-desktop: #000000;
3386        --title-font-size: 2.5em;
3387        --text-font-size: 1em;
3388        --captions-bg-color: ; 
3389        --title-font-weight: 400;
3390        --text-font-weight: 400;
3391      }}
3392  @media all and (max-width: 900px) {
3393    #shopify-section-template--20367591211123__hero_carousel_C3tLVD {
3394      --height-mobile: 680px;
3395      --container-padding: 1.2rem;
3396    }#shopify-section-template--20367591211123__hero_carousel_C3tLVD .block-slide_NGw8C8 {
3397        --bg-color-mobile: #999999;
3398        --text-padding-mobile: 0.75em 0;
3399        --title-color-mobile: #ffffff;
3400        --text-color-mobile: #000000;
3401        --title-font-size: 2.5em;
3402        --text-font-size: 1em;
3403        --captions-bg-color: ;
3404        --title-font-weight: 400;
3405        --text-font-weight: 400;
3406      }}
3407
3408  @media all and (max-width: 600px) {
3409    #shopify-section-template--20367591211123__hero_carousel_C3tLVD {
3410      -container-padding: 1.2rem;
3411    }
3412  }
3413
3414  .hero-carousel .keen-dots-custom { width: auto; right: 2em; }
3415  .hero-carousel .keen-dots-custom .keen-dots-dot:after { width: 7px; height: 7px; background: none; border: 1px solid #000000; }
3416  .hero-carousel .keen-dots-custom .keen-dots-dot.active:after { background: #000000; }
3417
3418  @media all and (max-width: 600px) {
3419    .hero-carousel .keen-dots-custom { width: auto; right: 2em; }
3420    .hero-carousel .keen-dots-custom .keen-dots-dot:after { width: 7px; height: 7px; background: none; border: 1px solid #000000; }
3421    .hero-carousel .keen-dots-custom .keen-dots-dot.active:after { background: #000000; }
3422  }
3423</style>
3424<hero-carousel id="" class="hero-carousel serum-banner full-width mobile-text-inside " data-effect="slide" data-dots="true" data-arrows="true" data-autoplay="0">
3425  <div class="keen">
3426    <div class="keen-slider"><div class="keen-slider-slide  ">
3427        <div class="slide block-slide_NGw8C8"><div class="bg-img lazyload medium-down--hide" data-bgset="//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_180x.jpg?v=1755794909 180w 100h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_360x.jpg?v=1755794909 360w 199h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_600x.jpg?v=1755794909 600w 332h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_720x.jpg?v=1755794909 720w 398h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_900x.jpg?v=1755794909 900w 498h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_1080x.jpg?v=1755794909 1080w 597h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_1296x.jpg?v=1755794909 1296w 717h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_1512x.jpg?v=1755794909 1512w 836h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_1728x.jpg?v=1755794909 1728w 956h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_1950x.jpg?v=1755794909 1950w 1079h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_2100x.jpg?v=1755794909 2100w 1161h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_2260x.jpg?v=1755794909 2260w 1250h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3_2450x.jpg?v=1755794909 2450w 1355h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_DESKTOP_2600x1438_b86fde03-b187-40db-bac4-b13408572ef3.jpg?v=1755794909&width=2600 2600w 1438h"></div><div class="bg-img lazyload hide medium-down--show" data-bgset="//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_MOBILE_686x1310_2955f272-f7bb-436e-840d-cd24e2c6200e_180x.jpg?v=1755794910 180w 344h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_MOBILE_686x1310_2955f272-f7bb-436e-840d-cd24e2c6200e_360x.jpg?v=1755794910 360w 687h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_MOBILE_686x1310_2955f272-f7bb-436e-840d-cd24e2c6200e_600x.jpg?v=1755794910 600w 1146h,//www.glowrecipe.com/cdn/shop/files/8_26_SERUM_GUIDE_MOBILE_686x1310_2955f272-f7bb-436e-840d-cd24e2c6200e.jpg?v=1755794910&width=686 686w 1310h"></div><div class="overlay">
3428            <div class="container-full flex justify-content-start align-items-center medium-down--justify-content-center medium-down--align-items-start"> 
3429              <div class="captions text-left medium-down--text-center"><div class="epigraph">Formulas That Deliver<br>All Under $45</div><div class="text"><p>Our serums are formulated with targeted actives to address dryness, dullness, fine lines, and more. Lightweight and layerable, they’re designed to work seamlessly within any routine while supporting healthy, radiant skin.</p><p>Our newest addition, Prickly Pear Peptide Mucin, is a vegan “snail” mucin serum made with 81% cactus-derived mucin and bio-active peptides to help hydrate, smooth, and improve skin’s bounce. 100% snail free, cruelty-free, and suitable for all skin types.</p></div></div>
3430            </div>
3431            <div class="container-full cta-wrapper-hero flex justify-content-center align-items-center medium-down--justify-content-center medium-down--align-items-center"> 
3432              <div class="captions text-left medium-down--text-center"></div>
3433            </div>
3434          </div>
3435        </div>
3436      </div></div></div>
3437</hero-carousel>
3438
3439<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/component_hero_carousel.js?v=109417005168941335531788493416
3440" defer="defer"></script>
3440
3441
3442
3443<style> #shopify-section-template--20367591211123__hero_carousel_C3tLVD {background: white;} </style></section><div id="shopify-section-template--20367591211123__custom_html_BNLnaV" class="shopify-section"><style>
3444.serum-banner.hero-carousel {
3445    max-width: min(1300px, calc(100% - var(--container-padding) * 2));
3446    margin: auto;
3447    border-radius: 16px;
3448    border: 2px black solid;
3449  }
3450  .serum-banner.hero-carousel .title {
3451    font-weight: 600; 
3452    font-size: 45px;
3453
3454  }
3455  .serum-banner.hero-carousel .text {
3456    font-size: 18px;
3457  }
3458  .serum-banner.hero-carousel .text p:not(:last-child) {
3459    margin-bottom: 0.8em;
3460  }
3461  .serum-banner.hero-carousel .epigraph {
3462    font-weight: 400; 
3463    font-size: 70px;
3464    font-style: italic;
3465    line-height: 77px;
3466    font-family: "Playfair Display", serif;
3467    margin-bottom: 15px;
3468    color: white;
3469    text-transform: unset;
3470  }
3471
3472  @media all and (min-width: 901px) {
3473    .serum-banner.hero-carousel {
3474      --height-desktop: 720px;
3475    }
3476  }
3477
3478  @media (max-width: 900px){
3479    .serum-banner {
3480      margin-left: var(--container-padding); 
3481      margin-right: var(--container-padding);
3482    }
3483
3484    .serum-banner.hero-carousel .title {      
3485      font-size: 15px;
3486      font-weight: 400;
3487      margin-bottom: 15px;
3488
3489    }
3490
3491    .serum-banner.hero-carousel .text {
3492      font-size: 14px;
3493      line-height: 16.8px;
3494    }
3495
3496    .serum-banner.hero-carousel .epigraph {
3497      font-size: 35px;
3498      line-height: 38.5px;
3499      margin-bottom: 18px;
3500    }
3501
3502    .serum-banner.hero-carousel .bg-img.medium-down--show{
3503      background-position: right 50% bottom 20%;
3504    }
3505  }
3506</style>
3507
3508
3509</div>
3510		
3511		</main>
3512		<div id="shopify-section-offers_panel" class="shopify-section offers-panel-section">
3513
3514
3515
3516<style>    #shopify-section-offers_panel {      font-size: 16px;            }    #shopify-section-offers_panel {      --header-padding: 0.75em;      --panel-padding: 1em;      --card-padding: 1em;      --header-bg-color: #fcf5fa;      --header-border-color: #000000;      --header-title-color: #000000;      --header-text-color: #000000;      --panel-bg-color: #ffffff;              --overlay-color: rgba(0, 0, 0, 0.32);            }#shopify-section-offers_panel .block-card_fr4xkQ {        --card-bg-color: #fcf5fa;        --card-title-color: #000000;        --card-content-color: #000000;        --card-discount-color: #000000;        --card-btn-bg-color: #ffffff;                --card-btn-text-color: #000000;                 --card-btn-border-color: #000000;                --card-img-border-color: #000000;                --card-img-border-radius: 1em;                --card-title-font-size: 1.5em;                --card-content-font-size: 0.875em;                --card-discount-font-size: 2em;              }#shopify-section-offers_panel .block-card_nm6y3b {        --card-bg-color: #fcf5fa;        --card-title-color: #000000;        --card-content-color: #000000;        --card-discount-color: #000000;        --card-btn-bg-color: #ffffff;                --card-btn-text-color: #000000;                 --card-btn-border-color: #000000;                --card-img-border-color: #000000;                --card-img-border-radius: 1em;                --card-title-font-size: 1.5em;                --card-content-font-size: 0.875em;                --card-discount-font-size: 2em;              }#shopify-section-offers_panel .block-card_pnNE97 {        --card-bg-color: #fcf5fa;        --card-title-color: #000000;        --card-content-color: #000000;        --card-discount-color: #000000;        --card-btn-bg-color: #ffffff;                --card-btn-text-color: #000000;                 --card-btn-border-color: #000000;                --card-img-border-color: #000000;                --card-img-border-radius: 1em;                --card-title-font-size: 1em;                --card-content-font-size: 0.875em;                --card-discount-font-size: 1em;              }#shopify-section-offers_panel .block-card_7CznDa {        --card-bg-color: #fcdef6;        --card-title-color: #000000;        --card-content-color: #000000;        --card-discount-color: #000000;        --card-btn-bg-color: #ffffff;                --card-btn-text-color: #000000;                 --card-btn-border-color: #000000;                --card-img-border-color: #000000;                --card-img-border-radius: 1em;                --card-title-font-size: 1em;                --card-content-font-size: 0.875em;                --card-discount-font-size: 1em;              }@media all and (max-width: 600px) {      #shopify-section-offers_panel {        --header-padding: 0.5em;        --panel-padding: 1em;        --card-padding: 1em;      }#shopify-section-offers_panel .block-card_fr4xkQ {                 --card-title-font-size: 1.125em;                  --card-content-font-size: 0.75em;                  --card-discount-font-size: 1.875em;                }#shopify-section-offers_panel .block-card_nm6y3b {                 --card-title-font-size: 1.125em;                  --card-content-font-size: 0.75em;                  --card-discount-font-size: 1.875em;                }#shopify-section-offers_panel .block-card_pnNE97 {                 --card-title-font-size: 0.875em;                  --card-content-font-size: 0.675em;                  --card-discount-font-size: 0.875em;                }#shopify-section-offers_panel .block-card_7CznDa {                 --card-title-font-size: 0.875em;                  --card-content-font-size: 0.675em;                  --card-discount-font-size: 0.875em;                }}    </style><link href="//www.glowrecipe.com/cdn/shop/t/1677/assets/offers_panel.css?v=77681649111440138591788493545" rel="stylesheet" type="text/css" media="all" />
3517<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/component_carousel.js?v=161289233769878875961788493545" defer="defer"></script>
3517
3518
3519<div class="offers-panel " data-expand >
3520  
3521  <div class="offers-panel-wrapper flex direction-column">
3522    <div class="header flex justify-content-between" data-expand-trigger>
3523      <div class="text-wrapper flex direction-column flex-1">
3524        <div class="main-title">Today's Offers</div>        
3525        <div class="indicator">4 available</div>
3526      </div>
3527      <button type="button animation" class="expander" aria-label="Toggle offers panel">
3528        <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
3529    <path d="M19 9.5L12 16.5L5 9.5" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3530    </svg>
3531      </button>
3532    </div>
3533    <div class="panel ease-animation" >
3534      <div class="cards-wrapper one-whole expandable" data-expand-content>
3535        <component-carousel data-carousel-mode="free-snap" data-carousel-loop="false"  data-carousel-autoplay="false" data-carousel-automove="0" data-carousel-centered-desktop="" data-carousel-spacing-desktop="16" data-slides-per-view-desktop="3" data-carousel-centered-tablet="" data-carousel-spacing-tablet="16" data-slides-per-view-tablet="1.75" data-carousel-centered-mobile="" data-carousel-spacing-mobile="16" data-slides-per-view-mobile="1.1">
3536          <div class="keen">
3537            <div class="keen-slider">
3538              
3539                
3540                <div class="card keen-slider-slide flex direction-column block-card_fr4xkQ">
3541                  <div class="card-wrapper flex">
3542                    <div class="flex direction-column">
3543                      <div class="card-text-wrapper flex direction-column text-center">
3544                                      
3545                          <div class="card-title">
3546                              
3547                              Blur The Rules
3548                            
3549                          </div>
3550                        
3551                                      
3552                          <div class="card-content"><p>Meet the new generation of lip care: Vegan PDRN Lip Blur Balm.</p></div>
3553                        
3554                        
3555                        
3556                          
3557  
3558                          
3559  
3560                          <a class="btn v2 " href="/products/pdrn-tinted-soft-matte-lip-blur-balm" >Shop Now</a>
3561                          <span class="hide">Applied!</span>
3562                        
3563                        
3564                      </div>
3565                    </div>
3566                    <div class="card-image-wrapper"><img class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder.png?v=1593909494867914621788493478"  alt="" data-sizes="auto" data-srcset="//www.glowrecipe.com/cdn/shop/files/8_10_LIP_BLUR_TEASER_OFFERS_180x.jpg?v=1788484636 180w 225h,//www.glowrecipe.com/cdn/shop/files/8_10_LIP_BLUR_TEASER_OFFERS_360x.jpg?v=1788484636 360w 450h,//www.glowrecipe.com/cdn/shop/files/8_10_LIP_BLUR_TEASER_OFFERS_600x.jpg?v=1788484636 600w 750h,//www.glowrecipe.com/cdn/shop/files/8_10_LIP_BLUR_TEASER_OFFERS.jpg?v=1788484636&width=600 600w 750h"  />
3567                    </div>
3568                  </div>
3569                  
3570                </div>          
3571              
3572                
3573                <div class="card keen-slider-slide flex direction-column block-card_nm6y3b">
3574                  <div class="card-wrapper flex">
3575                    <div class="flex direction-column">
3576                      <div class="card-text-wrapper flex direction-column text-center">
3577                                      
3578                          <div class="card-title">
3579                              
3580                              Glow To Go Travel Kit
3581                            
3582                          </div>
3583                        
3584                                      
3585                          <div class="card-content"><p>This 8-piece kit features your daily skin essentials inside our new exclusive pink neoprene pouch. </p></div>
3586                        
3587                        
3588                        
3589                          
3590  
3591                          
3592  
3593                          <a class="btn v2 " href="/products/glow-to-go-travel-kit" >Shop The Kit</a>
3594                          <span class="hide">Applied!</span>
3595                        
3596                        
3597                      </div>
3598                    </div>
3599                    <div class="card-image-wrapper"><img class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder.png?v=1593909494867914621788493478"  alt="" data-sizes="auto" data-srcset="//www.glowrecipe.com/cdn/shop/files/7_1_SUMMER_TRAVEL_KIT_PDP_2_180x.jpg?v=1782959513 180w 180h,//www.glowrecipe.com/cdn/shop/files/7_1_SUMMER_TRAVEL_KIT_PDP_2_360x.jpg?v=1782959513 360w 360h,//www.glowrecipe.com/cdn/shop/files/7_1_SUMMER_TRAVEL_KIT_PDP_2_600x.jpg?v=1782959513 600w 600h,//www.glowrecipe.com/cdn/shop/files/7_1_SUMMER_TRAVEL_KIT_PDP_2.jpg?v=1782959513&width=600 600w 600h"  />
3600                    </div>
3601                  </div>
3602                  
3603                </div>          
3604              
3605                
3606                <div class="card keen-slider-slide flex direction-column block-card_pnNE97">
3607                  <div class="card-wrapper flex">
3608                    <div class="flex direction-column">
3609                      <div class="card-text-wrapper flex direction-column text-center">
3610                                      
3611                          <div class="card-title">
3612                              
3613                              Free Shipping When You Sign Up For Email
3614                            
3615                          </div>
3616                        
3617                                      
3618                          <div class="card-content"><p>Join the Glow Gang to get free shipping on your first order!</p></div>
3619                        
3620                        
3621                        
3622                          
3623  
3624                          
3625  
3626                          <a class="btn v2 " href="https://www.glowrecipe.com/pages/email-formhttps://www.glowrecipe.com/pages/email-form" >Sign Up</a>
3627                          <span class="hide">Applied!</span>
3628                        
3629                        
3630                      </div>
3631                    </div>
3632                    <div class="card-image-wrapper"><img class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder.png?v=1593909494867914621788493478"  alt="" data-sizes="auto" data-srcset="//www.glowrecipe.com/cdn/shop/files/BANANAKIT_INFOGRAPHIC_11_2000x2000_f3481849-bc9d-49c4-89e2-db2d8af41839_180x.png?v=1782187508 180w 180h,//www.glowrecipe.com/cdn/shop/files/BANANAKIT_INFOGRAPHIC_11_2000x2000_f3481849-bc9d-49c4-89e2-db2d8af41839_360x.png?v=1782187508 360w 360h,//www.glowrecipe.com/cdn/shop/files/BANANAKIT_INFOGRAPHIC_11_2000x2000_f3481849-bc9d-49c4-89e2-db2d8af41839_600x.png?v=1782187508 600w 600h,//www.glowrecipe.com/cdn/shop/files/BANANAKIT_INFOGRAPHIC_11_2000x2000_f3481849-bc9d-49c4-89e2-db2d8af41839.png?v=1782187508&width=600 600w 600h"  />
3633                    </div>
3634                  </div>
3635                  
3636                </div>          
3637              
3638                
3639                <div class="card keen-slider-slide flex direction-column block-card_7CznDa">
3640                  <div class="card-wrapper flex">
3641                    <div class="flex direction-column">
3642                      <div class="card-text-wrapper flex direction-column text-center">
3643                                      
3644                          <div class="card-title">
3645                              
3646                              Free Shipping When You Sign Up For SMS
3647                            
3648                          </div>
3649                        
3650                                      
3651                          <div class="card-content"><p>Sign up for SMS to get free shipping, early access & exclusive perks!</p></div>
3652                        
3653                        
3654                        
3655                          
3656  
3657                          
3658  
3659                          <a class="btn v2 " href="/pages/glowsubscribe-subscribe-page" >Sign Up</a>
3660                          <span class="hide">Applied!</span>
3661                        
3662                        
3663                          <div class="disclaimer"><p><em>*Automatically applied on qualifying orders</em></p></div>
3664                        
3665                      </div>
3666                    </div>
3667                    <div class="card-image-wrapper"><img class="img lazyload" src="//www.glowrecipe.com/cdn/shop/t/1677/assets/placeholder.png?v=1593909494867914621788493478"  alt="" data-sizes="auto" data-srcset="//www.glowrecipe.com/cdn/shop/files/OFFERS_MODULE_SMS_1_882b4bb3-a4e5-4bc1-95fe-a48a1649f34a_180x.png?v=1748574624 180w 225h,//www.glowrecipe.com/cdn/shop/files/OFFERS_MODULE_SMS_1_882b4bb3-a4e5-4bc1-95fe-a48a1649f34a_360x.png?v=1748574624 360w 450h,//www.glowrecipe.com/cdn/shop/files/OFFERS_MODULE_SMS_1_882b4bb3-a4e5-4bc1-95fe-a48a1649f34a_600x.png?v=1748574624 600w 750h,//www.glowrecipe.com/cdn/shop/files/OFFERS_MODULE_SMS_1_882b4bb3-a4e5-4bc1-95fe-a48a1649f34a.png?v=1748574624&width=600 600w 750h"  />
3668                    </div>
3669                  </div>
3670                  
3671                </div>          
3672              
3673            </div>
3674            
3675            
3676              <div class="keen-arrows medium-down--hide">
3677                <button class="keen-arrow prev">
3678                  <svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
3679    <path d="M11.75 14.5129L6.5 9.26294L11.75 4.01294" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3680  </svg>
3681                </button>
3682                <button class="keen-arrow next">
3683                  <svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
3684    <path d="M7.25 4.01294L12.5 9.26294L7.25 14.5129" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3685  </svg>
3686                </button>
3687              </div>
3688            
3689          </div>
3690        </component-carousel>        
3691      </div>    
3692    </div>
3693  </div>  
3694  <div class="overlay ease-animation" data-expand-trigger></div>
3695</div>
3696
3697
3698
3699<script type="application/json">
3700    
3701["\/","\/collections\/all","\/collections\/bestsellers","\/pages\/offers","\/collections\/kits","pages\/glow-rewards","\/collections\/minis","\/collections\/moisturizers","\/collections\/serums-essences","\/collections\/mists","\/collections\/niacinamide","\/collections\/watermelon","\/collections\/breakouts-acne","\/collections\/oil-control-acne","\/collections\/fine-lines-wrinkles","\/collections\/dryness","\/collections\/korean-skincare-uneven-skintone-dark-spots","\/collections\/dullness-uneven-tone","\/collections\/korean-skincare-sensitive","\/collections\/cleansers","\/collections\/eye-care","\/pages\/glow-hues","\/collections\/k-beauty-routine-masks-and-sheet-masks","\/collections\/acids","\/collections\/ceramides","\/collections\/enzymes","\/collections\/hyaluronic-acid","\/collections\/niacinamide","\/collections\/retinol","\/collections\/vitamin-c","\/collections\/avocado","\/collections\/blackberry","\/collections\/cloudberry","\/collections\/strawberry"]</script>
3701
3702
3703  
3703<script type="module">
3704    var section = document.querySelector('#shopify-section-offers_panel');
3705    var wrapper = section.querySelector('.offers-panel');
3706    var availableUrls = Array.from(JSON.parse(section.querySelector('[type="application/json"]').textContent));
3707    if(availableUrls.includes(location.pathname)){
3708      wrapper.style.display = 'block'
3709    }
3710  </script>
3710
3711
3712<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/offers_panel_main.js?v=36478793919901467671788493545" defer="defer"></script>
3712
3713
3714
3715
3716<style> #shopify-section-offers_panel .card:nth-child(2) .card-content, #shopify-section-offers_panel .card:nth-child(2) .card-title {max-width: 150px; margin-left: auto; margin-right: auto; width: 100%;} </style></div>
3717		<footer role="contentinfo">
3718			
3718<script type="text/javascript">
3719				// This line is a workaround to fix an issue with the order tracking app
3720				// this app creates a window.fetch function that overrides the native browser fetch() function,
3721				// which creates issues on all the base theme calls to fetch
3722				// This also corresponds to a change in the $s library call to fetch() which now calls window.fetchNaative
3723				window.fetchNative = fetch;
3724				
3725				</script>
3725
3726	
3727	
3727<script>
vendor: 392 bytes, lines 3727-3729
3727 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','//connect.facebook.net/en_US/fbevents.js');
3728	
3729	fbq('init', '
37292207408626138134
vendor: 34 bytes, lines 3729-3732
3729');
3730	fbq('track', 'PageView');
3731
3732  
3732</script>
3732
3733  <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=2207408626138134&ev=PageView&noscript=1" /></noscript>
3734  
3734<script type="text/javascript">
3735	  
3736  </script>
3736
3737  
3738  
3739  
3739<script type="text/javascript"> !function(e){if(!window.pintrk){window.pintrk=function(){window.pintrk.queue.push(Array.prototype.slice.call(arguments))};var n=window.pintrk;n.queue=[],n.version="3.0";var t=document.createElement("script");t.async=!0,t.src=e;var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r)}}("https://s.pinimg.com/ct/core.js");
3740	  pintrk('load','2613179352395', { em: ' d41d8cd98f00b204e9800998ecf8427e', });
3741	  pintrk('page');
3742  </script>
3742
3743  <noscript><img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=2613179352395&noscript=1" /></noscript>
3744  
3745
3746  
3747<script type="text/javascript">
3748    
3749</script>
3749
3750
3751 
3752  
3752<script type="text/javascript">
3753  /* TraceAd SiteTag (https://tracead.com) */
3754  (function() {
3755	var tracead = document.createElement('script');
3756	tracead.src = 'https://tracead.com/sT3o' + (typeof jQuery==='undefined'?'':'?ljq=1');
3757	tracead.setAttribute('async', 'true');
3758	var p = document.getElementsByTagName('script')[0];
3759	p.parentNode.insertBefore(tracead, p);
3760  })();
3761  </script>
3761
3762
3763  
3764  
3764<script>
3765DEBUG_KEY = "__olDebug";
3766
3767if (typeof olCreateCookie == 'undefined') {
3768    var olCreateCookie = function (name, value, days) {
3769        if (days) {
3770            var date = new Date();
3771            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
3772            var expires = "; expires=" + date.toGMTString();
3773        }
3774        else var expires = "";
3775        document.cookie = name + "=" + JSON.stringify(value) + expires + "; path=/; SameSite=None; Secure";
3776    };
3777}
3778
3779if (typeof olReadCookie == 'undefined') {
3780    var olReadCookie = function (name) {
3781        var nameEQ = name + "=";
3782        var ca = document.cookie.split(';');
3783        // the cookie is being created, there is a problem with the following logic matching the name
3784        for (var i = 0; i < ca.length; i++) {
3785            var c = ca[i];
3786            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
3787            if (c.indexOf(nameEQ) == 0) return JSON.parse(c.substring(nameEQ.length, c.length));
3788        }
3789        return;
3790    };
3791}
3792
3793if (typeof getOlCacheBuster == 'undefined') {
3794    var getOlCacheBuster = function() {
3795        if ( typeof getOlCacheBuster.olCacheBuster == 'undefined') {
3796            scriptsArray = Array.prototype.slice.call(document.getElementsByTagName("script"));
3797            scriptsArray = scriptsArray.concat(Array.prototype.slice.call(document.getElementsByTagName("noscript")));
3798            for (var i=0; i
3798<scriptsArray.length; i++) {
3799                cacheBusterArray = scriptsArray[i].innerHTML.match(/orderlogicapp.com\\\/embedded_js\\\/production_base.js\?(\d+)/);
3800                if (cacheBusterArray == null) {
3801                    cacheBusterString = scriptsArray[i].getAttribute('src');
3802                    if (cacheBusterString != null) {
3803                        cacheBusterArray = cacheBusterString.match(/orderlogicapp.com\/embedded_js\/production_base.js\?(\d+)/);
3804                    }
3805                }
3806                if (cacheBusterArray != null) {
3807                    getOlCacheBuster.olCacheBuster = cacheBusterArray[1];
3808                    break;
3809                }
3810            }
3811        }
3812        return getOlCacheBuster.olCacheBuster;
3813    }
3814}
3815
3816if (typeof ol_hostname == 'undefined') {
3817    var ol_hostname = 'www.orderlogicapp.com';
3818    var ol_debug = olReadCookie(DEBUG_KEY);
3819    if (window.location.search.replace("?", "").substring(0, 7) == 'olDebug') {
3820        ol_debug = window.location.search.replace("?olDebug=", "");
3821        if (ol_debug == 'false') ol_debug = false;
3822        olCreateCookie(DEBUG_KEY, ol_debug, null);
3823    }
3824}
3825
3826var ol_cachebuster = getOlCacheBuster();
3827if (( typeof ol_cachebuster != 'undefined') || (ol_debug)) {
3828    if (typeof ol_script == 'undefined') {
3829        var ol_script = document.createElement('script');
3830        ol_script.type = 'text/javascript';
3831        ol_script.async = true;
3832        ol_script.src = "https://" + (ol_debug ? 'dev.orderlogicapp.com' : ol_hostname) + "/embedded_js/store.js?" + ol_cachebuster;
3833        document.head.appendChild(ol_script);
3834    }
3835}
3836
3837
3838
3839olProductData = { 
3840}
3841
3842
3843</script>
3843
3844  
3845<script type="module">
3846			var elTriggerTest = document.querySelector('.ab-trigger-test');
3847			if (elTriggerTest) {
3848			elTriggerTest.classList.add('trigger-cart');
3849			document.querySelectorAll('.trigger-cart').forEach((element)=>{
3850					element.addEventListener('click', function(e){
3851					e.preventDefault();
3852					window.SideCart ? window.SideCart.showSideCart(true): false;
3853					})
3854				});
3855			}
3856			</script>
3856			
3857			
3858			
3858<script>
vendor: 343 bytes, lines 3858-3863
3858
3859			(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
3860			new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
3861			j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
3862			'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
3863			})(window,document,'script','dataLayer','
3863GTM-KLMDWXZ
vendor: 7 bytes, lines 3863-3864
3863');
3864			
3864</script>
3864
3865
3866			
3867<div id="shopify-section-footer" class="shopify-section"><style>
3868  #footer {
3869    --footer-top-padding-desktop: 4em 0;
3870    --footer-top-padding-mobile: 3em 0;
3871    --footer-top-bg-color: rgba(0,0,0,0);
3872    --footer-top-text-color: #000000;
3873    --footer-top-border-color: #c7c7c7;
3874    --footer-top-linklist-columns-desktop: 1;
3875    --footer-top-linklist-columns-mobile: 1;
3876    --footer-logo-max-width-desktop: 12em;
3877    --footer-logo-max-width-mobile: 10em;
3878    --footer-bottom-padding-desktop: 1em 0;
3879    --footer-bottom-padding-mobile: 1em 0;
3880    --footer-bottom-bg-color: rgba(0,0,0,0);
3881    --footer-bottom-text-color: #000000;
3882    --footer-bottom-border-color: transparent;
3883  }
3884</style>
3885
3886<div id="footer">
3887  <div class="top">
3888    <div class="wrapper">
3889      <div class="grid"><div class="grid-item one-fifth medium--one-half small--one-whole">
3890            <div class="links">
3891    <h4>ABOUT</h4><a href="/pages/about-us" >About Us</a><a href="/pages/careers" >Careers</a><a href="/pages/formulations" >Formulation Standards</a><a href="#" class="Link Link--primary"><span data-acsb="trigger">Accessibility</span></a></div>
3892        </div>
3893        <div class="grid-item one-fifth medium--one-half small--one-whole">
3894            <div class="links">
3895    <h4>MY GLOW</h4><a href="/account" >My Account</a><a href="/pages/glow-rewards" >Club Glow Rewards</a><a href="https://www.glowrecipe.com/a/gc/gift-card/" >Gift Cards</a><a href="/pages/glow-rewards#scroller-give15get15" >Give $15, Get $15</a></div>
3896        </div>
3897        <div class="grid-item one-fifth medium-down--one-half small--one-whole">
3898            <div class="links">
3899    <h4>GLOW SERVICES</h4><a href="https://www.glowrecipe.com/pages/find-your-glow-recipe" >Skin Quiz</a><a href="/pages/glow-101" >Glow 101</a></div>
3900        </div>
3901        <div class="grid-item one-fifth medium-down--one-half small--one-whole">
3902            <div class="links">
3903    <h4>SUPPORT</h4><a href="/pages/contact-us" >Contact Us</a><a href="/pages/return-policy" >Returns &amp; Exchanges</a><a href="/pages/shipping" >Shipping</a><a href="https://aramara-beauty.myshopify.com/apps/redo/returns-portal/login?withdraw=true" >EU Withdrawal</a><a href="https://help.glowrecipe.com/" >FAQs</a><a href="https://cdn.shopify.com/s/files/1/0543/8301/files/Italian_Recycling_Page.pdf?v=1707160812" target="_blank">Environmental Labeling</a></div>
3904        </div> 
3905        <div class="grid-item one-fifth medium--one-half small--one-whole">
3906          <div class="mailing-list">
3907              <div id="footer-new-copy"><div class="title heading-font">Unlock Your Welcome Offer</div><div class="mailing-text"><p>Sign up for email to unlock a surprise welcome offer</p></div><div class="klaviyo-form-WAWQr4"></div>
3908              </div><div class="title heading-font">Connect With Us</div><div class="social-links flex align-items-center justify-content-center"><a target="_blank" href="https://www.instagram.com/glowrecipe/" aria-label="Follow us on Instagram" title="Opens new window" rel="noopener">
3909        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3910	 viewBox="0 0 32 30.5" style="enable-background:new 0 0 32 30.5;" xml:space="preserve">
3911<path id="Page-1" d="M22.6,30.5H9.4c-5.2,0-9.4-4.2-9.4-9.4V9.4C0,4.2,4.2,0,9.4,0h13.2C27.8,0,32,4.2,32,9.4v11.7
3912	C32,26.3,27.8,30.5,22.6,30.5z M9.4,2.2c-4,0-7.3,3.3-7.3,7.3v11.7c0,4,3.3,7.3,7.3,7.3h13.2c4,0,7.3-3.3,7.3-7.3V9.4
3913	c0-4-3.3-7.3-7.3-7.3H9.4z M16.1,23.8c-4.3,0-7.8-3.5-7.8-7.8c0-4.3,3.5-7.8,7.8-7.8c4.3,0,7.8,3.5,7.8,7.8
3914	C23.8,20.4,20.4,23.8,16.1,23.8z M16.1,10.5c-3.1,0-5.6,2.5-5.6,5.6c0,3.1,2.5,5.6,5.6,5.6c3.1,0,5.6-2.5,5.6-5.6
3915	C21.7,13,19.2,10.5,16.1,10.5z M25.1,9.7c-1.4,0-2.5-1.1-2.5-2.5s1.1-2.5,2.5-2.5c1.4,0,2.5,1.1,2.5,2.5S26.5,9.7,25.1,9.7z
3916	 M25.1,6.4c-0.5,0-0.8,0.4-0.8,0.8s0.4,0.8,0.8,0.8S26,7.7,26,7.2S25.6,6.4,25.1,6.4z"/>
3917</svg>
3918      </a><a target="_blank" href="https://www.facebook.com/glowrecipe/" aria-label="Follow us on Facebook" title="Opens new window" rel="noopener">
3919        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3920	 viewBox="0 0 15.8 32" style="enable-background:new 0 0 15.8 32;" xml:space="preserve">
3921<path id="Page-1" d="M9.3,32c0.6,0,1-0.2,1.5-0.6c0.4-0.4,0.6-0.9,0.6-1.5V16.5h2.4c0.5,0,0.9-0.1,1.3-0.4c0.4-0.3,0.6-0.6,0.7-1.1
3922	l0.7-3.1c0.1-0.3,0.1-0.6,0.1-1c-0.1-0.3-0.2-0.6-0.4-0.9c-0.2-0.3-0.4-0.5-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.2h-3.2v-2h2.1
3923	c0.6,0,1-0.2,1.5-0.6c0.4-0.4,0.6-0.9,0.6-1.5V2.1l0,0c0-0.6-0.2-1.1-0.6-1.5C14.5,0.2,14,0,13.5,0h-2.6c0,0-0.1,0-0.1,0l
3923-0.1,0l0,0
3924	l-0.1,0C10.2,0,9.7,0.1,9,0.2S7.7,0.6,7,1C6.3,1.4,5.7,2,5.1,2.9S4.1,5,4.1,6.6v2.7H2.1c-0.3,0-0.5,0.1-0.8,0.2S0.8,9.7,0.6,9.9
3925	c-0.2,0.2-0.3,0.4-0.5,0.7C0.1,10.8,0,11.1,0,11.4v3.1c0,0.6,0.2,1,0.6,1.5c0.4,0.4,0.9,0.6,1.5,0.6h2.1v13.4c0,0.6,0.2,1.1,0.6,1.5
3926	C5.1,31.8,5.6,32,6.2,32H9.3z M9.3,30H6.2V14.5H2.1v-3.1h4.1V6.6l0,0c0-2.1,0.6-3.4,1.9-3.8s2.1-0.7,2.5-0.7c0.1,0,0.1,0,0.1,0l0,0
3927	l0,0h2.7v3.1h-2.7c-0.7,0-1.2,0.2-1.3,0.6C9.4,6.2,9.3,6.5,9.3,6.5v4.9h5.2l-0.7,3.1H9.3V30z"/>
3928</svg>
3929      </a><a target="_blank" href="https://twitter.com/glowrecipe/" aria-label="Follow us on Twitter" title="Opens new window" rel="noopener">
3930        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3931	 viewBox="0 0 32 26.1" style="enable-background:new 0 0 32 26.1;" xml:space="preserve">
3932<path id="Page-1" d="M19.4,13.8L30.1,1.5h-4.9l-8.1,9.3L10.1,1.5H0l12.1,15.9L.6,30.5h4.9l8.8-10.1,7.7,10.1h9.9l-12.6-16.7ZM5.7,4.3h2.9l17.6,23.3h-2.7L5.7,4.3Z"
3933</svg>
3934      </a><a target="_blank" href="https://ar.pinterest.com/glowrecipe/_created/" aria-label="Follow us on Pinterest" title="Opens new window" rel="noopener">
3935        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3936	 viewBox="0 0 26 31.6" style="enable-background:new 0 0 26 31.6;" xml:space="preserve">
3937<path id="Page-1" d="M5.3,32l0.9-0.4c0.5-0.2,0.8-0.5,1.1-0.9c0.3-0.4,0.5-0.7,0.7-1.1l0.1-0.1l0,0l0.1-0.1c0-0.1,0.1-0.1,0.1-0.2
3938	C9,28.2,9.5,27,9.9,25.8c0.4-1.2,0.8-2.5,1.1-3.7c0.7,0.6,1.5,0.9,2.3,1.1c0.8,0.2,1.7,0.2,2.8,0.1c1.5-0.2,2.8-0.6,3.9-1.4
3939	c1.1-0.8,2.1-1.8,2.8-3c0.7-1.2,1.3-2.5,1.7-3.9s0.5-2.8,0.5-4.3c0-1.5-0.4-3-1-4.3S22.6,4,21.5,3c-1.1-1-2.3-1.7-3.8-2.2
3940	c-1.5-0.5-3-0.8-4.8-0.8c-0.4,0-0.7,0-1.1,0S11,0.1,10.6,0.2C9.3,0.4,8,0.7,6.8,1.3S4.6,2.6,3.6,3.5s-1.7,1.9-2.3,3s-1,2.3-1.2,3.6
3941	C0,10.9,0,11.9,0.1,12.8s0.3,1.9,0.7,2.7s0.9,1.6,1.5,2.2c0.6,0.6,1.5,1.1,2.4,1.3l0.6,0.1l0.3-0.5c0-0.1,0.2-0.4,0.6-1
3942	s0.5-1.2,0.4-1.8c0-0.3-0.1-0.6-0.3-0.7s-0.3-0.3-0.4-0.4c0,0,0,0-0.1-0.1c0,0,0,0,0,0c-0.3-0.5-0.5-1.1-0.6-1.8
3943	C5,12,5,11.3,5.1,10.6C5.4,9,6.2,7.6,7.5,6.5s2.8-1.7,4.6-1.9c0.1,0,0.3,0,0.4,0h0.3l0,0c1.8,0,3.3,0.5,4.5,1.5c1.1,1,1.8,2.4,1.8,4
3944	c0.1,1.6-0.1,3.1-0.6,4.5c-0.5,1.4-1.1,2.5-2,3.2L16.4,18c-0.2,0.2-0.4,0.3-0.6,0.5c-0.2,0.1-0.4,0.2-0.8,0.3c-0.1,0-0.2,0-0.3,0
3945	c-0.1,0-0.2,0-0.3,0c-0.7,0-1.2-0.2-1.5-0.5c-0.4-0.4-0.5-0.8-0.6-1.2c0-0.5,0.1-1,0.2-1.5c0.2-0.5,0.3-1.1,0.6-1.7
3946	c0.2-0.7,0.5-1.4,0.7-2.1c0.2-0.7,0.3-1.5,0.2-2.2c-0.1-0.8-0.5-1.4-1.1-2c-0.6-0.5-1.3-0.8-2.1-0.8c-0.2,0-0.4,0-0.6,0.1
3947	c-0.2,0-0.4,0.1-0.6,0.2C8.1,7.5,7.3,8.6,7,10.2c-0.3,1.6-0.2,3.2,0.3,4.7c-0.1,0.6-0.3,1.2-0.4,1.8c-0.2,0.6-0.3,1.2-0.5,1.8
3948	c-0.3,1-0.5,1.9-0.8,2.9c-0.2,1-0.4,2-0.6,3c-0.1,1-0.2,2.1-0.2,3.1c0,1.1,0.1,2.2,0.3,3.3L5.3,32z M6.5,29c-0.1-1.8,0-3.5,0.3-5.2
3949	C7.2,22.2,7.6,20.6,8,19c0.2-0.6,0.4-1.3,0.5-2c0.2-0.7,0.3-1.3,0.5-2l0-0.2l-0.1-0.2c-0.4-1.2-0.6-2.4-0.4-3.6
3950	c0.2-1.2,0.7-2,1.7-2.4c0.1,0,0.2-0.1,0.3-0.1s0.2,0,0.3,0c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.5,0.6,0.5,0.9c0.1,0.6,0,1.1-0.1,1.7
3951	c-0.2,0.6-0.4,1.2-0.6,1.8c-0.2,0.6-0.4,1.2-0.6,1.9s-0.3,1.3-0.2,1.9c0,0.8,0.4,1.6,1,2.3c0.7,0.7,1.6,1.1,2.7,1.1
3952	c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0,0.4,0c0.6-0.1,1-0.2,1.4-0.5c0.4-0.2,0.6-0.5,0.9-0.7l0.1-0.1c1.1-0.9,1.9-2.2,2.4-3.8
3953	s0.8-3.4,0.7-5.3c-0.1-1.1-0.3-2.2-0.8-3.1c-0.5-0.9-1.1-1.7-1.8-2.3c-0.8-0.6-1.7-1.1-2.7-1.4s-2.2-0.4-3.5-0.3
3954	c-1.1,0.1-2.1,0.3-3,0.7S7.1,4.6,6.4,5.2S5,6.6,4.5,7.5c-0.5,0.9-0.8,1.8-1,2.8c-0.2,0.9-0.2,1.8,0,2.7c0.2,0.9,0.4,1.7,0.9,2.4
3955	c0,0.1,0.1,0.2,0.1,0.2c0.1,0.1,0.1,0.1,0.1,0.2L4.7,16l0,0c0,0,0.1,0.1,0.1,0.1c0,0.1,0,0.3-0.1,0.5c-0.1,0.2-0.2,0.4-0.3,0.7
3956	c-1.2-0.5-2-1.5-2.4-2.9s-0.5-2.8-0.3-4.1c0.2-1.1,0.5-2.1,1-3.1s1.2-1.8,2-2.5s1.7-1.4,2.8-1.8s2.2-0.8,3.3-1c0.4,0,0.7-0.1,1-0.1
3957	c0.3,0,0.7,0,1,0c1.5,0,2.9,0.2,4.1,0.7s2.3,1.1,3.3,1.9S22,6,22.5,7.1s0.8,2.3,0.8,3.6c0,1.2-0.1,2.5-0.4,3.7
3958	c-0.3,1.2-0.8,2.4-1.4,3.4s-1.4,1.9-2.3,2.6c-0.9,0.7-2,1.1-3.2,1.2c-0.2,0-0.3,0-0.5,0c-0.2,0-0.3,0-0.5,0c-0.9,0-1.6-0.2-2.2-0.5
3959	c-0.6-0.3-1.1-0.7-1.7-1.3L10,18.9l-0.3,1.5c-0.3,1.4-0.7,2.8-1.1,4.2c-0.4,1.4-1,2.7-1.7,3.8c0,0.1-0.1,0.2-0.1,0.2
3960	c-0.1,0.1-0.1,0.2-0.1,0.2C6.6,28.9,6.6,28.9,6.5,29C6.6,29,6.5,29,6.5,29z"/>
3961</svg>
3962      </a><a target="_blank" href="https://www.tiktok.com/@glowrecipe?" aria-label="Follow us on Ticktok" title="Opens new window" rel="noopener">
3963        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3964	 viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
3965<path id="Group" transform="translate(1.000000, 1.000000)" d="M12.6,24.8c-3.5,0-6.4-2.9-6.4-6.4S9.1,12,12.6,12c0.1,0,0.2,0,0.3,0
3966	l0.7,0.1l0.1,0.8v3.7l-1.1-0.1c-1.1,0-2.1,0.9-2.1,2.1s0.9,2.1,2.1,2.1c1.2,0,2.2-0.9,2.2-2l0-13.6H19l0.1,0.7
3967	c0.2,2,1.8,3.5,3.8,3.7l0.7,0.1V13h-0.8l0.1,0.8c-1.4,0.1-2.8-0.2-3.8-1v5.6C19,21.9,16.2,24.8,12.6,24.8z M12.2,13.6
3968	c-2.4,0.2-4.3,2.3-4.3,4.8c0,2.6,2.2,4.8,4.8,4.8c2.6,0,4.8-2.1,4.8-4.8V8.2l1.5,2.2c0.7,1.1,1.8,1.7,3.1,1.8v-1.6
3969	c-2.2-0.4-3.9-2.1-4.4-4.3h-1.2l0,12.1c0,2-1.7,3.6-3.8,3.6c-2,0-3.7-1.6-3.7-3.7c0-1.9,1.4-3.4,3.2-3.6V13.6z M15,31
3970	C6.2,31-1,23.8-1,15C-1,6.2,6.2-1,15-1c8.8,0,16,7.2,16,16C31,23.8,23.8,31,15,31z M15,0.6C7.1,0.6,0.6,7.1,0.6,15
3971	c0,7.9,6.5,14.4,14.4,14.4c7.9,0,14.4-6.5,14.4-14.4C29.4,7.1,22.9,0.6,15,0.6z"/>
3972</svg>
3973      </a><a target="_blank" href="https://www.youtube.com/glowrecipe" aria-label="Follow us on Youtube" title="Opens new window" rel="noopener">
3974        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
3975	 viewBox="0 0 32 23" style="enable-background:new 0 0 32 23;" xml:space="preserve">
3976<g>
3977	<path id="Page-1" d="M16,23c2.5,0,4.6,0,6.2-0.1c1.6-0.1,2.9-0.2,3.9-0.4c1-0.1,1.7-0.3,2.2-0.5c0.5-0.2,0.8-0.3,1-0.5
3978		c0.6-0.4,1-1.1,1.4-1.9c0.3-0.9,0.6-1.8,0.8-2.7s0.3-1.9,0.3-2.9c0.1-1,0.1-1.7,0.1-2.3c0-0.5-0.1-1.2-0.1-2.2s-0.2-2-0.3-3
3979		c-0.2-1.1-0.4-2-0.8-3s-0.8-1.6-1.4-2c-0.2-0.2-0.6-0.3-1-0.5s-1.2-0.3-2.2-0.5c-1-0.1-2.3-0.3-3.9-0.4C20.6,0,18.5,0,16,0
3980		C10.6,0,7.1,0.2,5.6,0.5S3.3,1.1,3.1,1.3C2.4,1.7,1.8,2.4,1.4,3.4S0.7,5.4,0.5,6.5S0.2,8.7,0.1,9.7S0,11.3,0,11.7
3981		c0,0.5,0.1,1.2,0.1,2.2s0.2,2,0.4,3s0.5,2,0.9,2.9c0.4,0.9,0.9,1.6,1.6,2c0.3,0.1,1.1,0.4,2.6,0.7C7.1,22.8,10.6,23,16,23z
3982		 M16.8,21.1l-0.8,0c-4.9,0-8.1-0.1-9.6-0.4S4,20.2,3.8,20.1c-0.5-0.3-0.9-1.2-1.4-2.7C2,16,1.8,14,1.7,11.6c0-2.4,0.3-4.4,0.7-6
3983		S3.4,3,3.9,2.7c0.2-0.1,1-0.3,2.6-0.6c1.4-0.3,4.4-0.4,8.8-0.4l0.8,0c5,0,8.3,0.2,9.8,0.5c1.5,0.3,2.4,0.5,2.6,0.7
3984		c0.4,0.3,0.9,1.2,1.2,2.8c0.4,1.6,0.6,3.5,0.6,6c0,2.5-0.2,4.4-0.6,5.8c-0.4,1.4-0.8,2.3-1.2,2.6c-0.2,0.1-1,0.3-2.6,0.6
3985		C24.4,20.9,21.4,21.1,16.8,21.1z M12.7,17.1c0.1,0,0.1,0,0.2,0s0.1-0.1,0.2-0.1l7.8-4.8c0.1-0.1,0.3-0.2,0.3-0.3
3986		c0.1-0.1,0.1-0.3,0.1-0.4c0-0.1,0-0.3-0.1-0.4c-0.1-0.1-0.2-0.2-0.3-0.3l-7.8-4.8c-0.1-0.1-0.3-0.1-0.4-0.1s-0.3,0-0.4,0.1
3987		C12.1,6,12,6.1,12,6.2s-0.1,0.3-0.1,0.4v9.6c0,0.2,0,0.3,0.1,0.4c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0,0.1,0.1,0.2,0.1
3988		C12.6,17.1,12.6,17.1,12.7,17.1z M13.6,14.7V8.2l5.3,3.3L13.6,14.7z"/>
3989</g>
3990</svg>
3991      </a></div></div>
3992      </div>
3993    </div>
3994  </div>
3995  <div class="center">
3996    <div class="wrapper small--text-center">
3997      <h5>Clinically Effective. Fruit-Powered. Glowing Skin.</h5>
3998      <div class="logo-wrapper flex align-items-center small--justify-content-center"><svg width="108" height="40" viewbox="0 0 108 79" fill="none" xmlns="http://www.w3.org/2000/svg">
3999<g clip-path="url(#clip0)">
4000<path d="M96.2999 28.0998L102.8 27.9998C99.4999 22.1998 94.9999 16.8998 89.4999 12.3998C76.5999 1.99979 60.4999 -1.70021 45.3999 0.699788C58.5999 -0.000212252 72.1999 3.99979 83.2999 12.9998C88.5999 17.3998 92.9999 22.4998 96.2999 28.0998Z" fill="black"></path>
4001<path d="M29.1 61.6992L23 63.7992C27.9 68.2992 33.8 72.0992 40.4 74.5992C55.8 80.5992 72.3 79.2992 86 72.3992C73.6 76.9992 59.5 77.2992 46.1 72.0992C39.7 69.6992 34 66.0992 29.1 61.6992Z" fill="black"></path>
4002<path d="M54.0002 18.5989C55.7002 18.4989 56.6002 17.6989 61.0002 18.5989C61.0002 18.5989 67.1002 18.2989 78.3002 28.8989C81.6002 32.0989 83.5002 37.2989 85.3002 37.7989C86.8002 38.1989 94.0002 38.5989 94.4002 41.4989C94.7002 43.8989 89.8002 48.5989 83.9002 48.2989C85.0002 46.6989 88.4002 46.2989 90.0002 42.0989C88.1002 40.9989 85.2002 40.8989 82.5002 41.5989C77.3002 29.5989 62.2002 21.2989 56.9002 20.5989C52.6002 19.9989 51.0002 20.6989 48.2002 20.5989C50.2002 19.9989 53.0002 18.5989 54.0002 18.5989Z" fill="black"></path>
4003<path d="M35.0001 3.99961C37.1001 3.99961 37.8001 3.89961 39.9001 5.29961L35.0001 5.69961C34.8001 5.69961 29.3001 7.09961 26.9001 11.7996C27.9001 12.5996 27.9001 12.7996 28.9001 12.8996C30.6001 12.8996 34.6001 7.49961 41.8001 7.49961C43.1001 7.49961 44.3001 7.99961 44.3001 7.99961C45.0001 8.39961 44.8001 9.19961 44.8001 10.1996C44.8001 10.1996 40.3001 20.6996 32.3001 20.6996H30.6001C35.7001 19.4996 39.3001 14.7996 41.9001 10.2996L36.6001 11.7996C33.0001 12.8996 28.9001 16.1996 27.5001 16.1996C25.9001 16.1996 24.9001 14.8996 20.7001 14.8996C17.4001 14.8996 13.7001 16.6996 12.0001 17.8996C12.8001 19.5996 14.4001 18.7996 15.8001 18.6996C15.7001 18.7996 15.4001 20.2996 11.4001 20.5996C11.4001 20.7996 12.2001 23.9996 14.3001 26.0996C16.7001 28.5996 20.5001 29.8996 21.8001 29.9996C21.8001 30.4996 22.0001 32.5996 23.5001 35.3996C29.7001 47.4996 33.1001 37.4996 40.6001 49.5996V50.9996C36.6001 47.5996 30.2001 46.3996 26.8001 45.8996C21.9001 45.0996 16.9001 45.8996 16.7001 45.8996C14.9001 46.2996 10.2001 47.1996 10.2001 47.2996C13.9001 42.7996 22.9001 42.5996 24.6001 41.8996C18.7001 35.9996 19.4001 33.9996 18.7001 33.1996C18.1001 32.4996 9.6001 31.4996 9.6001 19.6996C9.6001 15.3996 17.7001 12.2996 20.4001 12.2996C25.4001 12.0996 27.0001 3.99961 35.0001 3.99961Z" fill="black"></path>
4004<path d="M22.1998 16.4994C23.2998 16.3994 23.1998 16.2994 24.5998 16.8994L24.6998 18.3994C23.0998 18.0994 20.9998 18.2994 18.7998 18.1994C19.9998 17.1994 20.3998 16.6994 22.1998 16.4994Z" fill="black"></path>
4005<path d="M7.3 32.5003C10.7 32.5003 14.9 35.3003 15.4 35.7003C13.1 35.9003 12.8 35.5003 7.7 35.9003C7.7 35.9003 3.4 36.2003 0 36.9003C2.3 33.5003 1.9 32.4003 7.3 32.5003Z" fill="black"></path>
4006<path d="M72.5999 55.8996L78.1999 58.5996C84.7999 61.7996 91.0999 53.3996 93.3999 51.8996C94.4999 57.1996 99.6999 67.9996 107.3 69.9996C106.2 71.1996 105 71.0996 103.5 71.0996C99.7999 71.0996 92.8999 65.0996 92.8999 60.4996C92.8999 60.4996 92.6999 57.0996 92.6999 56.2996C90.5999 60.2996 86.2999 62.9996 82.6999 62.8996C79.8999 62.8996 79.2999 62.6996 76.8999 61.5996C76.3999 61.3996 63.0999 53.2996 62.3999 47.5996C62.9999 47.9996 69.6999 54.7996 72.5999 55.8996Z" fill="black"></path>
4007<path d="M96.0001 74.4992L93.8001 74.7992C88.5001 73.8992 87.5001 66.1992 89.0001 63.9992C89.0001 63.9992 89.9001 62.3992 90.7001 61.6992C90.8001 65.5992 91.3001 68.4992 91.6001 69.3992C92.6001 71.5992 91.0001 70.6992 96.0001 74.4992Z" fill="black"></path>
4008<path d="M23.7999 61.7996L20.6999 58.2996L16.2999 59.9996C16.9999 58.5996 17.9999 57.3996 18.7999 55.9996C17.7999 54.7996 16.8999 53.5996 15.8999 52.3996C17.3999 52.6996 19.0999 53.0996 20.5999 53.4996L23.0999 49.5996C23.2999 51.0996 23.3999 52.6996 23.4999 54.1996L28.0999 55.3996L23.5999 57.1996L23.7999 61.7996Z" fill="black"></path>
4009<path d="M106 41.4L102 39.1L98.4001 42C98.6001 40.5 99.2001 39 99.5001 37.4C98.2001 36.5 96.9001 35.7 95.6001 34.9C97.1001 34.7 98.8001 34.6 100.4 34.5L101.5 30C102.1 31.3 102.7 32.8 103.3 34.2L108 34L104.3 37.1L106 41.4Z" fill="black"></path>
4010<path d="M86.7002 77.4V74.5H87.8002C88.5002 74.5 88.7002 74.9 88.7002 75.4C88.7002 75.8 88.5002 76 88.2002 76.1L88.8002 77.4H88.2002L87.7002 76.2H87.2002V77.4H86.7002ZM87.3002 75.8H87.7002C88.1002 75.8 88.3002 75.7 88.3002 75.4C88.3002 75.1 88.1002 75 87.8002 75H87.3002V75.8Z" fill="black"></path>
4011<path d="M87.7 73.6992C88.9 73.6992 89.9 74.6992 89.9 75.8992C89.9 77.0992 88.9 78.0992 87.7 78.0992C86.5 78.0992 85.5 77.0992 85.5 75.8992C85.5 74.6992 86.5 73.6992 87.7 73.6992ZM87.7 73.1992C86.2 73.1992 85 74.3992 85 75.8992C85 77.3992 86.2 78.5992 87.7 78.5992C89.2 78.5992 90.4 77.3992 90.4 75.8992C90.4 74.4992 89.2 73.1992 87.7 73.1992Z" fill="black"></path>
4012</g>
4013<defs>
4014<clippath id="clip0">
4015<rect width="108" height="78.6" fill="white"></rect>
4016</clippath>
4017</defs>
4018</svg>
4019<p>Cruelty Free</p>
4020      </div>
4021    </div>
4022  </div>
4023  <div class="bottom">
4024    <div class="wrapper small--text-center">
4025      <div class="wrap">
4026        <div class="copy">Copyright © 2026. All rights Reserved</div>
4027        <div class="links">
4028          
4029          <a href="/pages/privacy-policy">Privacy Policy</a>&nbsp;|&nbsp;
4030          
4031          <a href="/pages/terms-of-service">Terms Of Service</a>&nbsp;|&nbsp;
4032          
4033          <a href="https://www.glowrecipe.com/pages/patents">Patents</a>
4034          
4035        </div>
4036      </div>
4037    </div>
4038  </div>
4039</div>
4040
4041<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/form_main.js?v=105462477796433466931788493545" defer="defer"></script>
4041
4042
4043<style> #shopify-section-footer .needsclick.kl-private-reset-css-Xuajs1 button {height: auto !important; padding-top: 0.9em;} </style></div></footer>
4044		<div id="overlay" class="animation"></div>
4045		<div id="loading-overlay"><div class="loader"></div></div>
4046	
4047		
4047<script>
4048		  window.pageDateTime = new Date('2026/09/24 14:04 EDT');
4049		  window.breakpoints = {
4050			small: '600px',
4051			medium: '900px'
4052		  };
4053		  window.money_format ="${{amount}}";
4054		</script>
4054<link rel="stylesheet" href="//www.glowrecipe.com/cdn/shop/t/1677/assets/side_cart.css?v=181389447441192469181788493546" media="print" onload="this.media='all'"><link rel="stylesheet" href="//www.glowrecipe.com/cdn/shop/t/1677/assets/component_search.css?v=62930292410177033571788493545" media="print" onload="this.media='all'">
4055		<link rel="stylesheet" href="//www.glowrecipe.com/cdn/shop/t/1677/assets/tingle.css?v=76606170059366269291788493502" media="print" onload="this.media='all'">
4056		
4056<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/component_search.js?v=172449282945771807801788493545
4057" defer="defer"></script>
4057
4058		
4058<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/component_product_card.js?v=180161386761733765211788493418
4059" defer="defer"></script>
4059
4060		
4061		
4061<script type="application/ld+json" id="eci-faq"></script>
4061
4062		
4063		
4063<script src="//www.glowrecipe.com/cdn/shop/t/1677/assets/eci_faq.js?v=136889778540061817891788493545" defer="defer"></script>
4063
4064
4065					
4066	
4067					<!-- "snippets/smile-initializer.liquid" was not rendered, the associated app was uninstalled -->
4068
4069					
4070					
4070<script>(function(){ var s = document.createElement('script'), e = ! document.body ? 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, language : 'en', position : 'left', leadColor : '#817e80', triggerColor : '#fdedf7', triggerRadius : '50%', triggerPositionX : 'left', triggerPositionY : 'bottom', triggerIcon : 'people', triggerSize : 'small', triggerOffsetX : 10, triggerOffsetY : 80, mobile : { triggerSize : 'small', triggerPositionX : 'left', triggerPositionY : 'bottom', triggerOffsetX : 10, triggerOffsetY : 80, triggerRadius : '50%' } }); }; e.appendChild(s);}());</script>
4070
4071
4072					<style id="cartItemsBorder"></style>
4073
4074					
4074<script>
4075						// Installation script generated by Ad Analytics
4076						(function(w, d){
4077						var id='spdt-capture', n='script';
4078						if (!d.getElementById(id)) {
4079							w.spdt =
4080							w.spdt ||
4081							function() {
4082								(w.spdt.q = w.spdt.q || []).push(arguments);
4083							};
4084							var e = d.createElement(n); e.id = id; e.async=1;
4085							e.src = 'https://pixel.byspotify.com/ping.min.js';
4086							var s = d.getElementsByTagName(n)[0];
4087							s.parentNode.insertBefore(e, s);
4088						}
4089						w.spdt('conf', { key: '2a247d889806466998e44eab17186eac' });
4090						w.spdt('view');
4091						})(window, document);
4092					</script>
4092
4093						
4094					
4094<script src="https://cdn.kustomerapp.com/chat-web/widget.js" data-kustomer-api-key="eyJhbGciOiJub25lIn0.eyJvcmciOiI2MWQ0NjBmZWRjM2QxMTg1MmY3NTQzZDQiLCJvcmdOYW1lIjoiZ2xvd3JlY2lwZSIsInBvZCI6InByb2QxIiwicm9sZXMiOlsib3JnLnRyYWNraW5nIl19."></script>
4094<script>Kustomer.start({brandId:'61d461014453739f0b1b31e7'})</script>
4094<script src="https://js.getcatch.com/catchjs/v1/catch.js"></script>
4094
4095					
4095<script>
4096						catchjs.init("SGG4z5dy6Y819DpJMhCDTnx4", {
4097							
4098						});
4099					</script>
4099
4100        
4100<script defer src="https://static.shopmy.us/Affiliates/sms_aff_clicktrack.js"></script>
4100
4101
4102			<div id="shopify-block-ASXJCWWEvMUE5L1VWd__5946647744298494267" class="shopify-block shopify-app-block">
4103
4104
4105<!-- BEGIN app snippet: swymVersion -->
4105<script>var __SWYM__VERSION__ = '7.0.7';</script>
4105<!-- END app snippet -->
4106<!-- BEGIN app snippet: swymCustomCss -->
4107
4108
4109
4110
4111<style id="swym-custom-css">
4112
4113</style>
4114
4115<!-- END app snippet -->
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128<script>
4129  (function () {
4130    // Get CompanyLocation Metadata for B2B customer scenerios (SFS)
4131    
4132
4133    // Put metafields in window variable
4134    const commonCustomizationSettings = '{"global-settings":{"icon":"heart","primaryColor":"#000","secondaryColor":"#fff","storefrontLayoutType":"as-drawer","buttonType":{"displayIcon":true,"displayText":true,"style":"solid"},"collectionsButtonPosition":{"position":"top-right","verticalOffset":0,"horizontalOffset":0},"pdpButtonPosition":{"position":"default","verticalOffset":0,"horizontalOffset":0},"enableStorefrontLayoutNotification":true,"storefrontLayoutDrawerWidth":400,"launchType":"header","showItemsCount":true,"launchPointPosition":"bottom-right"}}';
4135    try {
4136      const parsedSettings = JSON.parse(commonCustomizationSettings);
4137      if (parsedSettings) {
4138        window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings'];
4139      } else {
4140        window.SwymWishlistCommonCustomizationSettings = {};
4141      }
4142    } catch (e) {
4143      window.SwymWishlistCommonCustomizationSettings = {};
4144    }
4145
4146    let enabledCommonFeatures = '{"add-to-wishlist-collections-button":false,"add-to-wishlist-pdp-button":true,"auto-add-to-wishlist-from-pdp":{"pdpViewCount":"3","notificationTimeoutDuration":"5","selectedPosition":"TopLeft","enabled":false},"sfl-popup-v2":true,"control-centre":true,"multiple-wishlist":false,"social-count":{"enabledOnCollections":false},"education-layer":true,"advanced-collections-circular-bg":true}';
4147    try {
4148      enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {};
4149    } catch (e) {
4150      enabledCommonFeatures = {};
4151    }
4152    // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code.
4153    window.SwymEnabledCommonFeatures = enabledCommonFeatures;
4154
4155    // Ghost-Intent Configuration
4156    // Defaults to disabled (false). Only enabled when metafields explicitly set to "true".
4157    try {
4158      let ghostIntentConfig = {
4159        isExplicitConsentNeeded: false,
4160        isExplicitConsentNeededEvenForLocalStorage: false,
4161        askForPermissionOnFirstClick: true
4162      };
4163      
4164      
4165      
4166        ghostIntentConfig.askForPermissionOnFirstClick = false;
4167      
4168      window.SwymGhostIntentConfig = ghostIntentConfig;
4169    } catch(e) {
4170      window.SwymGhostIntentConfig = {
4171        isExplicitConsentNeeded: false,
4172        isExplicitConsentNeededEvenForLocalStorage: false,
4173        askForPermissionOnFirstClick: true
4174      };
4175    }
4176
4177    // Education Layer Configuration
4178    // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility.
4179    
4180    
4181    window.SwymEducationLayerEnabled = enabledCommonFeatures?.["education-layer"] ?? true;
4182
4183    // Login Nudge Configuration
4184    // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility.
4185    
4186    
4187    window.SwymLoginNudgeEnabled = enabledCommonFeatures?.["login-nudge"] ?? true;
4188
4189    // Initialize or ensure SwymViewProducts exists
4190    if (!window.SwymViewProducts) {
4191      window.SwymViewProducts = {};
4192    }
4193    
4194  })();
4195</script>
4195
4196
4197<!-- BEGIN app snippet: swymLoadConsentManager -->
4198<script>
4199  (function () {
4200    if (document.querySelector("script[data-swym-consent-manager]")) return;
4201    var swymConsentManagerScript = document.createElement("script");
4202    swymConsentManagerScript.src = "https:\/\/cdn.shopify.com\/extensions\/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8\/swym-relay-839\/assets\/swym-consent-manager.js";
4203    swymConsentManagerScript.async = false; // run in insertion order once fetched, instead of whenever fetch resolves
4204    swymConsentManagerScript.setAttribute("data-swym-consent-manager", "true");
4205    document.head.appendChild(swymConsentManagerScript);
4206  })();
4207</script>
4207
4208<!-- END app snippet -->
4209
4210<script
4211  
4212  id="wishlist-embed-init"
4213  defer
4214  async
4215>
4216  (function () {
4217    window.swymWishlistEmbedLoaded = true;
4218    var fullAssetUrl = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/apps.bundle.js"; 
4219    var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1);
4220    var swymJsPath = '//premcdn.swymrelay.com/code/swym-shopify.js';
4221    var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1);
4222    window.SwymCurrentJSPath = baseJsPath;
4223    window.SwymAssetBaseUrl = assetBaseUrl;
4224    
4225      window.SwymCurrentStorePath = "//swymstore-v3premium-01.swymrelay.com";
4226    
4227    function loadSwymShopifyScript() {
4228      var element = "";
4229      var scriptSrc = "";
4230
4231      
4232        element = "swym-ext-shopify-script";
4233        window.SwymShopifyCdnInUse = true;
4234        scriptSrc = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-ext-shopify.js";
4235      
4236
4237      if (document.getElementById(element)) {
4238        return;
4239      }
4240
4241      var s = document.createElement("script");
4242      s.id = element;
4243      s.type = "text/javascript";
4244      s.async = true;
4245      s.defer = true;
4246      s.src = scriptSrc;
4247
4248      s.onerror = function() {
4249        console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default");
4250        // Fallback logic here
4251        element = `swym-ext-shopify-script-${__SWYM__VERSION__}`;
4252        var fallbackJsPathVal = "\/\/premcdn.swymrelay.com\/code\/swym-shopify.js";
4253        var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify");
4254        scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__;
4255
4256        var fallbackScript = document.createElement("script");
4257        fallbackScript.id = element;
4258        fallbackScript.type = "text/javascript";
4259        fallbackScript.async = true;
4260        fallbackScript.defer = true;
4261        fallbackScript.src = scriptSrc;
4262        var y = document.getElementsByTagName("script")[0];
4263        y.parentNode.insertBefore(fallbackScript, y);
4264      };
4265
4266      var x = document.getElementsByTagName("script")[0];
4267      x.parentNode.insertBefore(s, x);
4268    }
4269    
4270      var consentAPICallbackInvoked = false;
4271      function checkConsentAndLoad() {
4272        // Allow app to load in design mode (theme editor) regardless of consent
4273        if (window.Shopify?.designMode) {
4274          loadSwymShopifyScript();
4275          return;
4276        }
4277
4278        // Ghost-Intent: If merchant enabled explicit consent, block SDK until
4279        // consent is given through our Ghost-Intent flow (sync nudge accept).
4280        // This works on any store regardless of region (EU or non-EU).
4281        var ghostConfig = window.SwymGhostIntentConfig || {};
4282        if (ghostConfig.isExplicitConsentNeeded || ghostConfig.isExplicitConsentNeededEvenForLocalStorage) {
4283          try {
4284            var consentKey = 'swym-ghost-consent-' + (window.Shopify && window.Shopify.shop || '');
4285            if (localStorage.getItem(consentKey) === 'true') {
4286              // Consent was given through our flow — load SDK
4287              loadSwymShopifyScript();
4288              return;
4289            }
4290          } catch(e) {}
4291
4292          // Check if Shopify native cookie consent was given via the cookie banner.
4293          // If user accepted cookies through Shopify's banner, load SDK normally
4294          // (Ghost-Intent is only needed when NO consent mechanism has been used).
4295          var shopifyConsentGiven = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.();
4296          if (shopifyConsentGiven) {
4297            loadSwymShopifyScript();
4298            return;
4299          }
4300
4301          console.warn("[Swym Ghost-Intent] SDK blocked until explicit consent is given");
4302          return;
4303        }
4304
4305        var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.();
4306        if(!isCookieBannerVisible) {
4307          loadSwymShopifyScript();
4308          return;
4309        }
4310        var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.();
4311        if (shouldLoadSwymScript) {
4312          loadSwymShopifyScript();
4313        } else {
4314          console.warn("No customer consent to load Swym Wishlist Plus");
4315        }
4316      }
4317      function initialiseConsentCheck() {
4318        document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); });
4319        window.Shopify?.loadFeatures?.(
4320          [{name: 'consent-tracking-api', version: '0.1'}],
4321          error => { 
4322            consentAPICallbackInvoked = true;
4323            if (error) {
4324              if(!window.Shopify?.customerPrivacy) {
4325                loadSwymShopifyScript();
4326                return;
4327              }
4328            }
4329            checkConsentAndLoad();
4330          }
4331        );
4332      }
4333      function consentCheckFallback(retryCount) {
4334        if(!consentAPICallbackInvoked) {
4335          if (window.Shopify?.customerPrivacy) {
4336            checkConsentAndLoad();
4337          } else if (retryCount >= 1) {
4338            console.warn("Shopify.loadFeatures unsuccessful on site, refer - https://shopify.dev/docs/api/customer-privacy#loading-the-customer-privacy-api. Proceeding with normal Swym Wishlist Plus load");
4339            // Ghost-Intent: route through checkConsentAndLoad so SDK block is respected
4340            checkConsentAndLoad();
4341          } else {
4342            setTimeout(() => consentCheckFallback(retryCount + 1), 1000);
4343          }
4344        }
4345      }
4346      if (document.readyState === "loading") {
4347        document.addEventListener("DOMContentLoaded", initialiseConsentCheck);
4348        window.addEventListener("load", () => consentCheckFallback(0));
4349      } else {
4350        initialiseConsentCheck();
4351      }
4352    
4353  })();
4354</script>
4354
4355
4356<!-- BEGIN app snippet: swymSnippet -->
4356<script defer>
4357  (function () {
4358    const currentSwymJSPath = '//premcdn.swymrelay.com/code/swym-shopify.js';
4359    const currentSwymStorePath = 'https://swymstore-v3premium-01.swymrelay.com';
4360    const dnsPrefetchLink = `<link rel="dns-prefetch" href="${currentSwymStorePath}" crossorigin>`;
4361    const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`;
4362    const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`;
4363    const swymSnippet = document.getElementById('wishlist-embed-init');        
4364    if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);}
4365    if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);}
4366    if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);}
4367  })()
4368</script>
vendor: 1 bytes, line 4368
4368
4369<script id="swym-snippet" type="text">
4370  window.swymLandingURL = document.URL;
4371  window.swymCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0};
4372  window.swymPageLoad = function() {
4373    window.SwymProductVariants = window.SwymProductVariants || {};
4374    window.SwymHasCartItems = 0 > 0;
4375    window.SwymPageData = {}, window.SwymProductInfo = {};
4376      var unknown = {et: 0};
4377      window.SwymPageData = unknown;
4378    
4379    window.SwymPageData.uri = window.swymLandingURL;
4380  };
4381  if(window.selectCallback){
4382    (function(){
4383      var originalSelectCallback = window.selectCallback;
4384      window.selectCallback = function(variant){
4385        originalSelectCallback.apply(this, arguments);
4386        try{
4387          if(window.triggerSwymVariantEvent){
4388            window.triggerSwymVariantEvent(variant.id);
4389          }
4390        }catch(err){
4391          console.warn("Swym selectCallback", err);
4392        }
4393      };})();}
4394  window.swymCustomerId =null;
4395  window.swymCustomerExtraCheck =
4396    null;
4397  var swappName = ("Wishlist" || "Wishlist");
4398  var swymJSObject = {
4399    pid: "Co0aSWS0sb\/cOL5+hA7UW8EldaPaDSE2LbYtJuax010=",
4400    interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName
4401  };
4402  window.swymJSShopifyLoad = function(){
4403    if(window.swymPageLoad) swymPageLoad();
4404    if(!window._swat) {
4405      (function (s, w, r, e, l, a, y) {
4406        r['SwymRetailerConfig'] = s;
4407        r[s] = r[s] || function (k, v) {
4408          r[s][k] = v;
4409        };
4410      })('_swrc', '', window);
4411      _swrc('RetailerId', swymJSObject.pid);
4412      _swrc('Callback', function(){initSwymShopify();});
4413    }else if(window._swat.postLoader){
4414      _swrc = window._swat.postLoader;
4415      _swrc('RetailerId', swymJSObject.pid);
4416      _swrc('Callback', function(){initSwymShopify();});
4417    }else{
4418      initSwymShopify();}
4419  }
4420  if(!window._SwymPreventAutoLoad) {
4421    swymJSShopifyLoad();
4422  }
4423</script>
4423
4424
4425<style id="safari-flasher-pre"></style>
4426<script>
4427  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
4428    document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin  #swym-notepad, #swym-hosted-plugin  #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin  #swym-notepad, #swym-plugin  #swym-overlay, #swym-plugin  #swym-notification,' + '#swym-hosted-plugin  #swym-notepad, #swym-hosted-plugin  #swym-overlay, #swym-hosted-plugin  #swym-notification' + '{-webkit-transition: none; transition: none;}' + '';
4429    window.SwymCallbacks = window.SwymCallbacks || [];
4430    window.SwymCallbacks.push(function(tracker) {
4431      tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() {
4432        var x = function() {
4433          SwymUtils.onDOMReady(function() {
4434            var d = document.createElement("div");
4435            d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready  #swym-notepad, #swym-plugin.swym-ready  #swym-overlay, #swym-plugin.swym-ready  #swym-notification," + "#swym-hosted-plugin.swym-ready  #swym-notepad, #swym-hosted-plugin.swym-ready  #swym-overlay, #swym-hosted-plugin.swym-ready  #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>";
4436            document.head.appendChild(d);
4437          });};
4438        setTimeout(x, 10);
4439      });});}
4440  window.SwymOverrideMoneyFormat = "$ {{amount}}";
4441</script>
4441
4442<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet -->
4443
4444<script
4445  
4446  id="swymSnippetCheckAndActivate"
4447>
4448  (function () {
4449    var duplicateProneIds = ['safari-flasher-pre', 'swym-product-view-defaults', 'swym-wrap-login-handler'];
4450
4451    function removeDuplicateIdNodes(id) {
4452      var nodes = document.querySelectorAll('#' + id);
4453      nodes.forEach(function (node, index) {
4454        if (index > 0) {
4455          node.remove();
4456        }
4457      });
4458    }
4459
4460    function cleanupDuplicateSnippetNodes(activeScript) {
4461      if (!activeScript) {
4462        return;
4463      }
4464      var allSwymSnippets = document.querySelectorAll('script#swym-snippet');
4465      allSwymSnippets.forEach(function (scriptNode) {
4466        if (scriptNode !== activeScript) {
4467          scriptNode.remove();
4468        }
4469      });
4470    }
4471
4472    function cleanupDuplicateActivationGuards() {
4473      var guardScripts = document.querySelectorAll('script#swymSnippetCheckAndActivate');
4474      guardScripts.forEach(function (scriptNode, index) {
4475        if (index > 0) {
4476          scriptNode.removeAttribute('id');
4477        }
4478      });
4479    }
4480
4481    function postDomLoad() {
4482      var activeScript = document.querySelector('script#swym-snippet:not([type="text"])');
4483      if (!activeScript) {
4484        var inactiveScript = document.querySelector('script#swym-snippet[type="text"]');
4485        if (inactiveScript) {
4486          inactiveScript.type = 'text/javascript';
4487          new Function(inactiveScript.textContent)();
4488          activeScript = inactiveScript;
4489        }
4490      }
4491
4492      cleanupDuplicateSnippetNodes(activeScript);
4493      cleanupDuplicateActivationGuards();
4494      duplicateProneIds.forEach(removeDuplicateIdNodes);
4495    }
4496
4497    if (document.readyState === 'loading') {
4498      document.addEventListener('DOMContentLoaded', postDomLoad);
4499    } else {
4500      postDomLoad();
4501    }
4502  })();
4503</script>
4503
4504
4505
4506
4507<script>
4508  (function () {
4509    const themeSchemaName = window.Shopify.theme.schema_name;
4510
4511    if (!window.SwymCallbacks) {
4512      window.SwymCallbacks = [];
4513    }
4514    window.SwymCallbacks.push(swat => {
4515      if (!swat) {
4516        return;
4517      }
4518
4519      // Ghost-Intent: Sync local wishlist items to cloud when SDK loads after consent
4520      if (window.SwymLocalWishlist && window.SwymLocalWishlist.getSyncableItems().length > 0) {
4521        window.SwymLocalWishlist.syncToCloud(swat);
4522      }
4523
4524      if (window._SwymSDKOnlyMode) {
4525        return;
4526      }
4527
4528      // ENABLE COMMON FEATURES
4529      let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures;
4530      Object.keys(swymEnabledCommonFeatures).forEach(key => {
4531        if (!swymEnabledCommonFeatures[key]) return;
4532
4533        switch (key) {
4534          case 'add-to-wishlist-collections-button':
4535            // Check if app block is already handling the collections button
4536            if (window.SwymCollectionsConfig) {
4537              return;
4538            }
4539
4540            // Check if v2 default collections is handling it
4541            if (window.SwymAdvancedCollectionsWishlistConfig) {
4542              return;
4543            }
4544
4545            // Fallback to old v1 behavior if v2 config is not present
4546            swat?.collectionsApi?.setDefaultCustomizationOptions();
4547            swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName);
4548
4549            break;
4550          case 'add-to-wishlist-pdp-button':
4551            // Check if app block is already handling the PDP button
4552            if (window.swymATWButtonConfig?.shopifyExtensionType === 'appblock') {
4553              return;
4554            }
4555
4556            if (!(window.SwymPageData && window.SwymPageData.et === 1)) {
4557              // Not initiating pdp button as it is not a product page
4558              return;
4559            }
4560
4561            // Inject addtowishlist.css into the document's <head>
4562            var head = document.head;
4563            var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.css";
4564            var pdpButtonStylesheetTag = document.createElement('link');
4565            pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`;
4566            pdpButtonStylesheetTag.rel = 'stylesheet';
4567            pdpButtonStylesheetTag.href = pdpButtonStylesheet;
4568
4569            if (!document.getElementById('swym-pdp-button-stylesheet')) {
4570              head.appendChild(pdpButtonStylesheetTag);
4571            }
4572
4573            var x = document.getElementsByTagName('script')[0];
4574            function createAndInsertScript(id, src, onLoadCallback) {
4575              var scriptTag = document.createElement('script');
4576              scriptTag.id = id;
4577              scriptTag.type = 'text/javascript';
4578              scriptTag.src = src;
4579              scriptTag.onload = onLoadCallback;
4580              x.parentNode.insertBefore(scriptTag, x);
4581            }
4582
4583            var pdpButtonScript = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.js";
4584            createAndInsertScript(`swym-pdp-button-script`, pdpButtonScript, function () {
4585              const pdpBtnApi = window.WishlistPlusPDPButtonAPI;
4586              if (pdpBtnApi) {
4587                pdpBtnApi.setDefaultCustomizationOptions(swat);
4588                pdpBtnApi.initializePDPButton(swat, true);
4589              }
4590            });
4591            break;
4592          default:
4593            return;
4594        }
4595      });
4596    });
4597  })(); // IIFE to prevent polluting global scope
4598</script>
4598
4599
4600
4601
4602<script> 
4603  (function () {
4604    // Get the settings from Shopify's Liquid variables and create the styles
4605    const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"];
4606    const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 
4607      Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0;
4608    const isControlCentreEnabledFromBlockSettings = true;
4609    
4610    if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) {
4611      // Don't enable control centre if this is disabled and block settings are not enabled
4612      return;
4613    }
4614    
4615    let borderRadius = 6;
4616    let drawerWidth = window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutDrawerWidth || 400;
4617    
4618    // Check if block settings exist, use them, otherwise fall back to common settings
4619    let primaryBgColor = isControlCentreEnabledFromBlockSettings ? 
4620      "#000000" : 
4621      window.SwymWishlistCommonCustomizationSettings.primaryColor;
4622    
4623    let primaryTextColor = isControlCentreEnabledFromBlockSettings ? 
4624      "#ffffff" : 
4625      window.SwymWishlistCommonCustomizationSettings.secondaryColor;
4626    
4627    let secondaryBgColor = isControlCentreEnabledFromBlockSettings ? 
4628      "#f4f8fe" : null;
4629    let secondaryTextColor = isControlCentreEnabledFromBlockSettings ? 
4630      "#333333" : null;
4631
4632    // Only use color adjustment functions if we're using common settings
4633    if (!secondaryBgColor || !secondaryTextColor) {
4634      function adjustOpacity(color, opacity) {
4635        if (color[0] === '#') {
4636          color = color.slice(1);
4637        }
4638
4639        if (color.length === 3) {
4640          color = color.split('').map(char => char + char).join('');
4641        }
4642
4643        const r = parseInt(color.slice(0, 2), 16);
4644        const g = parseInt(color.slice(2, 4), 16);
4645        const b = parseInt(color.slice(4, 6), 16);
4646
4647        return `rgba(${r}, ${g}, ${b}, ${opacity})`;
4648      }
4649
4650      function hexToRgb(color) {
4651        if (color[0] === '#') {
4652          color = color.slice(1);
4653        }
4654        if (color.length === 3) {
4655          color = color.split('').map(c => c + c).join('');
4656        }
4657
4658        return {
4659          r: parseInt(color.slice(0, 2), 16),
4660          g: parseInt(color.slice(2, 4), 16),
4661          b: parseInt(color.slice(4, 6), 16)
4662        };
4663      }
4664
4665      function getLuminance({ r, g, b }) {
4666        return 0.299 * r + 0.587 * g + 0.114 * b;
4667      }
4668
4669      function generateSecondaryColors(primaryBgColor, primaryTextColor) {
4670        const secondaryBgOpacity = 0.2;
4671        const secondaryTextOpacity = 0.8;
4672
4673        const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity);
4674
4675        const bgRgb = hexToRgb(primaryBgColor);
4676        const bgLuminance = getLuminance(bgRgb);
4677
4678        // Determine whether to use dark or light text for contrast
4679        const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity);
4680        const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity);
4681
4682        const secondaryTextColor = bgLuminance > 186 ? darkText : lightText;
4683
4684        return {
4685          secondaryBgColor,
4686          secondaryTextColor
4687        };
4688      }
4689
4690      const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor);
4691      secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor;
4692      secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor;
4693    }
4694
4695    // Create the CSS rule
4696    let styles = `
4697      .swym-storefront-layout-root-component {
4698        --swym-storefront-layout-ui-border-radius: ${borderRadius}px;
4699        --swym-storefront-layout-button-border-radius: ${borderRadius}px;
4700        --swym-storefront-layout-side-drawer-width: ${drawerWidth}px;
4701        --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor};
4702        --swym-storefront-layout-button-color-text-primary: ${primaryTextColor};
4703        --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor};
4704        --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor};
4705      }
4706    `;
4707
4708    // Create a <style> element and append the styles
4709    let styleSheet = document.createElement("style");
4710    styleSheet.type = "text/css";
4711    styleSheet.innerText = styles;
4712    document.head.appendChild(styleSheet);
4713
4714    if (typeof window.SwymStorefrontLayoutContext === 'undefined') {
4715        window.SwymStorefrontLayoutContext = {};
4716    }
4717    if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){
4718        window.SwymStorefrontLayoutExtensions = {};
4719    }
4720
4721    // Expose block settings toggle state so ThemeCSSMapping can respect it.
4722    // When true, theme editor color pickers take priority over inherited theme CSS variables.
4723    SwymStorefrontLayoutContext.BlockSettingsEnabled = isControlCentreEnabledFromBlockSettings;
4724
4725    if (isControlCentreEnabledFromBlockSettings) {
4726      // If block settings are enabled, use them
4727      SwymStorefrontLayoutContext.Settings = {
4728        EnableStorefrontLayoutOnLauncher: true,
4729        EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true,
4730        StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer",
4731        StorefrontLayoutDrawerPosition: "left",
4732        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
4733        StorefrontLayoutAsSectionPageURL: "/pages/wishlist",
4734        EnableStorefrontLayoutVariantSelector: true,
4735        StorefrontLayoutNotificationPosition: "left",
4736        StorefrontLayoutActionPopupPosition: "left",
4737        StorefrontLayoutNotificationDuration: 5000
4738      };
4739    } else {
4740      // If only metafield is enabled but no block settings, use common settings
4741      SwymStorefrontLayoutContext.Settings = {
4742        EnableStorefrontLayoutOnLauncher: true,
4743        EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true,
4744        StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer",
4745        StorefrontLayoutDrawerPosition: "left",
4746        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
4747        StorefrontLayoutAsSectionPageURL: "/pages/wishlist",
4748        EnableStorefrontLayoutVariantSelector: true,
4749        StorefrontLayoutNotificationPosition: "left",
4750        StorefrontLayoutActionPopupPosition: "left",
4751        StorefrontLayoutNotificationDuration: 5000
4752      };
4753    }
4754    const storefrontLayoutCallback = (swat) =>{
4755      SwymStorefrontLayoutContext.swat = swat;
4756      let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid'];
4757      let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled'];
4758      SwymStorefrontLayoutContext.Settings = {
4759        ...SwymStorefrontLayoutContext?.Settings,
4760        EnableStorefrontLayoutCollection: window?.SwymEnabledCommonFeatures?.["multiple-wishlist"] ?? false,
4761        EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield),
4762      }
4763
4764      if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){
4765        if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){
4766          var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, { 
4767            detail: { settings: SwymStorefrontLayoutContext?.Settings }
4768          });
4769          document.dispatchEvent(event);
4770        }else{
4771          swat.utils.warn(`LayoutInitialized event is not defined.`);
4772        }
4773      }else{
4774        swat.utils.warn(`Storefront Layout is disabled.`);
4775        document.getElementById("swym-storefront-layout-container")?.remove();
4776        document.getElementById("swym-storefront-extention-render-container")?.remove();
4777      }
4778    }
4779  
4780    if (!window.SwymCallbacks) {
4781      window.SwymCallbacks = [];
4782    }
4783    window.SwymCallbacks.push(storefrontLayoutCallback);
4784  
4785    SwymStorefrontLayoutContext.SwymCustomerData = {
4786      
4787        name: null,
4788        email: null
4789      
4790    };
4791    SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email;
4792  })();
4793</script>
4793
4794
4795
4796
4797
4798  
4799    <div id="swym-storefront-extention-render-container">
4800      <!-- BEGIN app snippet: swymStorefrontLayout -->
4800<script>
4801    (function () {
4802        const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"];
4803        const isControlCentreEnabledFromBlockSettings = true;
4804        const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 
4805            Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0;
4806        
4807        if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) {
4808            return;
4809        }
4810        if (typeof window.SwymStorefrontLayoutContext === 'undefined') {
4811            window.SwymStorefrontLayoutContext = {};
4812        }
4813        
4814        // Initialize strings with empty values first to prevent string changes after loadStrings()
4815        SwymStorefrontLayoutContext.Strings = {
4816            title: "",
4817            addToCart: "",
4818            addedToCart: "",
4819            addAllToCartCta: "",
4820            addAllToCartSuccessText: "",
4821            addAllToCartEmptyText: "",
4822            addAllToCartErrorText: "",
4823            soldOut: "",
4824            addingToCart: "",
4825            viewCartCta: "",
4826            moveToCartCta: "",
4827            movingToCartCta: "",
4828            removeSflItemCta: "",
4829
4830            loginHeading: "",
4831            loginText: "",
4832            loginButtonText: "",
4833            loggedUserWelcomeMessage: "",
4834            VariantSelectorBtnText: "",
4835            wishlistTitle: "",
4836            wishlistInfo: "",
4837            emptyWishlistTitle: "",
4838            emptyWishlistDescription: "",
4839            
4840            collectionTitle: "",
4841            emptyCarouselCollectionText: "",
4842            emptyCollectionText: "",
4843            emptyCollectionDescription: "",
4844            
4845            addToCollectionTitle: "",
4846            removeItemCta: "",
4847            addToCollectionCta: "",
4848            createCollectionCta: "",
4849            saveNewCollectionCta: "",
4850            renameCollectionCta: "",
4851            deleteCollectionCta: "",
4852            shareCollectionCta: "",
4853            saveCollectionCta: "",
4854            editCollectionCta: "",
4855            shareCollectionTitle: "",
4856            shareCollectionMessage: "",
4857            sharedCollectionMessage: "",
4858            updateCollectionTitle: "",
4859
4860            errorMessageListNameRequired: "",
4861            errorMessageListNameRequire3Char: "",
4862            errorMessageListNameAlreadyExist: "",
4863
4864            notificationMessageItemSaved: "",
4865            notificationMessageItemRemoved: "",
4866            notificationMessageAddedToCart: "",
4867            notificationMessageAddedToCollection: "",
4868            notificationMessageCollectionSaved: "",
4869            notificationMessageCollectionDeleted: "",
4870            notificationMessageCollectionUpdated: "",
4871            notificationMessageCollectionUnavailable: "",
4872            notificationMessageSFLItemSaved: "",
4873            notificationMessageSFLItemRemoved: "",
4874            notificationMessageMovedToCart: "",
4875
4876            notificationActionAddToCollection: "",
4877            notificationActionView: "",
4878            notificationActionViewCollection: "",
4879            notificationActionGoToCart: "",
4880
4881            item: "",
4882            items: "",
4883
4884            tabWishlist: "",
4885            tabSavedForLater: "",
4886            tabSavedForYou: "",
4887            
4888            savedForLaterTitle: "",
4889            emptySavedForLaterTitle: "",
4890            emptySavedForLaterDescription: "",
4891
4892            awNudgeMessage: "",
4893            awNudgeMessageSub: "",
4894            awNudgeLoginCTA: "",
4895            awNudgeDismiss: "",
4896
4897            emptySingleLoggedInTitle: "",
4898            emptySingleLoggedInDescription: "",
4899            emptySingleLoggedInBullet1: "",
4900            emptySingleLoggedInBullet2: "",
4901            emptySingleLoggedInBullet3: "",
4902            emptySingleLoggedInCTA: "",
4903
4904            emptyMultiLoggedInTitle: "",
4905            emptyMultiLoggedInDescription: "",
4906            emptyMultiLoggedInCreateTitle: "",
4907            emptyMultiLoggedInCreateDescription: "",
4908            emptyMultiLoggedInBrowseLabel: "",
4909            emptyMultiLoggedInCTA: "",
4910            emptyMultiLoggedInTag1: "",
4911            emptyMultiLoggedInTag2: "",
4912            emptyMultiLoggedInTag3: "",
4913            emptyMultiLoggedInTag4: "",
4914            emptyMultiLoggedInTag5: "",
4915
4916            emptyGuestTitle: "",
4917            emptyGuestDescription: "",
4918            emptyGuestSingleNotice: "",
4919            emptyGuestMultiNotice: "",
4920            emptyGuestLoginCTA: "",
4921            emptyGuestBrowseCTA: "",
4922            emptyGuestSignupText: "",
4923            emptyGuestSignupCTA: "",
4924
4925            emptySflTitle: "",
4926            emptySflDescription: "",
4927            emptySflStep1Title: "",
4928            emptySflStep1Description: "",
4929            emptySflStep2Title: "",
4930            emptySflStep2Description: "",
4931            emptySflLoggedInNotice: "",
4932            emptySflGuestNotice: "",
4933            emptySflGoToCartCTA: "",
4934            emptySflLoginCTA: "",
4935            emptySflSignupText: "",
4936            emptySflSignupCTA: ""
4937        };
4938
4939        SwymStorefrontLayoutContext.stringsLoaded = false;
4940        SwymStorefrontLayoutContext.StorefrontLayoutUrls = SwymStorefrontLayoutContext.StorefrontLayoutUrls || {};
4941        SwymStorefrontLayoutContext.StorefrontLayoutUrls.Login = "\/customer_authentication\/login?return_to=%2Fpages%2Fserious-about-serums\u0026locale=en\u0026ui_hint=full\u0026region_country=US";
4942
4943        /** 
4944        * Function to override Swym's default UI behavior.
4945        **/
4946        const overrideSwymDefaultUI = (swat) => {
4947            try{
4948                swat.ui.open = function(){
4949                    window.location.hash = SwymStorefrontLayoutContext?.StorefrontLayoutUrls?.List;
4950                }
4951
4952                if (swat.ui?.uiRef?.settings?.UI) {
4953                    swat.ui.uiRef.settings.UI.NotificationDisabled = true;
4954                }
4955            }catch(e){
4956                swat.utils?.warn('Error overriding Swym default UI:', e);
4957            }
4958        }
4959
4960        /**
4961        * Callback function to override Swym's default UI behavior based on Storefront Layout settings.
4962        * 
4963        * - Overrides `swat.ui.open` to redirect to a custom Storefront Layout URL if enabled.
4964        * - Overrides Swym's default notifications to log notifications instead of displaying them.
4965        * - Ensures the callback is pushed to `window.SwymCallbacks` for execution when Swym is initialized.
4966        * 
4967        * @param {Object} swat - Swym's UI object used for overriding UI behaviors.
4968        */
4969        const swymStorefrontLayoutCallback = (swat) =>{
4970            SwymStorefrontLayoutContext.swat = swat;
4971            
4972            overrideSwymDefaultUI(swat);
4973
4974
4975            let triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat;
4976            if (typeof triggerHeartbeat !== "function") return;
4977
4978            let wishlistNewUiHeartbeatData = '';
4979            try {
4980                wishlistNewUiHeartbeatData = JSON.parse(wishlistNewUiHeartbeatData) || {};
4981            } catch (e) {
4982                wishlistNewUiHeartbeatData = {};
4983            }
4984
4985            let themeId = window.Shopify.theme.id;
4986            let isDesignMode = !!window.swymDesignMode;
4987            let lastHeartbeat = isDesignMode ? wishlistNewUiHeartbeatData?.editor : wishlistNewUiHeartbeatData?.[themeId];
4988            let themeContext = isDesignMode ? 'editor' : themeId;
4989            let extensionData = {
4990                extensionName: "wishlist-new-ui", 
4991                extensionType: "app-embed", 
4992                metadata: {}, 
4993                themeId: themeContext, 
4994                extensionSource: "default"
4995            };
4996            /** Stop heartbeat
4997            triggerHeartbeat(extensionData, lastHeartbeat);
4998            */
4999        }
5000        
5001        if (!window.SwymCallbacks) {
5002            window.SwymCallbacks = [];
5003        }
5004        window.SwymCallbacks.push(swymStorefrontLayoutCallback);
5005    })();
5006</script>
5006
5007<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.css">
5008<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/async-wishlist-apis.js" defer="defer"></script>
vendor: 1 bytes, line 5008
5008
5009<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.js" defer="defer"></script>
vendor: 1 bytes, line 5009
5009
5010<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout-components.js" defer="defer"></script>
5010
5011
5012<swym-storefront-layout class="swym-storefront-layout-root-component"></swym-storefront-layout>
5013<!-- END app snippet -->
5014    </div>
5015    <!-- BEGIN app snippet: swymEducationTooltip -->
5016
5017
5018  
5019
5020  <div id="swym-education-tooltip" aria-hidden="true"
5021    data-toast-desktop-message="Interesting? Click &#39;{{wishlistIcon}}&#39; to save it to your {{wishlistName}}."
5022    data-toast-mobile-message="Interesting? Tap &#39;{{wishlistIcon}}&#39; to add to your {{wishlistName}}."
5023    data-toast-cta="Wishlist Now"
5024    data-tooltip-desktop-message="Interesting? Click &#39;{{wishlistIcon}}&#39; to save it to your {{wishlistName}}."
5025    data-tooltip-mobile-message="Interesting? Tap &#39;{{wishlistIcon}}&#39; to add to your {{wishlistName}}."
5026    data-button-transition-text-1="Price drops? Know first."
5027    data-button-transition-text-2="Almost gone. Just saying."
5028    data-button-transition-text-3="Yours when ready.">
5029  </div>
5030
5031  <div id="swym-education-tooltip-bubble" class="swym-education-tooltip swym-education-tooltip-above" aria-hidden="true" role="tooltip">
5032    <div class="swym-education-tooltip-content">
5033      <span class="swym-education-tooltip-message"></span>
5034      <button class="swym-education-tooltip-close" data-swym-education-tooltip-close aria-label="Close consent dialog">
5035        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
5036          <path d="M18 6L6 18M6 6l12 12"></path>
5037        </svg>
5038      </button>
5039    </div>
5040    <div class="swym-education-tooltip-arrow"></div>
5041  </div>
5042
5043  <style>
5044    /* Education tooltip — positioned fixed, managed by JS */
5045    .swym-education-tooltip {
5046      position: fixed;
5047      z-index: 500;
5048      visibility: hidden;
5049      opacity: 0;
5050      transition: opacity 0.2s ease, visibility 0.2s ease;
5051      pointer-events: none;
5052    }
5053    .swym-education-tooltip.swym-education-tooltip-visible {
5054      visibility: visible;
5055      opacity: 1;
5056      pointer-events: auto;
5057    }
5058    .swym-education-tooltip-content {
5059      background: var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF);
5060      color: var(--swym-storefront-layout-notification-neutral-text-color, #383d41);
5061      border: 1px solid var(--swym-storefront-layout-notification-neutral-border-color, #d6d8db);
5062      padding: 10px 14px;
5063      border-radius: var(--swym-storefront-layout-ui-border-radius, 10px);
5064      font-size: 13px;
5065      line-height: 1.4;
5066      display: flex;
5067      align-items: center;
5068      gap: 8px;
5069      max-width: 320px;
5070      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
5071    }
5072    .swym-education-tooltip-message {
5073      flex: 1;
5074    }
5075    .swym-education-tooltip-close {
5076      background: none;
5077      border: none;
5078      color: inherit;
5079      cursor: pointer;
5080      padding: 2px;
5081      line-height: 1;
5082      flex-shrink: 0;
5083      opacity: 0.7;
5084    }
5085    .swym-education-tooltip-close:hover {
5086      opacity: 1;
5087    }
5088
5089    /* Button text fade transition for education nudge */
5090    .swym-btn-text-fade-out {
5091      opacity: 0;
5092      transition: opacity 0.2s ease;
5093    }
5094    .swym-btn-text-fade-in {
5095      opacity: 1;
5096      transition: opacity 0.3s ease;
5097    }
5098
5099    /* Arrow — points down when tooltip is above, up when below */
5100    .swym-education-tooltip-arrow {
5101      width: 0;
5102      height: 0;
5103      position: absolute;
5104      left: 50%;
5105      transform: translateX(-50%);
5106    }
5107    .swym-education-tooltip-above .swym-education-tooltip-arrow {
5108      bottom: -6px;
5109      border-left: 6px solid transparent;
5110      border-right: 6px solid transparent;
5111      border-top: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF);
5112    }
5113    .swym-education-tooltip-below .swym-education-tooltip-arrow {
5114      top: -6px;
5115      border-left: 6px solid transparent;
5116      border-right: 6px solid transparent;
5117      border-bottom: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF);
5118    }
5119
5120    /* Hidden data element */
5121    #swym-education-tooltip {
5122      display: none;
5123    }
5124
5125    @media (max-width: 480px) {
5126      .swym-education-tooltip-content {
5127        max-width: 90vw;
5128        font-size: 12px;
5129      }
5130    }
5131  </style>
5132
5133  
5133<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education-tooltip.js" defer="defer"></script>
5133
5134  
5134<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education.js" defer="defer"></script>
5134
5135
5136<!-- END app snippet -->
5137  
5138
5139</div><div id="shopify-block-AMXlNNXM5SWtGZ0cxR__17151115064775110295" class="shopify-block shopify-app-block"><style data-recharge-theme='{"has_theme_customization": true, "design_mode": false }'>
5140  .recharge-theme {
5141    /* App */
5142    --recharge-app-background: #F9F8F4;
5143    --recharge-app-container: 1200px;
5144    --recharge-app-vertical-padding: 32px;
5145
5146    /* Brand colors */
5147    
5148--recharge-color-brand: #F197CB;
5149
5150    /* Tints */
5151    --recharge-color-brand-120: #ec6fb7;
5152    --recharge-color-brand-20: #f4acd5;
5153    --recharge-color-brand-40: #f7c1e0;
5154    --recharge-color-brand-60: #f9d5ea;
5155    --recharge-color-brand-75: #fce5f2;
5156    --recharge-color-brand-85: #fdeff7;
5157
5158    /* Neutral */
5159    --recharge-color-neutral: hsl(325, 35%, 7%);
5160    --recharge-color-neutral-80: hsl(325, 7%, 25%);
5161    --recharge-color-neutral-70: hsl(325, 5%, 35%);
5162    --recharge-color-neutral-40: hsl(325, 3%, 63%);
5163    --recharge-color-neutral-10: hsl(325, 2%, 91%);
5164    
5165
5166    /* Links */
5167    --recharge-button-secondary: #FD5B97;
5168    --recharge-button-secondary-120: #fc2e7b;
5169    --recharge-button-secondary-60: #fe9dc1;
5170
5171    /* Images */
5172    --recharge-images-ratio: 1;
5173
5174    /* Cards */
5175    
5176    --recharge-cards-background: #FFFFFF;
5177    
5178
5179    
5180    --recharge-cards-border-color: RGBA(0,0,0,0);
5181    
5182
5183    /* Fonts */
5184    --recharge-typography-scale: 16px;
5185    --recharge-typography-size-1: calc(3 * var(--recharge-typography-scale));
5186    --recharge-typography-size-2: calc(2.25 * var(--recharge-typography-scale));
5187    --recharge-typography-size-3: calc(1.625 * var(--recharge-typography-scale));
5188    --recharge-typography-size-4: calc(1.25 * var(--recharge-typography-scale));
5189    --recharge-typography-size-5: calc(1 * var(--recharge-typography-scale));
5190    --recharge-typography-size-6: calc(.875 * var(--recharge-typography-scale));
5191
5192    /** Text **/
5193    --recharge-typography-light: #FFFFFF;
5194    --recharge-typography-primary: var(--recharge-color-neutral);
5195    --recharge-typography-secondary: var(--recharge-color-neutral-70);
5196
5197    /* Corners */
5198    --recharge-corners-radius: 8px;
5199
5200    --recharge-button-border-radius: 8px;
5201    
5202
5203    /* Views */
5204    
5205    --recharge-views-background: #F9F8F4;
5206    
5207
5208    /* Buttons */
5209    --recharge-button-font-family: inherit;
5210    --recharge-button-brand: var(--recharge-color-brand);
5211    --recharge-button-color: #FFFFFF;
5212  }
5213</style>
5214
5215</div><div id="shopify-block-AbmR4ZVhWZXJvS2NJQ__2786716548061469553" class="shopify-block shopify-app-block">
5216
5217<script>
5218</script>
5218
5219
5220 </div><div id="shopify-block-Abm0rUlNXcDY5T3ZuN__2734250573734242505" class="shopify-block shopify-app-block">
5221<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-local-wishlist.js" defer></script>
5221
5222
5223<!-- BEGIN app snippet: swymConsentPopup -->
5224
5225
5226
5227  
5228
5229  <style id="swym-consent-popup-styles">
5230    /* Consent popup styles */
5231    .swym-consent-popup {
5232      position: fixed;
5233      top: 0;
5234      left: 0;
5235      width: 100%;
5236      height: 100%;
5237      z-index: 999999;
5238      display: flex;
5239      align-items: center;
5240      justify-content: center;
5241      opacity: 0;
5242      visibility: hidden;
5243      transition: opacity 0.2s ease, visibility 0.2s ease;
5244    }
5245    .swym-consent-popup[aria-hidden="false"] {
5246      opacity: 1;
5247      visibility: visible;
5248    }
5249    .swym-consent-popup-overlay {
5250      position: absolute;
5251      top: 0;
5252      left: 0;
5253      width: 100%;
5254      height: 100%;
5255      background: rgba(0, 0, 0, 0.5);
5256      cursor: pointer;
5257    }
5258    .swym-consent-popup-content {
5259      position: relative;
5260      background: #fff;
5261      padding: 32px;
5262      border-radius: 12px;
5263      max-width: 440px;
5264      width: 90%;
5265      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
5266      z-index: 1;
5267      text-align: left;
5268    }
5269    .swym-consent-popup[aria-hidden="false"] .swym-consent-popup-content {
5270      animation: swymPopupSlideIn 0.25s ease;
5271    }
5272    @keyframes swymPopupSlideIn {
5273      from {
5274        opacity: 0;
5275        transform: translateY(-20px) scale(0.95);
5276      }
5277      to {
5278        opacity: 1;
5279        transform: translateY(0) scale(1);
5280      }
5281    }
5282    .swym-consent-popup-close {
5283      position: absolute;
5284      top: 12px;
5285      right: 12px;
5286      background: none;
5287      border: none;
5288      cursor: pointer;
5289      padding: 4px;
5290      color: #666;
5291      transition: color 0.15s ease;
5292    }
5293    .swym-consent-popup-close:hover {
5294      color: #000;
5295    }
5296    .swym-consent-popup-title {
5297      margin: 0 0 12px 0;
5298      font-size: 20px;
5299      font-weight: 600;
5300      color: #111;
5301      text-align: center;
5302    }
5303    .swym-consent-popup-message {
5304      margin: 0 0 24px 0;
5305      font-size: 14px;
5306      line-height: 1.6;
5307      color: #555;
5308      text-align: left;
5309    }
5310    .swym-consent-popup-actions {
5311      display: flex;
5312      gap: 12px;
5313      justify-content: center;
5314    }
5315    /* Secondary buttons — all CTAs have equal weight, outlined style */
5316    .swym-consent-btn {
5317      flex: 1;
5318      padding: 12px 24px;
5319      font-size: 14px;
5320      font-weight: 500;
5321      border-radius: 6px;
5322      cursor: pointer;
5323      transition: all 0.15s ease;
5324      min-width: 100px;
5325      min-height: 44px;
5326      background: #fff;
5327      color: #111;
5328      border: 1px solid #ccc;
5329      position: relative;
5330      text-align: center;
5331    }
5332    .swym-consent-btn:hover {
5333      background: #f5f5f5;
5334      border-color: #999;
5335    }
5336    /* Disclaimer text under popup actions */
5337    .swym-consent-popup-disclaimer {
5338      margin: 16px 0 0 0;
5339      font-size: 12px;
5340      line-height: 1.5;
5341      color: #888;
5342      font-style: italic;
5343      text-align: left;
5344    }
5345    /* First CTA (accept button) has bolder font weight */
5346    .swym-consent-btn[data-swym-consent-accept] {
5347      font-weight: 600;
5348    }
5349    /* Spinner for accept button */
5350    .swym-consent-btn .swym-consent-spinner {
5351      display: none;
5352      width: 16px;
5353      height: 16px;
5354      border: 2px solid #111;
5355      border-top-color: transparent;
5356      border-radius: 50%;
5357      animation: swymConsentSpin 0.7s linear infinite;
5358    }
5359    .swym-consent-btn.swym-loading {
5360      pointer-events: none;
5361    }
5362    .swym-consent-btn.swym-loading .swym-consent-btn-text {
5363      visibility: hidden;
5364    }
5365    .swym-consent-btn.swym-loading .swym-consent-spinner {
5366      display: block;
5367      position: absolute;
5368      top: 50%;
5369      left: 50%;
5370      transform: translate(-50%, -50%);
5371    }
5372    @keyframes swymConsentSpin {
5373      to { transform: translate(-50%, -50%) rotate(360deg); }
5374    }
5375    .swym-consent-popup-note {
5376      display: none;
5377    }
5378    @media (max-width: 480px) {
5379      .swym-consent-popup-content {
5380        padding: 24px 20px;
5381        margin: 16px;
5382      }
5383      .swym-consent-popup-actions {
5384        flex-direction: column;
5385      }
5386      .swym-consent-btn {
5387        width: 100%;
5388      }
5389    }
5390    /* Ghost-Intent login toast */
5391    .swym-ghost-toast {
5392      position: fixed;
5393      bottom: 20px;
5394      left: 50%;
5395      transform: translateX(-50%) translateY(100px);
5396      background: #111;
5397      color: #fff;
5398      padding: 14px 20px;
5399      border-radius: 8px;
5400      display: flex;
5401      align-items: center;
5402      gap: 12px;
5403      z-index: 999999;
5404      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
5405      opacity: 0;
5406      transition: opacity 0.3s ease, transform 0.3s ease;
5407      max-width: 90%;
5408    }
5409    .swym-ghost-toast-visible {
5410      opacity: 1;
5411      transform: translateX(-50%) translateY(0);
5412    }
5413    .swym-ghost-toast-message {
5414      font-size: 14px;
5415    }
5416    .swym-ghost-toast-cta {
5417      color: #fff;
5418      text-decoration: underline;
5419      font-weight: 600;
5420      font-size: 14px;
5421      white-space: nowrap;
5422    }
5423    .swym-ghost-toast-close {
5424      background: none;
5425      border: none;
5426      color: #999;
5427      font-size: 18px;
5428      cursor: pointer;
5429      padding: 0 0 0 4px;
5430      line-height: 1;
5431    }
5432    .swym-ghost-toast-close:hover {
5433      color: #fff;
5434    }
5435    /* Confirmation alert (shown after second consent decline) */
5436    .swym-consent-confirm-alert {
5437      position: fixed;
5438      top: 0;
5439      left: 0;
5440      width: 100%;
5441      height: 100%;
5442      z-index: 9999999;
5443      display: flex;
5444      align-items: center;
5445      justify-content: center;
5446      opacity: 0;
5447      visibility: hidden;
5448      transition: opacity 0.2s ease, visibility 0.2s ease;
5449    }
5450    .swym-consent-confirm-alert[aria-hidden="false"] {
5451      opacity: 1;
5452      visibility: visible;
5453    }
5454    .swym-consent-confirm-overlay {
5455      position: absolute;
5456      top: 0;
5457      left: 0;
5458      width: 100%;
5459      height: 100%;
5460      background: rgba(0, 0, 0, 0.6);
5461      cursor: pointer;
5462    }
5463    .swym-consent-confirm-content {
5464      position: relative;
5465      background: #fff;
5466      padding: 32px;
5467      border-radius: 12px;
5468      max-width: 480px;
5469      width: 90%;
5470      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
5471      z-index: 1;
5472      text-align: left;
5473    }
5474    .swym-consent-confirm-alert[aria-hidden="false"] .swym-consent-confirm-content {
5475      animation: swymPopupSlideIn 0.25s ease;
5476    }
5477    .swym-consent-confirm-icon {
5478      margin-right: 8px;
5479    }
5480    .swym-consent-confirm-title {
5481      margin: 0 0 12px 0;
5482      font-size: 18px;
5483      font-weight: 600;
5484      color: #111;
5485      text-align: center;
5486      display: flex;
5487      align-items: center;
5488      justify-content: center;
5489    }
5490    .swym-consent-confirm-message {
5491      margin: 0 0 24px 0;
5492      font-size: 14px;
5493      line-height: 1.6;
5494      color: #555;
5495      text-align: left;
5496    }
5497    .swym-consent-confirm-actions {
5498      display: flex;
5499      gap: 12px;
5500      justify-content: center;
5501    }
5502    /* Secondary buttons for confirmation alert — equal weight, outlined */
5503    .swym-consent-confirm-btn {
5504      flex: 1;
5505      padding: 12px 24px;
5506      font-size: 14px;
5507      font-weight: 500;
5508      border-radius: 6px;
5509      cursor: pointer;
5510      transition: all 0.15s ease;
5511      min-width: 120px;
5512      background: #fff;
5513      color: #111;
5514      border: 1px solid #ccc;
5515    }
5516    .swym-consent-confirm-btn:hover {
5517      background: #f5f5f5;
5518      border-color: #999;
5519    }
5520    .swym-consent-confirm-disclaimer {
5521      margin: 16px 0 0 0;
5522      font-size: 12px;
5523      line-height: 1.5;
5524      color: #888;
5525      font-style: italic;
5526      text-align: left;
5527    }
5528    /* First CTA (accept button) in confirmation alert has bolder font weight */
5529    .swym-consent-confirm-btn[data-swym-confirm-accept] {
5530      font-weight: 600;
5531    }
5532    @media (max-width: 480px) {
5533      .swym-consent-confirm-content {
5534        padding: 24px 20px;
5535        margin: 16px;
5536      }
5537      .swym-consent-confirm-actions {
5538        flex-direction: column;
5539      }
5540      .swym-consent-confirm-btn {
5541        width: 100%;
5542      }
5543    }
5544  </style>
5545
5546  <div id="swym-consent-popup" class="swym-consent-popup" aria-hidden="true" role="dialog" aria-modal="true" aria-labelledby="swym-consent-title"
5547    data-login-url="/customer_authentication/login?return_to=%2Fpages%2Fserious-about-serums&locale=en&ui_hint=full&region_country=US"
5548    data-local-only-title="Save your wishlist to this device?"
5549    data-local-only-message="To start your favorites list, we need to save your items to this device."
5550    data-local-only-accept="OK, Save to Device"
5551    data-local-only-decline="No, do not save"
5552    data-local-only-note="If you decline, you won&#39;t be able to add items to your wishlist."
5553    data-ghost-title="Saving more? sync your list"
5554    data-ghost-message="You have already saved {{itemCount}} of 5 items you can store on this device. For unlimited saves and accessing across devices please Log in."
5555    data-ghost-message-full="You have already saved {{itemCount}} of 5 items on this device, to save more and sync it across devices please Log in."
5556    data-ghost-disclaimer="Disclaimer: By logging in you are providing your consent to save the wishlist data."
5557    data-ghost-accept="Log in to sync"
5558    data-ghost-decline="Keep on this device"
5559    data-toast-message="Item saved! Log in to sync across all your devices."
5560    data-toast-cta="Log in to sync">
5561    <div class="swym-consent-popup-overlay" data-swym-consent-close></div>
5562    <div class="swym-consent-popup-content">
5563      <button type="button" class="swym-consent-popup-close" data-swym-consent-close aria-label="Close consent dialog">
5564        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
5565          <path d="M18 6L6 18M6 6l12 12"></path>
5566        </svg>
5567      </button>
5568      <h3 id="swym-consent-title" class="swym-consent-popup-title">Your Consent Matters</h3>
5569      <p class="swym-consent-popup-message">To save items to your wishlist and provide a personalized experience, we need your consent to store your preferences.</p>
5570      <div class="swym-consent-popup-actions">
5571        <button type="button" class="swym-consent-btn" data-swym-consent-accept>
5572          <span class="swym-consent-btn-text">Accept</span>
5573          <span class="swym-consent-spinner" aria-hidden="true"></span>
5574        </button>
5575        <button type="button" class="swym-consent-btn" data-swym-consent-decline>Decline</button>
5576      </div>
5577      <p class="swym-consent-popup-note swym-consent-popup-disclaimer"></p>
5578    </div>
5579  </div>
5580
5581  <div id="swym-consent-confirm-alert" class="swym-consent-confirm-alert" aria-hidden="true" role="alertdialog" aria-modal="true" aria-labelledby="swym-confirm-title">
5582    <div class="swym-consent-confirm-overlay" data-swym-confirm-close></div>
5583    <div class="swym-consent-confirm-content">
5584      <h3 id="swym-confirm-title" class="swym-consent-confirm-title">
5585        <svg class="swym-consent-confirm-icon" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="#d97706" stroke-width="2" aria-hidden="true" focusable="false">
5586          <path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"></path>
5587          <line x1="12" y1="9" x2="12" y2="13"></line>
5588          <line x1="12" y1="17" x2="12.01" y2="17"></line>
5589        </svg>
5590        Are you sure? keep only on this device
5591      </h3>
5592      <p class="swym-consent-confirm-message" data-confirm-message-template="You have already saved {{itemCount}} of 5 items so you won&#39;t be able to save more on this device">You have already saved {{itemCount}} of 5 items so you won&#39;t be able to save more on this device</p>
5593      <div class="swym-consent-confirm-actions">
5594        <button type="button" class="swym-consent-confirm-btn" data-swym-confirm-accept>Login and sync</button>
5595        <button type="button" class="swym-consent-confirm-btn" data-swym-confirm-decline>Yes, only on this device</button>
5596      </div>
5597      <p class="swym-consent-confirm-disclaimer">Disclaimer: By logging in you are providing your consent to save the wishlist data.</p>
5598    </div>
5599  </div>
5600
5601  <!-- BEGIN app snippet: swymLoadConsentManager -->
5602<script>
5603  (function () {
5604    if (document.querySelector("script[data-swym-consent-manager]")) return;
5605    var swymConsentManagerScript = document.createElement("script");
5606    swymConsentManagerScript.src = "https:\/\/cdn.shopify.com\/extensions\/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8\/swym-relay-839\/assets\/swym-consent-manager.js";
5607    swymConsentManagerScript.async = false; // run in insertion order once fetched, instead of whenever fetch resolves
5608    swymConsentManagerScript.setAttribute("data-swym-consent-manager", "true");
5609    document.head.appendChild(swymConsentManagerScript);
5610  })();
5611</script>
5611
5612<!-- END app snippet -->
5613
5614<!-- END app snippet -->
5615<!-- BEGIN app snippet: swymGhostWishlistDrawer -->
5616
5617
5618<div id="swym-ghost-wishlist-data" style="display:none"
5619  data-title="My Wishlist"
5620  data-empty-title="Your wishlist is empty"
5621  data-empty-description="Add items to your wishlist and see them here"
5622  data-add-to-cart="Add to Cart"
5623  data-added-to-cart="Added to Cart"
5624  data-remove="Remove"
5625  data-view-product="View Product"
5626  data-consent-cta="Sync across devices"
5627  data-items-count="{{count}} items"
5628  data-close="Close"
5629></div>
5630
5631<style id="swym-ghost-wishlist-drawer-styles">
5632  /* Ghost Wishlist Drawer — overlay */
5633  .swym-ghost-wl-overlay {
5634    position: fixed;
5635    top: 0;
5636    left: 0;
5637    width: 100%;
5638    height: 100%;
5639    background: rgba(0, 0, 0, 0.4);
5640    z-index: 999998;
5641    opacity: 0;
5642    visibility: hidden;
5643    transition: opacity 0.3s ease, visibility 0.3s ease;
5644  }
5645  .swym-ghost-wl-overlay-visible {
5646    opacity: 1;
5647    visibility: visible;
5648  }
5649
5650  /* Ghost Wishlist Drawer — drawer panel */
5651  .swym-ghost-wl-drawer {
5652    position: fixed;
5653    top: 0;
5654    right: 0;
5655    width: 400px;
5656    max-width: 90vw;
5657    height: 100%;
5658    background: #fff;
5659    z-index: 999999;
5660    display: flex;
5661    flex-direction: column;
5662    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
5663    transform: translateX(100%);
5664    transition: transform 0.3s ease;
5665  }
5666  .swym-ghost-wl-drawer-open {
5667    transform: translateX(0);
5668  }
5669
5670  /* Drawer header */
5671  .swym-ghost-wl-header {
5672    display: flex;
5673    align-items: center;
5674    justify-content: space-between;
5675    padding: 20px 24px;
5676    border-bottom: 1px solid #eee;
5677    flex-shrink: 0;
5678  }
5679  .swym-ghost-wl-header-left {
5680    display: flex;
5681    align-items: baseline;
5682    gap: 8px;
5683  }
5684  .swym-ghost-wl-title {
5685    margin: 0;
5686    font-size: 18px;
5687    font-weight: 600;
5688    color: #111;
5689    line-height: 1.2;
5690  }
5691  .swym-ghost-wl-count {
5692    font-size: 13px;
5693    color: #888;
5694    font-weight: 400;
5695  }
5696  .swym-ghost-wl-close {
5697    background: none;
5698    border: none;
5699    cursor: pointer;
5700    padding: 4px;
5701    color: #666;
5702    transition: color 0.15s ease;
5703    display: flex;
5704    align-items: center;
5705    justify-content: center;
5706  }
5707  .swym-ghost-wl-close:hover {
5708    color: #000;
5709  }
5710
5711  /* Items list (scrollable) */
5712  .swym-ghost-wl-items {
5713    flex: 1;
5714    overflow-y: auto;
5715    padding: 16px 24px;
5716  }
5717
5718  /* Empty state */
5719  .swym-ghost-wl-empty {
5720    display: flex;
5721    flex-direction: column;
5722    align-items: center;
5723    justify-content: center;
5724    text-align: center;
5725    padding: 60px 20px;
5726    color: #999;
5727  }
5728  .swym-ghost-wl-empty svg {
5729    margin-bottom: 16px;
5730    opacity: 0.5;
5731  }
5732  .swym-ghost-wl-empty-title {
5733    margin: 0 0 8px;
5734    font-size: 16px;
5735    font-weight: 600;
5736    color: #555;
5737  }
5738  .swym-ghost-wl-empty-desc {
5739    margin: 0;
5740    font-size: 14px;
5741    color: #888;
5742    line-height: 1.5;
5743  }
5744
5745  /* Product tile */
5746  .swym-ghost-wl-item {
5747    display: flex;
5748    gap: 16px;
5749    padding: 16px 0;
5750    border-bottom: 1px solid #f0f0f0;
5751  }
5752  .swym-ghost-wl-item:last-child {
5753    border-bottom: none;
5754  }
5755
5756  /* Product image */
5757  .swym-ghost-wl-item-image-link {
5758    flex-shrink: 0;
5759    width: 90px;
5760    height: 90px;
5761    display: block;
5762    text-decoration: none;
5763  }
5764  .swym-ghost-wl-item-image {
5765    width: 90px;
5766    height: 90px;
5767    object-fit: cover;
5768    border-radius: 8px;
5769    background: #f5f5f5;
5770    display: block;
5771  }
5772  .swym-ghost-wl-item-image-placeholder {
5773    width: 90px;
5774    height: 90px;
5775    border-radius: 8px;
5776    background: #f5f5f5;
5777    display: flex;
5778    align-items: center;
5779    justify-content: center;
5780  }
5781
5782  /* Product info */
5783  .swym-ghost-wl-item-info {
5784    flex: 1;
5785    display: flex;
5786    flex-direction: column;
5787    justify-content: center;
5788    min-width: 0;
5789  }
5790  .swym-ghost-wl-item-title {
5791    font-size: 14px;
5792    font-weight: 500;
5793    color: #111;
5794    text-decoration: none;
5795    line-height: 1.4;
5796    margin-bottom: 4px;
5797    display: -webkit-box;
5798    -webkit-line-clamp: 2;
5799    -webkit-box-orient: vertical;
5800    overflow: hidden;
5801  }
5802  .swym-ghost-wl-item-title:hover {
5803    text-decoration: underline;
5804  }
5805  .swym-ghost-wl-item-price {
5806    font-size: 14px;
5807    font-weight: 600;
5808    color: #111;
5809    margin-bottom: 10px;
5810  }
5811
5812  /* Action buttons row */
5813  .swym-ghost-wl-item-actions {
5814    display: flex;
5815    align-items: center;
5816    gap: 10px;
5817  }
5818  .swym-ghost-wl-item-atc {
5819    display: inline-flex;
5820    align-items: center;
5821    justify-content: center;
5822    padding: 6px 14px;
5823    font-size: 12px;
5824    font-weight: 500;
5825    color: #fff;
5826    background: #111;
5827    border: 1px solid #111;
5828    border-radius: 4px;
5829    cursor: pointer;
5830    text-decoration: none;
5831    transition: background 0.15s ease;
5832    white-space: nowrap;
5833  }
5834  .swym-ghost-wl-item-atc:hover {
5835    background: #333;
5836    color: #fff;
5837    text-decoration: none;
5838  }
5839  /* Add to Cart — loading spinner */
5840  .swym-ghost-wl-atc-spinner {
5841    display: none;
5842    width: 12px;
5843    height: 12px;
5844    border: 2px solid rgba(255,255,255,0.3);
5845    border-top-color: #fff;
5846    border-radius: 50%;
5847    animation: swym-ghost-wl-spin 0.6s linear infinite;
5848    margin-left: 6px;
5849  }
5850  .swym-ghost-wl-atc-loading .swym-ghost-wl-atc-spinner {
5851    display: inline-block;
5852  }
5853  .swym-ghost-wl-atc-loading {
5854    opacity: 0.7;
5855    pointer-events: none;
5856  }
5857  /* Add to Cart — added state (keeps same style, just disabled) */
5858  .swym-ghost-wl-atc-added {
5859    pointer-events: none;
5860    opacity: 0.8;
5861  }
5862  @keyframes swym-ghost-wl-spin {
5863    to { transform: rotate(360deg); }
5864  }
5865  .swym-ghost-wl-item-soldout {
5866    font-size: 12px;
5867    color: #999;
5868    font-weight: 500;
5869  }
5870  .swym-ghost-wl-item-remove {
5871    background: none;
5872    border: none;
5873    cursor: pointer;
5874    padding: 4px;
5875    color: #999;
5876    transition: color 0.15s ease;
5877    display: flex;
5878    align-items: center;
5879    justify-content: center;
5880  }
5881  .swym-ghost-wl-item-remove:hover {
5882    color: #e53e3e;
5883  }
5884
5885  /* Footer with consent CTA */
5886  .swym-ghost-wl-footer {
5887    padding: 16px 24px;
5888    border-top: 1px solid #eee;
5889    flex-shrink: 0;
5890  }
5891  .swym-ghost-wl-consent-btn {
5892    width: 100%;
5893    padding: 12px 20px;
5894    font-size: 14px;
5895    font-weight: 500;
5896    color: #111;
5897    background: #fff;
5898    border: 1px solid #ddd;
5899    border-radius: 6px;
5900    cursor: pointer;
5901    transition: all 0.15s ease;
5902    text-align: center;
5903  }
5904  .swym-ghost-wl-consent-btn:hover {
5905    background: #f5f5f5;
5906    border-color: #ccc;
5907  }
5908
5909  /* Responsive */
5910  @media (max-width: 480px) {
5911    .swym-ghost-wl-drawer {
5912      width: 100%;
5913      max-width: 100vw;
5914    }
5915    .swym-ghost-wl-header {
5916      padding: 16px 16px;
5917    }
5918    .swym-ghost-wl-items {
5919      padding: 12px 16px;
5920    }
5921    .swym-ghost-wl-item-image-link,
5922    .swym-ghost-wl-item-image,
5923    .swym-ghost-wl-item-image-placeholder {
5924      width: 72px;
5925      height: 72px;
5926    }
5927    .swym-ghost-wl-footer {
5928      padding: 12px 16px;
5929    }
5930  }
5931</style>
5932
5933<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-ghost-wishlist-drawer.js" defer></script>
5933
5934<!-- END app snippet -->
5935
5936
5937
5938
5939  <!-- BEGIN app snippet: swymHeaderIcon -->
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949  
5950  <a id="swym-advanced-header-icon"
5951      class="swym-advanced-header-icon swym-header-icon-wrapper"
5952      href="#"
5953      aria-label="Wishlist"
5954      aria-haspopup="dialog"
5955      aria-expanded="false"
5956      >
5957    <span class="swym-header-icon-html">
5958      
5959<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24" fill="none" aria-hidden="true" focusable="false"><path d="M19.6706 5.4736C17.6806 3.8336 14.7206 4.1236 12.8906 5.9536L12.0006 6.8436L11.1106 5.9536C9.29063 4.1336 6.32064 3.8336 4.33064 5.4736C2.05064 7.3536 1.93063 10.7436 3.97063 12.7836L11.6406 20.4536C11.8406 20.6536 12.1506 20.6536 12.3506 20.4536L20.0206 12.7836C22.0706 10.7436 21.9506 7.3636 19.6706 5.4736Z" stroke="currentColor" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"></path></svg>
5960
5961      <span class="swym-header-icon-count-bubble" aria-live="polite" aria-atomic="true" style="display: none;">
5962        <span class="swym-header-icon-count" data-swym-count>0</span>
5963      </span>
5964    </span>
5965  </a>
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996<script>
5997  // Initialize configuration object immediately
5998  window.swymAdvancedHeaderIconConfig = window.swymAdvancedHeaderIconConfig || {};
5999  window.swymAdvancedHeaderIconConfig.iconHtml = "\n\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\"\u003e\u003cpath d=\"M19.6706 5.4736C17.6806 3.8336 14.7206 4.1236 12.8906 5.9536L12.0006 6.8436L11.1106 5.9536C9.29063 4.1336 6.32064 3.8336 4.33064 5.4736C2.05064 7.3536 1.93063 10.7436 3.97063 12.7836L11.6406 20.4536C11.8406 20.6536 12.1506 20.6536 12.3506 20.4536L20.0206 12.7836C22.0706 10.7436 21.9506 7.3636 19.6706 5.4736Z\" stroke=\"currentColor\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n";
6000  window.swymAdvancedHeaderIconConfig.countBubbleHtml = "\n\u003cspan class=\"swym-header-icon-count\" data-swym-count\u003e{{WISHLIST_COUNT}}\u003c\/span\u003e\n";
6001  window.swymAdvancedHeaderIconConfig.attachSelectorDesktop = "#wishlist-header";
6002  window.swymAdvancedHeaderIconConfig.attachSelectorMobile = "#wishlist-header";
6003  window.swymAdvancedHeaderIconConfig.hasCustomIconHtml = 1;
6004  window.swymAdvancedHeaderIconConfig.hasCustomCountBubbleHtml = 1;
6005  window.swymAdvancedHeaderIconConfig.ariaLabel = "Wishlist";
6006  
6007    window.swymAdvancedHeaderIconConfig.showWishlistCount = true;
6008  
6009</script>
6009
6010
6011<style id="swym-advanced-header-icon-styles">
6012
6013/* Header Icon Container (anchor tag with both classes) */
6014.swym-advanced-header-icon {
6015  position: relative;
6016  display: inline-flex;
6017  align-items: center;
6018  justify-content: center;
6019  text-decoration: none;
6020  color: inherit;
6021  cursor: pointer;
6022  transition: opacity 0.2s ease;
6023}
6024
6025.swym-advanced-header-icon:hover {
6026  opacity: 0.7;
6027}
6028
6029/* Focus visibility (WCAG 2.4.7) — use currentColor so the ring inherits the
6030   merchant's own link/icon colour and remains visible across all themes */
6031.swym-advanced-header-icon:focus-visible {
6032  outline: 2px solid currentColor;
6033  outline-offset: 2px;
6034}
6035
6036/* Header Icon HTML Container - positioning context for count bubble */
6037.swym-header-icon-html {
6038  position: relative;
6039  display: inline-flex;
6040  align-items: center;
6041  justify-content: center;
6042}
6043
6044/* Header Icon SVG */
6045.swym-header-icon-svg {
6046  width: 24px;
6047  height: 24px;
6048  display: block;
6049}
6050
6051/* Header Icon Count Bubble Container */
6052.swym-header-icon-count-bubble {
6053  position: absolute;
6054  top: -7px;
6055  right: -7px;
6056  display: flex;
6057  align-items: center;
6058  justify-content: center;
6059}
6060
6061/* Header Icon Count Badge */
6062.swym-header-icon-count {
6063  min-width: 18px;
6064  height: 18px;
6065  padding: 0 5px;
6066  font-size: 11px;
6067  font-weight: 600;
6068  line-height: 18px;
6069  text-align: center;
6070  color: #fff;
6071  background-color: #000;
6072  border-radius: 50%;
6073}
6074
6075/* Hide count when zero */
6076.swym-header-icon-count:empty,
6077.swym-header-icon-count[data-count="0"] {
6078  display: none;
6079}
6080
6081/* Loading state */
6082.swym-advanced-header-icon.swym-loading {
6083  opacity: 0.5;
6084  pointer-events: none;
6085}
6086
6087/* ACCESSIBILITY IMPROVEMENTS */
6088@media (prefers-reduced-motion: reduce) {
6089  .swym-advanced-header-icon {
6090    transition: none;
6091  }
6092}
6093
6094
6095/* Ensure icon is always visible regardless of consent state */
6096.swym-advanced-header-icon,
6097#swym-advanced-header-icon,
6098#swym-advanced-header-icon-mobile {
6099  display: inline-flex !important;
6100  visibility: visible !important;
6101  opacity: 1 !important;
6102}
6103
6104/* Loading state overrides the above */
6105.swym-advanced-header-icon.swym-loading {
6106  opacity: 0.5 !important;
6107}
6108
6109/* Hide old SDK header launcher if advanced header icon is enabled */
6110.swym-header-launcher,
6111#swym-header-launcher {
6112  display: none !important;
6113}
6114</style>
6115
6116
6117<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/advanced-header-icon.js" defer></script>
6117
6118<!-- END app snippet -->
6119
6120
6121
6122  <!-- BEGIN app snippet: advancedCollectionsWishlist -->
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158<script
6159  id="swym-advanced-wishlist-collections-config"
6160>
6161  window.SwymAdvancedCollectionsWishlistConfig = {
6162    beforeHtml: "\u003cbutton type=\"button\" class=\"swym-advanced-wishlist-collections\" aria-label=\"{{ADD_TO_WISHLIST}}\" aria-pressed=\"false\" style=\"color:{{ICON_COLOR}}; transform:{{ICON_POSITION}};\"\u003e\n  \u003cdiv class=\"swym-advanced-wishlist-collections-social-count\"\u003e\n    {{SOCIAL_COUNT}}\n  \u003c\/div\u003e\n  \u003cdiv class=\"swym-icon-bg\"\u003e\n    \u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n      \u003cpath d=\"M19.6706 5.4736C17.6806 3.8336 14.7206 4.1236 12.8906 5.9536L12.0006 6.8436L11.1106 5.9536C9.29063 4.1336 6.32064 3.8336 4.33064 5.4736C2.05064 7.3536 1.93063 10.7436 3.97063 12.7836L11.6406 20.4536C11.8406 20.6536 12.1506 20.6536 12.3506 20.4536L20.0206 12.7836C22.0706 10.7436 21.9506 7.3636 19.6706 5.4736Z\" stroke=\"{{ICON_COLOR}}\" stroke-width=\"{{ICON_WIDTH}}\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n    \u003c\/svg\u003e\n  \u003c\/div\u003e\n\u003c\/button\u003e",
6163    afterHtml: "\u003cbutton type=\"button\" class=\"swym-advanced-wishlist-collections\" aria-label=\"{{ADDED_TO_WISHLIST}}\" aria-pressed=\"true\" style=\"color:{{ICON_COLOR}}; transform:{{ICON_POSITION}};\"\u003e\n  \u003cdiv class=\"swym-advanced-wishlist-collections-social-count\"\u003e\n    {{SOCIAL_COUNT}}\n  \u003c\/div\u003e\n  \u003cdiv class=\"swym-icon-bg\"\u003e\n    \u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n      \u003cpath d=\"M19.6706 5.4736C17.6806 3.8336 14.7206 4.1236 12.8906 5.9536L12.0006 6.8436L11.1106 5.9536C9.29063 4.1336 6.32064 3.8336 4.33064 5.4736C2.05064 7.3536 1.93063 10.7436 3.97063 12.7836L11.6406 20.4536C11.8406 20.6536 12.1506 20.6536 12.3506 20.4536L20.0206 12.7836C22.0706 10.7436 21.9506 7.3636 19.6706 5.4736Z\" stroke=\"{{ICON_COLOR}}\" stroke-width=\"{{ICON_WIDTH}}\" fill=\"{{ICON_COLOR}}\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n    \u003c\/svg\u003e\n  \u003c\/div\u003e\n\u003c\/button\u003e",
6164    ariaLabels: {
6165      viewWishlist: "Item Added. View Wishlist",
6166      addToWishlist: "Add to Wishlist",
6167      removeFromWishlist: "Remove from Wishlist",
6168      wishlistAddedAnnouncement: " people wishlisted this"
6169    },
6170    socialCountEnabled: false,
6171    iconColor: "#000000",
6172    iconWidth: "1.7",
6173    iconPosition: "top-left",
6174    buttonWidth: 60,
6175    buttonHeight: 40,
6176    shouldCalculatePosition: false,
6177    socialCountCharWidth: 8,
6178    socialCountPadding: 5,
6179    variantSelectorEnabled: true,
6180    variantSelectorChooseCreateText: "Choose or Create new wishlist",
6181    variantSelectorCreateListPlaceholder: "Enter wish list name",
6182    variantSelectorCreateListTitle: "Name Your Wishlist",
6183    ProductUrlSelector: "div.wrapper-title-type \u003e div.title \u003e a",
6184    AttachButtonSelector: ".product-card-redesign \u003e *",
6185    isCollectionPage: false,
6186    disabledProductPaths: []
6187  };
6188
6189  // Theme selectors for automated button injection
6190  
6191
6192  // Overwrite variant selector text strings with retailer settings once _swat is ready
6193  window.SwymCallbacks = window.SwymCallbacks || [];
6194  window.SwymCallbacks.push(function() {
6195    var s = (window._swat && window._swat.retailerSettings && window._swat.retailerSettings.Strings) || {};
6196    var c = window.SwymAdvancedCollectionsWishlistConfig;
6197    if (s.CollectionsVariantSelectorChooseActionText) c.variantSelectorChooseCreateText = s.CollectionsVariantSelectorChooseActionText;
6198    if (s.CollectionsCreateListPlaceholder) c.variantSelectorCreateListPlaceholder = s.CollectionsCreateListPlaceholder;
6199    if (s.CollectionsCreateListTitle) c.variantSelectorCreateListTitle = s.CollectionsCreateListTitle;
6200  });
6201</script>
6201
6202
6203<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/advanced-collections-wishlist.js" defer></script>
6203
6204
6205<style id="swym-advanced-wishlist-collections-styles">
6206  .swym-advanced-wishlist-collections-container {
6207  position: absolute;
6208  top: 0;
6209  left: 0;
6210  padding: 10px;
6211  z-index: 5;
6212  cursor: pointer;
6213  width: 60px;
6214  height: 40px;
6215}
6216
6217.swym-advanced-wishlist-collections,
6218.swym-advanced-wishlist-collections svg {
6219  cursor: pointer;
6220  background: unset;
6221  border: none;
6222  box-shadow: none;
6223  display: flex;
6224  align-items: center;
6225  flex-direction: row-reverse;
6226  gap: 5px;
6227  color: currentColor;
6228  min-width: 24px;
6229  min-height: 24px;
6230}
6231
6232button.swym-advanced-wishlist-collections:hover {
6233  background: none;
6234  border: none;
6235  box-shadow: none;
6236}
6237
6238.swym-advanced-wishlist-collections svg path {
6239  stroke: currentColor;
6240}
6241
6242.swym-advanced-wishlist-collections .swym-advanced-wishlist-collections-social-count {
6243  font-size: 14px;
6244  font-weight: 500;
6245  color: currentColor;
6246}
6247
6248.swym-sr-only {
6249  clip: rect(0 0 0 0);
6250  clip-path: inset(50%);
6251  height: 1px;
6252  width: 1px;
6253  overflow: hidden;
6254  white-space: nowrap;
6255  position: absolute;
6256}
6257
6258/* Circular background for icon */
6259.swym-circular-bg button.swym-advanced-wishlist-collections {
6260  position: relative;
6261  flex-direction: unset;
6262  padding: 0;
6263  background: none;
6264  border: none;
6265  box-shadow: none;
6266}
6267
6268.swym-circular-bg .swym-icon-bg {
6269  display: inline-flex;
6270  align-items: center;
6271  justify-content: center;
6272  width: 36px;
6273  height: 36px;
6274  border-radius: 50%;
6275  background: #fff;
6276  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
6277}
6278
6279/*for active*/
6280/* Make button position: relative so badge positions correctly */
6281.swym-circular-bg .swym-advanced-wishlist-collections {
6282  position: relative;
6283}
6284
6285/* Badge styling when social count is active */
6286.swym-circular-bg .swym-social-count-active {
6287  position: absolute;
6288  top: -6px;
6289  right: -6px;
6290  background: #000000;
6291  color: #FFFFFF;
6292  border-radius: 50%;
6293  width: 16px;
6294  height: 16px;
6295  font-size: 10px;
6296  font-weight: 600;
6297  line-height: 16px;
6298  text-align: center;
6299  z-index: 1;
6300}
6301</style>
6302<!-- END app snippet -->
6303
6304
6305
6306
6307 <!-- BEGIN app snippet: swymVariantSelector --><div class="swym-variant-selector-modal-background swym-hide-container">
6308  <div class="swym-collections-variant-popup-parent"></div>
6309</div>
6310<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/variantSelector.js" defer></script>
6310
6311<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/variantSelector.css">
6312<style data-shopify>
6313.swym-collections-variant-popup-header {
6314  display: flex;
6315  justify-content: space-between;
6316  align-items: center;
6317  border-bottom: 1px solid #EBEBEB;
6318  padding: 8px 16px;
6319}
6320div.swym-collections-variant-popup-content {
6321  background: #fff;
6322  padding-top: 1rem;
6323  padding-left: 16px;
6324  padding-right: 16px;
6325  padding-bottom: 16px;
6326}
6327.swym-variant-selector-modal-background .swym-collections-variant-popup-parent.swym-variant-selector-lists-view {
6328  background: #fff;
6329}
6330div.swym-collections-variant-popup-header {
6331  background: #fff;
6332}
6333.swym-hidden {
6334  display: none !important;
6335}
6336#swym-custom-variant-selector-parent #swym-custom-variant-selector-container .swym-filter-option-name,
6337.swym-collections-variant-popup-content #swym-vs-actions-container #swym-custom-wishlist-actions-title {
6338  color: #000;
6339}
6340div.swym-collections-variant-popup-parent div.swym-collections-variant-popup-header h1.swym-collections-variant-popup-header-title,
6341.swym-collections-variant-popup-content .swym-collection-title-detail h2#swym-custom-product-title {
6342  color: #333;
6343}
6344#swym-custom-variant-selector-parent #swym-custom-variant-selector-container label.swym-filter-labels.selected {
6345  color: #fff;
6346  background: #292929;
6347}
6348.swym-font-size-14 {
6349  font-size: 14
6350}
6351.swym-font-size-12 {
6352  font-size: 
6353}
6354.swym-font-size-16 {
6355  font-size: 
6356}
6357.swym-collections-variant-popup-content-container .swym-collections-variant-popup-content .swym-add-to-wishlist-1, 
6358div.swym-variant-selector-lists-btn-container button:nth-child(2),
6359#swym-create-list-button-wrapper button#swym-custom-confirm-list-button {
6360  background: #292929;
6361  color: #fff;
6362}
6363#swym-custom-wishlist-container
6364  .swym-variant-selector-wishlist-item
6365  .swym-variant-selector-list-name
6366  .swym-variant-selector-status {
6367    background: #292929;
6368  color: #fff;
6369}
6370div.swym-vs-spinner {
6371  color: #fff
6372}
6373</style><!-- END app snippet --> 
6374
6375
6376</div>
6376<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
6376
6377</body>
6378</html>
6379						

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.