{
  "version": 3,
  "sources": ["/cdn/shop/t/69/assets/variant-ai-search.js"],
  "sourcesContent": ["(function(){\"use strict\";/* TNF Ask-TNF tips + blog recs + product recs + single-product-question->Gigit Q&A routing (additive) */var TNF_TIP_MAP=[{rx:/cookie\\s*dough|cookiedough|edible\\s+dough/i,tip:\"FUUL Protein Cookie Dough Bites \u2014 ready-to-eat high-protein cookie dough in Chocolate Chip and Fudge Brownie, up to 15g protein per serving. A rare find we ship across Canada from Montreal.\",header:\"Protein cookie dough:\",links:[{title:\"FUUL Protein Cookie Dough Bites\",url:\"/products/fuul-protein-cookie-dough-bites\"}],pq:\"cookie dough\"},{rx:/barebells\\s+(candy|gummies|gummy|soft\\s*candy)|barebells[\\w\\s]{0,12}(gumm|candy)/i,tip:\"Barebells Soft Candy (gummies) \u2014 1g sugar, 100 cal, high-fibre, in Peach, Sour Cola & Watermelon. We're the first retailer in Canada to carry them.\",header:\"Barebells Soft Candy:\",links:[{title:\"Barebells Soft Candy & Gummies in Canada\",url:\"/pages/barebells-candy-canada\"},{title:\"Where to Buy Barebells Soft Candy\",url:\"/blogs/blogs-main-page/where-to-buy-barebells-soft-candy-gummies-in-canada-2026-guide\"},{title:\"Shop Barebells Gummies\",url:\"/products/barebells-gummy-candy-55g-1-bag\"}],pq:\"barebells gummies\"},{rx:/christmas|xmas|holiday (gift|present|season|shopping)|stocking stuffer/i,tip:\"\uD83C\uDF84 Looking for holiday gifts? Our Christmas & Holiday Gift Guide has stocking stuffers, gift bundles, giftable snacks & chocolate, and gift cards.\",header:\"Holiday gift guide:\",links:[{title:\"Christmas & Holiday Gift Guide\",url:\"/pages/christmas-holiday-gift-guide-canada\"},{title:\"Gift Card\",url:\"/products/gift-card\"}],pq:\"\"},{rx:/valentine'?s?( day)?|valentines/i,tip:\"\uD83D\uDC9D For Valentine\u2019s, our guide has protein & sugar-free chocolate, PB cups and giftable sweets.\",header:\"Valentine\u2019s gifts:\",links:[{title:\"Valentine\u2019s Protein Chocolate & Sweet Gifts\",url:\"/pages/valentines-protein-chocolate-gifts-canada\"}],pq:\"\"},{rx:/mother'?s day|mothers day|(gift|present)s?[\\w\\s]{0,10}(for )?(mom|mum|mother)|mom gift/i,tip:\"\uD83D\uDC90 For Mom: our Mother\u2019s Day guide has collagen, greens, women\u2019s multivitamins, protein and giftable bundles.\",header:\"Mother\u2019s Day gifts:\",links:[{title:\"Mother\u2019s Day Wellness & Protein Gifts\",url:\"/pages/mothers-day-wellness-gifts-canada\"}],pq:\"\"},{rx:/\\beaster\\b/i,tip:\"\uD83D\uDC07 For Easter, see our sugar-free chocolate & protein treats \u2014 healthier basket fillers.\",header:\"Easter treats:\",links:[{title:\"Easter Sugar-Free Chocolate & Protein Treats\",url:\"/blogs/top-nutrition-academy/easter-sugar-free-chocolate-protein-treats-canada\"}],pq:\"\"},{rx:/ramadan|suhoor|iftar|\\beid\\b|fasting (snack|protein|meal)/i,tip:\"\uD83C\uDF19 For Ramadan, our Suhoor & Iftar guide covers sustained-energy protein, hydration/electrolytes and easy high-protein options.\",header:\"Ramadan guide:\",links:[{title:\"Ramadan High-Protein Suhoor & Iftar Guide\",url:\"/pages/ramadan-high-protein-suhoor-iftar-canada\"}],pq:\"\"},{rx:/protein (snickers|mars|bounty|twix|kit ?kat|reese'?s?|milky ?way|m&m'?s?|m and m'?s?|candy bar|chocolate bar)|(snickers|mars|m&m'?s?|reese'?s?|twix|kit ?kat) protein|protein version of|copycat (candy|chocolate|bar)|healthier (snickers|mars|m&m)/i,tip:\"Craving a candy bar? We stock protein versions of the classics \u2014 Snickers, Mars, M&M\u2019s, Reese\u2019s and more. Here\u2019s the full lineup with macros vs the originals.\",header:\"Protein candy bars & M&M\u2019s:\",links:[{title:\"Protein Versions of Candy Bars & M&M\u2019s\",url:\"/pages/protein-versions-of-candy-bars-canada\"},{title:\"Protein Candy\",url:\"/pages/protein-candy-canada\"}],pq:\"protein candy bar\"},{rx:/ninja creami|\\bcreami\\b|protein ice[- ]?cream|nice cream/i,tip:\"Making protein ice cream? Here are our best Ninja Creami recipes \u2014 including dairy-free & vegan \u2014 plus the protein bases that work best.\",header:\"Ninja Creami & protein ice cream:\",links:[{title:\"Best Ninja Creami Recipes\",url:\"/pages/best-ninja-creami-recipes-canada\"},{title:\"Best Protein Ice Cream\",url:\"/pages/best-protein-ice-cream-canada\"},{title:\"Dairy-Free & Vegan Ninja Creami\",url:\"/blogs/recipes-1/dairy-free-vegan-ninja-creami-protein-ice-cream-canada\"}],pq:\"\"},{rx:/keto (starter|beginner|beginners|shopping list|grocery|for beginners|getting started|how (do i|to) start)|start(ing)? keto|new to keto|keto (kit|basics)|first keto/i,tip:\"New to keto? Start here \u2014 our Keto Starter Kit walks you through your first low-carb order, category by category.\",header:\"Keto starter kit:\",links:[{title:\"Keto Starter Kit (Beginner Shopping List)\",url:\"/pages/keto-starter-kit-canada\"},{title:\"Best Keto Food Alternatives\",url:\"/pages/best-keto-food-alternatives-canada\"}],pq:\"\"},{rx:/15\\s*%|welcome (code|offer|discount)|discount code|promo code|coupon( code)?|sign[- ]?up code|didn'?t (get|receive)[\\w\\s]{0,20}(code|discount)|where'?s my (code|discount)|my (15|discount|welcome) ?(off )?code/i,tip:\"Didn\u2019t get your 15%-off code? 1) Open our app and turn on notifications \u2014 the code is delivered as a push notification. 2) If you already declined notifications, delete the app, reinstall it, and tap Allow when it asks. 3) Still nothing? Email us and we\u2019ll send it to you directly.\",header:\"Need a hand?\",links:[{title:\"Contact us / email\",url:\"/pages/contact-us\"}],pq:\"\"},{rx:/speak (to|with) (a )?(human|someone|person|agent|rep)|talk to (a )?(human|someone|person|rep)|customer (service|support)|contact (you|us)|reach (you|someone|a human)|real person|live (help|chat|agent)/i,tip:\"Happy to help! Our team answers by email \u2014 send us a note and we\u2019ll get right back to you.\",header:\"Contact us:\",links:[{title:\"Email us\",url:\"/pages/contact-us\"}],pq:\"\"},{rx:/shipping|deliver(y|ies|ed)?|how long[\\w\\s]{0,20}(arrive|ship|deliver)|when will[\\w\\s]{0,20}(arrive|ship)|do you ship|ship to (canada|usa|us|the states|quebec|ontario|bc|alberta)|free shipping|track(ing)? (my )?order|where'?s my order|order status/i,tip:\"Great question \u2014 our full shipping, delivery-time and order-tracking details are on our FAQ page.\",header:\"Shipping & delivery:\",links:[{title:\"Shipping & delivery FAQ\",url:\"/pages/faq-full\"}],pq:\"\"},{rx:/return(s|ing|ed)?|refund|exchange|money[- ]?back/i,tip:\"You\u2019ll find our return, refund and exchange policy on our FAQ page.\",header:\"Returns & refunds:\",links:[{title:\"Returns & refunds FAQ\",url:\"/pages/faq-full\"}],pq:\"\"},{rx:/store location|your address|where are you (located|based)|physical store|in[- ]?store|pick ?up|curbside|visit (the|your|our) store|store hours|opening hours|what time[\\w\\s]{0,15}open|are you open|montreal store/i,tip:\"We\u2019re based in Montreal with same-day local options. Store details, hours and pickup info are on our contact page.\",header:\"Find us:\",links:[{title:\"Contact & store info\",url:\"/pages/contact-us\"}],pq:\"\"},{rx:/\\bpoints\\b|\\brewards?\\b|loyalty|redeem|earn points/i,tip:\"Yes \u2014 we have a rewards program: earn points on every order and redeem them for savings. Details here.\",header:\"Rewards:\",links:[{title:\"Rewards program\",url:\"/pages/top-nutrition-fitness-rewards\"}],pq:\"\"},{rx:/konjac|shirataki|diva\\s*rice|low[- ]?carb\\s+(rice|pasta|noodle)|zero\\s*carb\\s+(rice|pasta|noodle)|miracle (rice|noodle)/i,tip:\"Love low-carb rice & pasta swaps? Here are our guides on konjac / Diva Rice \u2014 how to cook it and how to use it.\",header:\"Low-carb rice & pasta:\",links:[{title:\"Best Keto Pasta & Rice Alternatives\",url:\"/blogs/blogs-main-page/best-keto-pasta-rice-alternatives-canada-2026\"},{title:\"How to Cook Konjac / Diva Rice\",url:\"/blogs/recipes-1/how-to-cook-dry-konjac-rice-diva-rice-canada\"},{title:\"Diva Rice for Diabetics & Low-Sugar Pairings\",url:\"/blogs/top-nutrition-academy/diva-rice-for-diabetics-low-sugar-pairings-canada\"}],pq:\"konjac rice\"},{rx:/protein candy|\\bcandy\\b|protein gummies?|sour (candy|gummies?|strips)|gummy bears?/i,tip:\"Craving something sweet? Check out our protein & low-sugar candy picks.\",header:\"Protein & low-sugar candy:\",links:[{title:\"Protein Candy\",url:\"/pages/protein-candy-canada\"},{title:\"Best Low-Sugar Candy\",url:\"/pages/best-low-sugar-candy-canada\"},{title:\"Best Keto Chocolate & Candy\",url:\"/pages/best-keto-chocolate-candy-canada\"}],pq:\"protein candy\"},{rx:/lactose[- ]?free|dairy[- ]?free|no dairy|without dairy|dairy intoleran|lactose intoleran/i,tip:\"We\u2019ve got you \u2014 here are our dairy-free & lactose-free protein and snack picks.\",header:\"Dairy-free & lactose-free:\",links:[{title:\"Dairy-Free Snacks\",url:\"/pages/dairy-free-snacks-canada\"},{title:\"Dairy-Free & Lactose-Free Protein\",url:\"/blogs/top-nutrition-academy/dairy-free-lactose-free-protein-canada-2026\"},{title:\"Meal Replacement Shakes\",url:\"/pages/best-meal-replacement-shakes-canada\"}],pq:\"lactose free protein\"},{rx:/casein|night[- ]?time protein|nighttime protein|slow[- ]?(digest\\w*|release) protein|before bed protein|overnight protein|clear (whey|protein|isolate)/i,tip:\"For slow-digesting or before-bed protein, casein and clear-whey are your friends \u2014 here\u2019s our full breakdown.\",header:\"Casein & night-time protein:\",links:[{title:\"Best Casein & Night-Time Protein\",url:\"/pages/best-casein-night-time-protein-canada\"},{title:\"Casein vs Whey vs Clear Protein\",url:\"/blogs/top-nutrition-academy/best-casein-night-time-protein-canada\"}],pq:\"casein protein\"},{rx:/low[- ]?cal(orie)?|under \\d{2,3}\\s*cal|\\d{2,3}\\s*cal(orie)? snack|light snack/i,tip:\"Want something light? Here are our lowest-calorie bars and snacks.\",header:\"Low-calorie snacks:\",links:[{title:\"Best Low-Calorie Bars\",url:\"/pages/best-low-calorie-bars-canada\"},{title:\"Calorie-Conscious Snacks\",url:\"/pages/calorie-conscious-snacks-canada\"},{title:\"High-Protein Snacks Under 200 Cal\",url:\"/blogs/blogs-main-page/best-high-protein-snacks-under-200-calories-canada\"}],pq:\"low calorie protein snack\"},{rx:/ready[- ]?to[- ]?drink|\\brtd\\b|protein shake(s)?|pre[- ]?made (shake|drink)|protein drink(s)?|sparkling protein|bottled protein/i,tip:\"Grab-and-go? Here are our best ready-to-drink protein shakes and sparkling protein drinks.\",header:\"RTD protein drinks:\",links:[{title:\"Best Protein Drinks (RTD)\",url:\"/pages/best-protein-drinks-rtd-canada\"},{title:\"Best Sparkling Protein Drinks\",url:\"/blogs/blogs-main-page/best-sparkling-protein-drinks-rtds-canada-2026-edition\"},{title:\"RTD vs Protein Powder\",url:\"/blogs/blogs-main-page/protein-shake-rtd-vs-protein-powder-canada-2026\"}],pq:\"protein shake rtd\"},{rx:/protein cereal|protein granola|magic spoon|protein oatmeal|protein breakfast/i,tip:\"Start your day with protein \u2014 here are our best protein cereals, granola and breakfast picks.\",header:\"Protein cereal & breakfast:\",links:[{title:\"Best Protein Cereal\",url:\"/pages/best-protein-cereal-canada\"},{title:\"Magic Spoon\",url:\"/pages/magic-spoon-canada\"},{title:\"Magic Spoon Lineup Guide\",url:\"/blogs/snack-reviews/magic-spoon-canada-lineup-guide\"}],pq:\"protein cereal\"},{rx:/flavou?r drops|flavou?ring (powder|drops)|water enhancer|add to (water|oats|coffee|yogurt)|sugar[- ]?free syrup|zero[- ]?(cal|calorie) (sauce|syrup)|flavou?r (my )?(water|oats)/i,tip:\"Want to flavour your water, oats or shakes? Here are our flavour drops, syrups and zero-cal sauces.\",header:\"Flavour drops & enhancers:\",links:[{title:\"Flavour Drops, Syrups & Enhancers\",url:\"/pages/flavour-drops-enhancers-canada\"}],pq:\"\"},{rx:/\\bbulk\\b|by[- ]?the[- ]?case|buy[\\w\\s]{0,10}case|case of|wholesale|best value|value (pack|bundle|deal)|bundle deal|under \\$\\d|stock up/i,tip:\"Stocking up? Here\u2019s our bulk, by-the-case and best-value bundle hub.\",header:\"Bulk & value bundles:\",links:[{title:\"Bulk, By-the-Case & Value Bundles\",url:\"/pages/bulk-buy-value-bundles-canada\"}],pq:\"\"},{rx:/canadian[- ]?made|made in canada|made in (the )?usa|eu version|european version|authoriz(ed|ing) (brand|retailer|dealer)|is it (real|authentic|genuine)|grey market|counterfeit/i,tip:\"Good question \u2014 we\u2019re an authorized Canadian retailer. Here\u2019s what that means and which brands we carry officially.\",header:\"Authenticity & origin:\",links:[{title:\"Our Authorized Canadian Brands\",url:\"/pages/our-only-canadian-authorized-brands\"},{title:\"Why Buy From Us vs Amazon\",url:\"/pages/canadian-supplement-store-vs-amazon-canada\"},{title:\"European vs USA Barebells & Mars\",url:\"/blogs/snack-reviews/european-barebells-mars-low-sugar-canada-2026\"}],pq:\"\"},{rx:/(?:highest|most|top|greatest)\\s+protein|protein\\s+per\\s+(?:serving|calorie|cal|gram|g|dollar|100\\s*g?)|ranked?\\s+by\\s+protein|protein\\s+rank|(?:most|highest)\\s+protein\\s+(?:bar|snack|chip|drink|candy|cereal|shake|cookie)|(?:bar|snack|chip|drink|candy|cereal|shake|cookie)s?\\s+(?:with|has|have)[\\w\\s]{0,14}(?:most|highest)\\s+protein/i,tip:\"Here are our snacks ranked highest-to-lowest by protein \\u2014 check the guides below, and see in-stock high-protein picks underneath.\",header:\"Ranked by protein:\",links:[{title:\"Highest-Protein Snacks (Ranked)\",url:\"/pages/highest-protein-snacks-canada-ranked\"},{title:\"Highest-Protein Chips (Ranked)\",url:\"/pages/highest-protein-chips-canada-ranked\"},{title:\"Highest-Protein Drinks & Shots (Ranked)\",url:\"/pages/highest-protein-drinks-shots-canada-ranked\"},{title:\"Surprising High-Protein Snacks\",url:\"/pages/surprising-high-protein-snacks-canada\"}],pq:\"high protein bar\"},{rx:/fat\\s*loss|weight\\s*loss|lose\\s*weight|cutting|get\\s*lean|slim|shred|weight\\s*management/i,tip:\"For fat loss, most people do best keeping protein high (helps you stay full and hold onto muscle) while running a modest calorie deficit. High-protein, lower-calorie snacks and a solid protein powder make that much easier. (General info, not medical advice.)\",header:\"Fat-loss guides:\",links:[{title:\"Best Supplements for Fat Loss\",url:\"/pages/best-supplements-for-fat-loss-canada\"},{title:\"Fat-Loss & Cutting Stack\",url:\"/pages/best-fat-loss-cutting-stack-canada\"},{title:\"Best Protein Powder for Weight Loss\",url:\"/pages/best-protein-powder-for-weight-loss-canada\"}],pq:\"fat burner\"},{rx:/muscle\\s*(gain|build|grow)|build\\s*muscle|\\bbulk|mass\\s*gain|gain\\s*weight|clean\\s*gainer/i,tip:\"To build muscle, aim for enough daily protein (roughly 1.6-2.2 g/kg of bodyweight) plus a slight calorie surplus and progressive training. Whey or a mass gainer helps hit those numbers when whole food falls short. (General info, not medical advice.)\",header:\"Muscle & bulking guides:\",links:[{title:\"Best Supplements for Muscle Gain\",url:\"/pages/best-supplements-for-muscle-gain-canada\"},{title:\"Muscle-Building Stack\",url:\"/pages/best-muscle-building-stack-canada\"},{title:\"Best Mass Gainers\",url:\"/pages/best-mass-gainer-canada\"}],pq:\"mass gainer\"},{rx:/energy|focus|tired|fatigue|alert|wake|caffeine\\s*boost|pick\\s*me\\s*up/i,tip:\"For clean energy and focus, look at caffeine timing, hydration, and B-vitamins. Pre-workouts and sugar-free energy drinks give a quick lift; stim-free options work if you train late or are caffeine-sensitive. (General info, not medical advice.)\",header:\"Energy & focus guides:\",links:[{title:\"Energy & Focus Support\",url:\"/pages/energy-and-focus-support-canada\"},{title:\"Best Supplements for Energy & Focus\",url:\"/blogs/top-nutrition-academy/best-supplements-for-energy-focus\"},{title:\"Best Energy Drinks\",url:\"/pages/best-energy-drinks-canada\"}],pq:\"pre workout\"},{rx:/sleep|insomnia|recover(y|ing)?|wind\\s*down|relax|\\bnap\\b/i,tip:\"Better sleep and recovery start with a consistent wind-down routine. Magnesium (glycinate is gentle), and a pre-bed protein can support overnight repair without a heavy meal. (General info, not medical advice.)\",header:\"Sleep & recovery guides:\",links:[{title:\"Best Sleep Supplements\",url:\"/pages/best-sleep-supplements-canada\"},{title:\"Sleep, Wind-Down & Recovery\",url:\"/pages/sleep-wind-down-and-recovery-canada\"},{title:\"Recovery & Sleep Stack\",url:\"/pages/best-recovery-sleep-stack-canada\"}],pq:\"magnesium sleep\"},{rx:/gut\\s*health|digest|bloat|probio|prebio|constipat|regularity|fiber|fibre|ibs|stomach/i,tip:\"Gut comfort usually comes down to enough fiber, hydration, and sometimes a probiotic or greens blend. Add fiber gradually and drink plenty of water so things stay comfortable. (General info, not medical advice.)\",header:\"Gut & digestion guides:\",links:[{title:\"Gut & Digestive Wellness\",url:\"/pages/gut-and-digestive-wellness-canada\"},{title:\"Best Gut-Health Supplements\",url:\"/blogs/top-nutrition-academy/best-gut-health-supplements-canada-2026\"},{title:\"Best Probiotics for Gut Health\",url:\"/blogs/blogs-main-page/best-probiotics-gut-health-canada-2026-edition\"}],pq:\"probiotic\"},{rx:/immun|cold\\s*season|get\\s*sick|defen[cs]e|vitamin\\s*c\\b/i,tip:\"Everyday immune support leans on the basics: vitamin D, vitamin C, zinc, sleep, and protein. A daily greens or multivitamin helps fill common gaps. (General info, not medical advice.)\",header:\"Immunity guides:\",links:[{title:\"Best Supplements for Immunity\",url:\"/pages/best-supplements-for-immunity-canada\"},{title:\"Winter Immunity Stack\",url:\"/blogs/top-nutrition-academy/winter-immunity-stack-canada-2026\"}],pq:\"vitamin d\"},{rx:/(ozempic|wegovy|glp\\s*-?\\s*1|glp1|semaglutide|mounjaro|zepbound).*(constipat|bloat|side\\s*effect|regular)|constipat.*(ozempic|glp)/i,tip:\"On a GLP-1, constipation is common because you're eating less. Prioritize fiber, fluids, electrolytes, and gentle movement, and keep protein high to protect muscle while appetite is low. (General info, not medical advice.)\",header:\"GLP-1 support guides:\",links:[{title:\"GLP-1 Constipation Relief\",url:\"/blogs/top-nutrition-academy/glp1-constipation-relief-canada\"},{title:\"Managing GLP-1 Side Effects\",url:\"/blogs/top-nutrition-academy/managing-glp1-side-effects-with-nutrition-canada\"},{title:\"Best Supplements for GLP-1\",url:\"/pages/best-supplements-for-glp1-canada\"}],pq:\"fiber\"},{rx:/ozempic|wegovy|glp\\s*-?\\s*1|glp1|semaglutide|mounjaro|zepbound|peptide|weight\\s*loss\\s*shot/i,tip:\"When appetite is low on a GLP-1, every bite counts, so lean into protein-dense foods and snacks to preserve muscle, plus fiber and fluids for digestion. (General info, not medical advice.)\",header:\"GLP-1 nutrition guides:\",links:[{title:\"Shop GLP-1 & Weight-Loss Med Support\",url:\"/collections/glp1-weight-loss-medication-support-canada\"},{title:\"Complete GLP-1 Nutrition Guide\",url:\"/blogs/top-nutrition-academy/complete-glp1-nutrition-support-guide-canada-2026\"},{title:\"Best Supplements for GLP-1\",url:\"/pages/best-supplements-for-glp1-canada\"},{title:\"Best GLP-1 Protein Snacks\",url:\"/pages/best-glp1-protein-snacks-canada\"},{title:\"Preserving Muscle on GLP-1\",url:\"/blogs/top-nutrition-academy/preserving-muscle-on-glp1-canada\"}],pq:\"protein shake\"},{rx:/magnesium/i,tip:\"Magnesium supports sleep, muscle relaxation, and cramps. Glycinate is gentle and popular for evenings; citrate can help regularity. Take it consistently for best results. (General info, not medical advice.)\",header:\"Magnesium guides:\",links:[{title:\"Best Magnesium Supplements\",url:\"/pages/best-magnesium-supplements-canada\"},{title:\"Magnesium for Sleep, Cramps & Recovery\",url:\"/blogs/top-nutrition-academy/best-magnesium-canada-2026-sleep-cramps-recovery\"},{title:\"Magnesium Glycinate & Sleep\",url:\"/blogs/top-nutrition-academy/magnesium-glycinate-sleep-guide\"}],pq:\"magnesium\"},{rx:/vegan|plant\\s*based|plant\\s*protein|dairy\\s*free|no\\s*dairy/i,tip:\"Plant-based proteins (pea, rice, soy blends) can match whey for building muscle when total protein is adequate. Blends give a fuller amino-acid profile and smoother taste. (General info, not medical advice.)\",header:\"Vegan & plant-based guides:\",links:[{title:\"Best Vegan Protein Powder\",url:\"/pages/best-vegan-protein-powder-canada\"},{title:\"Best Vegan Protein Snacks\",url:\"/pages/best-vegan-protein-snacks-canada\"},{title:\"Best Vegan Protein 2026\",url:\"/blogs/blogs-main-page/best-vegan-protein-canada-2026\"}],pq:\"vegan protein\"},{rx:/keto|low\\s*carb|ketogenic|carnivore/i,tip:\"Keto and low-carb come down to keeping carbs low while protein and fats do the work. Look for sugar-free, low-net-carb snacks and swaps so treats fit your macros. (General info, not medical advice.)\",header:\"Keto & low-carb guides:\",links:[{title:\"Best Keto Snacks\",url:\"/pages/best-keto-snacks-canada\"},{title:\"Best Keto Protein Powder\",url:\"/pages/best-keto-protein-powder-canada\"},{title:\"Keto Food Alternatives\",url:\"/pages/best-keto-food-alternatives-canada\"}],pq:\"keto snack\"},{rx:/gluten\\s*free|celiac|coeliac|gluten\\s*intoleran/i,tip:\"For gluten-free, always check the label since formulas change, and favour brands that certify gluten-free. We stock plenty of GF bars, snacks, and powders. (General info, not medical advice.)\",header:\"Gluten-free guides:\",links:[{title:\"Best Gluten-Free Protein Snacks\",url:\"/pages/best-gluten-free-protein-snacks-canada\"},{title:\"Gluten-Free Bars & Snacks\",url:\"/blogs/top-nutrition-academy/gluten-free-protein-bars-snacks-canada-2026\"}],pq:\"gluten free protein\"},{rx:/low\\s*sugar|sugar\\s*free|no\\s*sugar|zero\\s*sugar|sugar\\s*alcohol/i,tip:\"Low- and zero-sugar treats use sweeteners like stevia, monk fruit, or sugar alcohols instead of sugar. Great for cravings, and worth easing into if sugar alcohols upset your stomach. (General info, not medical advice.)\",header:\"Low-sugar guides:\",links:[{title:\"Best Zero-Sugar Chocolate\",url:\"/pages/best-zero-sugar-chocolate-canada\"},{title:\"Best Low-Sugar Protein Bars\",url:\"/blogs/blogs-main-page/best-low-sugar-protein-bars-phd-wispy-mars-canada-2026\"}],pq:\"sugar free\"},{rx:/collagen|skin|hair|nails|anti\\s*aging|wrinkle/i,tip:\"Collagen peptides may support skin, hair, nails, and joints, and pair well with vitamin C. Daily consistency matters more than dose timing. (General info, not medical advice.)\",header:\"Collagen & beauty guides:\",links:[{title:\"Best Collagen\",url:\"/pages/best-collagen-canada\"},{title:\"Skin, Hair & Nails Supplements\",url:\"/pages/best-skin-hair-nails-supplements-canada\"}],pq:\"collagen\"},{rx:/\\bhydrat|electrolyt|dehydrat|\\bcramp|\\bsweat|salt\\s*balance/i,tip:\"Electrolytes (sodium, potassium, magnesium) keep you hydrated better than water alone, especially with heavy sweating or long training. Look for low- or zero-sugar mixes for everyday use. (General info, not medical advice.)\",header:\"Hydration guides:\",links:[{title:\"Best Electrolytes\",url:\"/pages/best-electrolytes-canada\"},{title:\"Electrolytes Explained\",url:\"/blogs/blogs-main-page/electrolytes-explained-how-to-choose-canada-2026\"},{title:\"Best Hydration Drinks\",url:\"/blogs/blogs-main-page/best-hydration-electrolyte-drinks-canada-2026-edition\"}],pq:\"electrolytes\"},{rx:/omega|fish\\s*oil|\\bepa\\b|\\bdha\\b|krill/i,tip:\"Omega-3s (EPA and DHA) support heart, brain, and joint health. If you rarely eat fatty fish, a fish-oil supplement helps you reach a useful daily intake. (General info, not medical advice.)\",header:\"Omega-3 guide:\",links:[{title:\"Best Omega-3 Fish Oil\",url:\"/pages/best-omega-3-fish-oil-canada\"}],pq:\"omega 3 fish oil\"},{rx:/greens|superfood|micronutrient|veggie\\s*powder/i,tip:\"A greens powder is an easy insurance policy for days you're low on fruits and veggies. It won't replace whole foods, but it helps fill everyday gaps. (General info, not medical advice.)\",header:\"Greens guides:\",links:[{title:\"Best Greens Powder\",url:\"/pages/best-greens-powder-canada\"},{title:\"Best Greens Powders\",url:\"/blogs/blogs-main-page/best-greens-powders-daily-wellness-canada-2026-edition\"}],pq:\"greens\"},{rx:/menopause|perimenopause|women\\s*over\\s*40|hormone|hot\\s*flash/i,tip:\"Around menopause, protein, calcium, vitamin D, and magnesium become extra important for muscle and bone. Strength training plus adequate protein makes a big difference. (General info, not medical advice.)\",header:\"Women's wellness guides:\",links:[{title:\"Supplements During Menopause\",url:\"/pages/best-supplements-during-menopause-canada\"},{title:\"Supplements for Women Over 40\",url:\"/pages/best-supplements-women-over-40-canada\"},{title:\"Best Protein for Women\",url:\"/pages/best-protein-for-women-canada\"}],pq:\"women multivitamin\"},{rx:/diabet|blood\\s*sugar|glucose|insulin|low\\s*glycemic/i,tip:\"For blood-sugar-friendly choices, focus on higher protein and fiber with lower added sugar. Always check labels and work with your healthcare provider on targets. (General info, not medical advice.)\",header:\"Blood-sugar-friendly guides:\",links:[{title:\"Diabetic-Friendly Foods\",url:\"/pages/best-diabetic-friendly-foods-canada\"},{title:\"Best Protein Bars for Diabetics\",url:\"/blogs/blogs-main-page/best-protein-bars-diabetics-canada\"}],pq:\"low sugar protein bar\"},{rx:/testosterone|test\\s*booster|tongkat|men'?s\\s*(health|wellness)|libido|vitality/i,tip:\"Men's wellness basics: solid sleep, strength training, protein, vitamin D, and magnesium. Herbs like tongkat ali and ashwagandha are popular additions. (General info, not medical advice.)\",header:\"Men's wellness guides:\",links:[{title:\"Men's Wellness Supplements\",url:\"/pages/best-mens-wellness-supplements-canada\"},{title:\"Best Tongkat Ali\",url:\"/pages/best-tongkat-ali-canada\"}],pq:\"tongkat ali\"},{rx:/ashwagandha|stress|cortisol|anxiety|calm|adaptogen/i,tip:\"Ashwagandha is a popular adaptogen for stress and sleep support. Give it a few weeks of consistent use, and pair it with good sleep habits. (General info, not medical advice.)\",header:\"Stress & calm guides:\",links:[{title:\"Best Ashwagandha\",url:\"/pages/best-ashwagandha-canada\"},{title:\"Ashwagandha & Cortisol\",url:\"/blogs/top-nutrition-academy/best-ashwagandha-cortisol-canada-2026\"}],pq:\"ashwagandha\"},{rx:/how\\s*much\\s*protein|how\\s*many\\s*grams?\\s*(of\\s*)?protein|protein\\s*(per|a)\\s*day|daily\\s*protein|protein\\s*intake/i,tip:\"A common target is about 1.6-2.2 g of protein per kg of bodyweight per day (roughly 0.7-1 g per lb) for active people, spread across meals. Snacks and a scoop of powder make it easy to hit. (General info, not medical advice.)\",header:\"Protein how-to guides:\",links:[{title:\"How Much Protein Per Day (Athlete Guide)\",url:\"/blogs/top-nutrition-academy/how-much-protein-per-day-canada-athlete-guide-2026\"},{title:\"How Much Protein Per Day\",url:\"/blogs/blogs-main-page/how-much-protein-per-day-canada\"}],pq:\"whey protein\"},{rx:/when\\s*(to\\s*)?(take|use)\\s*creatine|creatine\\s*timing|how\\s*(much|to\\s*(take|use))\\s*creatine|creatine\\s*dose|loading\\s*creatine|what\\s*is\\s*creatine/i,tip:\"Creatine monohydrate works at about 3-5 g per day, and timing doesn't matter much, so take it whenever you'll remember, daily. Consistency is what fills your muscle stores. (General info, not medical advice.)\",header:\"Creatine guides:\",links:[{title:\"What Is Creatine (Beginner's Guide)\",url:\"/blogs/top-nutrition-academy/what-is-creatine-beginners-guide-canada-2026\"},{title:\"Best Creatine 2026\",url:\"/blogs/top-nutrition-academy/best-creatine-canada-2026-top-10-ranked\"},{title:\"Best Creatine Supplements\",url:\"/pages/best-creatine-supplements-canada\"}],pq:\"creatine\"},{rx:/whey\\s*(vs|versus|or)|isolate\\s*(vs|versus|or)|concentrate\\s*(vs|versus)|clear\\s*whey|which\\s*(whey|protein\\s*powder)|type\\s*of\\s*protein/i,tip:\"Whey concentrate is a great everyday value; isolate is lower in carbs/lactose and mixes lighter; plant blends suit dairy-free. Pick based on your stomach, budget, and macros. (General info, not medical advice.)\",header:\"Protein comparison guides:\",links:[{title:\"Whey vs Isolate vs Plant\",url:\"/blogs/blogs-main-page/whey-isolate-vs-concentrate-vs-beef-vs-plant-protein-canada-2026\"},{title:\"Clear Whey vs Regular Whey\",url:\"/blogs/blogs-main-page/clear-whey-vs-regular-whey-protein-canada\"},{title:\"Best Whey Isolate\",url:\"/pages/best-whey-isolate-canada\"}],pq:\"whey isolate\"},{rx:/bcaa|\\beaa\\b|amino\\s*acid|do\\s*i\\s*need\\s*(bcaa|eaa|amino)/i,tip:\"If you already hit your daily protein, extra BCAAs are usually optional. EAAs (which include BCAAs) are the more complete choice if you want an intra-workout amino drink. (General info, not medical advice.)\",header:\"Amino acid guides:\",links:[{title:\"BCAA vs EAA (Beginner's Guide)\",url:\"/blogs/top-nutrition-academy/bcaa-vs-eaa-beginners-guide-canada-2026\"},{title:\"Do You Need BCAAs, EAAs or Creatine?\",url:\"/blogs/blogs-main-page/do-you-need-bcaas-eaas-or-creatine-canada-2026\"},{title:\"Best BCAA & EAA\",url:\"/pages/best-bcaa-eaa-canada\"}],pq:\"eaa\"},{rx:/how\\s*long\\s*(does\\s*)?pre\\s*-?\\s*workout|when\\s*(to\\s*)?take\\s*pre\\s*-?\\s*workout|how\\s*(much|to\\s*(take|mix))\\s*pre\\s*-?\\s*workout|pre\\s*-?\\s*workout\\s*timing/i,tip:\"Most pre-workouts kick in around 30-45 minutes and last a couple of hours. Start with half a scoop to gauge tolerance, and avoid taking it too late if caffeine affects your sleep. (General info, not medical advice.)\",header:\"Pre-workout how-to guides:\",links:[{title:\"How Long Pre-Workout Lasts\",url:\"/blogs/top-nutrition-academy/how-long-pre-workout-kick-in-last-canada-2026\"},{title:\"How to Mix Pre-Workout\",url:\"/blogs/top-nutrition-academy/how-to-mix-pre-workout-canada-2026\"},{title:\"Best Pre-Workout\",url:\"/pages/best-pre-workout-canada\"}],pq:\"pre workout\"}];var TNF_QA_BRANDS=[\"barebells\", \"diva\", \"ryse\", \"ghost\", \"abe\", \"bucked\", \"allmax\", \"prozis\", \"warrior\", \"mutant\", \"pvl\", \"grenade\", \"quest\", \"alani\", \"alanis\", \"gnc\", \"myprotein\", \"optimum\", \"gaspari\", \"redcon\", \"pescience\", \"nutex\", \"nutrabolics\", \"cellucor\", \"c4\", \"jym\", \"kaged\", \"mts\", \"muscletech\", \"bsn\", \"ehp\", \"hosstile\", \"nutrycookies\", \"nutrynuts\", \"nutry\", \"crispower\", \"alphaprime\", \"wispy\", \"shameless\", \"anabar\", \"hexapro\", \"ehplabs\", \"oxyshred\", \"chefrobert\", \"choczero\", \"bowmar\", \"rxbar\", \"fitcrunch\", \"unicornsupplements\", \"barbells\", \"barebell\", \"builtbar\", \"mammoth\", \"rabeko\", \"everx\", \"ironside\", \"redrock\", \"redbull\", \"reign\", \"monster\", \"celcius\", \"celsius\", \"vega\", \"sunwarrior\", \"trubrain\", \"huel\", \"soylent\", \"poppi\", \"ollipop\", \"olipop\", \"spindrift\", \"gatorade\", \"gnarly\", \"perfectsports\", \"truvani\", \"kos\", \"orgain\", \"yasso\", \"enlightened\", \"fairlife\", \"premier\", \"kreatures\", \"kreations\", \"puffworks\", \"pbcrave\", \"perfectbar\", \"kodiak\", \"atkins\", \"chocxo\", \"lily\", \"lilys\", \"feastables\", \"david\", \"davids\", \"sinfit\", \"siip\", \"perf4m\", \"legendary\", \"trubar\", \"believe\", \"canprev\", \"himalaya\"];function tnfGoalHealthMatch(q){if(!q)return null;var s=(''+q).toLowerCase();for(var i=0;i<TNF_TIP_MAP.length;i++){try{if(TNF_TIP_MAP[i].rx.test(s))return TNF_TIP_MAP[i];}catch(e){}}return null;}function tnfHasQuestionSignal(q){if(!q)return false;var s=(''+q).toLowerCase();if(/\\?\\s*$/.test(q))return true;if(/^(is|are|does|do|can|could|will|would|should|has|have|which|how)\\b/.test(s))return true;if(/\\bhow\\s+(do|to)\\s+(i\\s+)?(use|take|mix|prepare|store|dose|dis?solve)\\b/.test(s))return true;if(/\\bcan\\s+i\\s+(take|use|mix|combine|stack|have|drink)\\b/.test(s))return true;if(/\\b(is|are|does|do)\\s+(it|this|that|they|these|the|there)\\b/.test(s))return true;if(/\\b(have|has|contain|contains|include|includes)\\b[\\s\\S]*\\b(caffeine|sugar|gluten|dairy|lactose|soy|nut|nuts|carb|carbs|calorie|calories|protein|creatine|artificial|allergen)\\b/.test(s))return true;if(/\\b(gluten|dairy|lactose|soy|nut)\\s*free\\b/.test(s))return true;if(/\\b(safe|okay|ok)\\s+(to|for|with)\\b/.test(s))return true;if(/\\b(expire|expires|expiry|expiration|best\\s*before|shelf\\s*life)\\b/.test(s))return true;return false;}function tnfMentionsSpecificBrand(q){if(!q)return null;var s=' '+String(q).toLowerCase().replace(/[^a-z0-9\\s]/g,' ').replace(/\\s+/g,' ')+' ';for(var i=0;i<TNF_QA_BRANDS.length;i++){var b=TNF_QA_BRANDS[i];if(!b)continue;if(s.indexOf(' '+b+' ')!==-1)return b;}return null;}function tnfRouteToGigit(q){var typing=addTyping();var url=rootUrl+'search/suggest.json?q='+encodeURIComponent(q)+'&resources[type]=product&resources[limit]=5&resources[options][unavailable_products]=last';fetch(url,{credentials:'same-origin'}).then(function(r){return r.json()}).then(function(data){if(typing.parentNode)typing.parentNode.removeChild(typing);var prods=(data&&data.resources&&data.resources.results&&data.resources.results.products)||[];var avail=prods.filter(function(p){return p.available});var pick=avail[0]||prods[0]||null;if(pick){var name=pick.title||'that product';var pageUrl=(pick.url||('/products/'+pick.handle)).split('?')[0];var msg='That\\u2019s a specific question about '+name+'. For the most accurate, product-specific answer, open its product page and ask in the \\u201c\\u2728 Questions? Get instant replies!\\u201d box near the bottom of the description area \\u2014 it replies instantly and is specific to that product.';addBotMessage(msg,{products:[pick],collections:[{title:'Open '+name+' page',url:pageUrl}],collectionsHeader:'Ask on the product page:'});trackQuery({query:q,intent:'product_question_gigit',resultCount:1});}else{var msg2='That looks like a question about a specific product. Open that product\\u2019s page and ask in the \\u201c\\u2728 Questions? Get instant replies!\\u201d box \\u2014 it gives instant, product-specific answers. Use the search below to find the product:';addBotMessage(msg2,{collections:[{title:'Search products',url:rootUrl+'search?q='+encodeURIComponent(q)}],collectionsHeader:'Find the product:'});trackQuery({query:q,intent:'product_question_gigit',resultCount:0});}}).catch(function(){if(typing.parentNode)typing.parentNode.removeChild(typing);addBotMessage('That looks like a question about a specific product. Please open that product\\u2019s page and ask in the \\u201c\\u2728 Questions? Get instant replies!\\u201d box \\u2014 it gives instant, product-specific answers.');trackQuery({query:q,intent:'product_question_gigit',resultCount:0});});}function tnfFetchTopPicks(pq,origQ){if(!pq){return}var typing=addTyping();var url=rootUrl+'search/suggest.json?q='+encodeURIComponent(pq)+'&resources[type]=product&resources[limit]=10&resources[options][unavailable_products]=last';fetch(url,{credentials:'same-origin'}).then(function(r){return r.json()}).then(function(data){if(typing.parentNode)typing.parentNode.removeChild(typing);var prods=(data&&data.resources&&data.resources.results&&data.resources.results.products)||[];var avail=prods.filter(function(p){return p.available}).slice(0,5);if(avail.length){addBotMessage('Popular in-stock picks for this:',{products:avail,query:pq})}trackQuery({query:origQ||pq,intent:'goal_health_recs',resultCount:avail.length})}).catch(function(){if(typing.parentNode)typing.parentNode.removeChild(typing)});}if(document.getElementById(\"vr-ai-panel\"))return;var css=[\".vr-ai-launcher {\",\"  position: relative;\",\"  background: linear-gradient(135deg, #1e2d7d 0%, #006fdb 100%);\",\"  color: #ffffff;\",\"  border: none;\",\"  border-radius: 999px;\",\"  padding: 9px 16px;\",\"  font-family: Barlow, sans-serif;\",\"  font-size: 13px;\",\"  font-weight: 700;\",\"  letter-spacing: 0.3px;\",\"  display: inline-flex; align-items: center; gap: 6px;\",\"  cursor: pointer;\",\"  box-shadow: 0 2px 6px rgba(30,45,125,0.18);\",\"  transition: transform 0.15s ease, box-shadow 0.15s ease;\",\"  white-space: nowrap;\",\"  vertical-align: middle;\",\"  line-height: 1;\",\"  flex-shrink: 0;\",\"}\",\".vr-ai-launcher:hover {\",\"  transform: translateY(-1px);\",\"  box-shadow: 0 6px 16px rgba(30,45,125,0.3);\",\"}\",\".vr-ai-launcher-spark { width: 14px; height: 14px; color: #ffd800; }\",\".vr-ai-launcher-beta {\",\"  background: #ffd800; color: #1e2d7d;\",\"  font-size: 9px; font-weight: 800;\",\"  letter-spacing: 0.6px;\",\"  padding: 2px 5px;\",\"  border-radius: 3px;\",\"  line-height: 1;\",\"  margin-left: 2px;\",\"}\",\".vr-ai-launcher-tagline {\",\"  font-size: 11px;\",\"  font-weight: 500;\",\"  opacity: 0.85;\",\"  padding-left: 8px;\",\"  margin-left: 2px;\",\"  border-left: 1px solid rgba(255,255,255,0.35);\",\"  letter-spacing: 0.1px;\",\"  white-space: nowrap;\",\"}\",\".vr-ai-beta-badge {\",\"  background: #ffd800; color: #1e2d7d;\",\"  font-size: 9px; font-weight: 800;\",\"  letter-spacing: 0.7px;\",\"  padding: 3px 6px;\",\"  border-radius: 3px;\",\"  line-height: 1;\",\"  margin-left: 6px;\",\"  vertical-align: middle;\",\"  display: inline-block;\",\"}\",\".vr-ai-launcher--floating {\",\"  position: fixed; bottom: 24px; right: 24px;\",\"  z-index: 2147483646;\",\"  padding: 13px 20px;\",\"  font-size: 14px;\",\"  box-shadow: 0 10px 28px rgba(30,45,125,0.3);\",\"}\",\".vr-ai-launcher--floating .vr-ai-launcher-spark { width: 16px; height: 16px; }\",\".vr-ai-launcher--floating:hover {\",\"  transform: translateY(-2px);\",\"  box-shadow: 0 14px 36px rgba(30,45,125,0.4);\",\"}\",\".vr-ai-launcher-pulse {\",\"  position: absolute;\",\"  inset: 0;\",\"  border-radius: 999px;\",\"  pointer-events: none;\",\"  border: 2px solid rgba(0,111,219,0.55);\",\"  opacity: 0;\",\"}\",\".vr-ai-launcher--floating .vr-ai-launcher-pulse {\",\"  animation: vr-ai-pulse 2.4s ease-out infinite;\",\"  opacity: 0.6;\",\"}\",\"@keyframes vr-ai-pulse {\",\"  0% { transform: scale(1); opacity: 0.6; }\",\"  100% { transform: scale(1.35); opacity: 0; }\",\"}\",\".header__search-bar-wrapper.vr-ai-has-launcher {\",\"  display: flex !important;\",\"  align-items: center;\",\"  gap: 10px;\",\"}\",\".header__search-bar-wrapper.vr-ai-has-launcher .search-bar,\",\".header__search-bar-wrapper.vr-ai-has-launcher form {\",\"  flex: 1; min-width: 0;\",\"}\",\"@media (max-width: 1099px) {\",\"  .vr-ai-launcher-tagline { display: none; }\",\"}\",\"@media (max-width: 767px) {\",\"  .vr-ai-launcher { padding: 8px 12px; font-size: 12px; gap: 5px; }\",\"  .vr-ai-launcher-label-full { display: none; }\",\"  .vr-ai-launcher-spark { width: 13px; height: 13px; }\",\"}\",\".vr-ai-launcher-mobile {\",\"  display: none;\",\"  align-items: center;\",\"  justify-content: center;\",\"  gap: 5px;\",\"  height: 30px;\",\"  padding: 0 10px;\",\"  flex-shrink: 0;\",\"  border-radius: 999px;\",\"  background: linear-gradient(135deg, #1e2d7d 0%, #006fdb 100%);\",\"  border: none;\",\"  cursor: pointer;\",\"  position: relative;\",\"  box-shadow: 0 2px 6px rgba(30,45,125,0.22);\",\"  transition: transform 0.15s ease, box-shadow 0.15s ease;\",\"  font-family: Barlow, sans-serif;\",\"  white-space: nowrap;\",\"  line-height: 1;\",\"}\",\".vr-ai-launcher-mobile:hover, .vr-ai-launcher-mobile:active {\",\"  transform: translateY(-1px);\",\"  box-shadow: 0 4px 12px rgba(30,45,125,0.32);\",\"}\",\".vr-ai-launcher-mobile-text {\",\"  color: #ffffff; font-size: 11px; font-weight: 700; letter-spacing: 0.3px;\",\"}\",\".vr-ai-launcher-beta--corner {\",\"  position: absolute;\",\"  top: -5px; right: -8px;\",\"  font-size: 7px; padding: 1px 4px;\",\"  letter-spacing: 0.5px;\",\"  line-height: 1.2;\",\"  border: 1.5px solid #ffffff;\",\"}\",\".vr-ai-mobile-action { display: none; flex-shrink: 0; }\",\"@media (max-width: 767px) {\",\"  .vr-ai-launcher-mobile { display: inline-flex; }\",\"  .vr-ai-mobile-action { display: inline-flex; align-items: center; flex-shrink: 0; margin: 0 !important; padding: 0 !important; }\",\"  .header__search-bar-wrapper .vr-ai-launcher { display: none !important; }\",\"}\",\"@media (max-width: 419px) {\",\"  .vr-ai-launcher-mobile { height: 28px; padding: 0 8px; gap: 4px; }\",\"  .vr-ai-launcher-mobile-text { font-size: 10.5px; }\",\"  .vr-ai-launcher-mobile svg { width: 13px !important; height: 13px !important; }\",\"}\",\"@media (max-width: 359px) {\",\"  .vr-ai-launcher-mobile { height: 26px; padding: 0 7px; gap: 0; }\",\"  .vr-ai-launcher-mobile-text { display: none; }\",\"  .vr-ai-launcher-mobile svg { width: 14px !important; height: 14px !important; }\",\"}\",\"@media (max-width: 767px) {\",\"  .header .header__search-bar-wrapper:not(.is-active) { flex: 0 0 auto !important; width: 0 !important; max-width: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; }\",\"  .header { padding-top: 4px !important; padding-bottom: 4px !important; }\",\"  .header .header__inner { padding-top: 0 !important; padding-bottom: 0 !important; }\",\"  .header .header__logo { padding: 0 !important; margin: 0 !important; }\",\"  .header .header__logo-image, .header .header__logo a, .header .header__logo-link { line-height: 0 !important; display: inline-flex !important; align-items: center !important; }\",\"  .header .header__logo-image, .header .header__logo-image img, .header .header__logo a img {\",\"    height: auto !important;\",\"    max-height: 92px !important;\",\"    width: auto !important;\",\"    max-width: 240px !important;\",\"    object-fit: contain !important;\",\"  }\",\"}\",\"@media (max-width: 419px) {\",\"  .header .header__logo-image, .header .header__logo-image img, .header .header__logo a img {\",\"    max-height: 74px !important;\",\"    max-width: 180px !important;\",\"  }\",\"}\",\"@media (max-width: 359px) {\",\"  .header .header__logo-image, .header .header__logo-image img, .header .header__logo a img {\",\"    max-height: 60px !important;\",\"    max-width: 150px !important;\",\"  }\",\"}\",\"@media (min-width: 768px) {\",\"  .header { padding-top: 6px !important; padding-bottom: 6px !important; }\",\"  .header .header__inner { padding-top: 0 !important; padding-bottom: 0 !important; }\",\"  .header .header__logo { padding: 0 !important; margin: 0 !important; }\",\"  .header .header__logo-image, .header .header__logo a, .header .header__logo-link { line-height: 0 !important; display: inline-flex !important; align-items: center !important; }\",\"  .header .header__logo-image, .header .header__logo-image img, .header .header__logo a img {\",\"    height: auto !important;\",\"    max-height: 88px !important;\",\"    width: auto !important;\",\"    max-width: 280px !important;\",\"    object-fit: contain !important;\",\"  }\",\"}\",\"@media (min-width: 1280px) {\",\"  .header .header__logo-image, .header .header__logo-image img, .header .header__logo a img {\",\"    max-height: 100px !important;\",\"    max-width: 320px !important;\",\"  }\",\"}\",\".vr-ai-backdrop {\",\"  position: fixed; inset: 0;\",\"  background: rgba(10,14,30,0.45);\",\"  opacity: 0; visibility: hidden;\",\"  transition: opacity 0.3s ease, visibility 0.3s ease;\",\"  z-index: 2147483646;\",\"  -webkit-backdrop-filter: blur(2px);\",\"  backdrop-filter: blur(2px);\",\"}\",\"body.vr-ai-open .vr-ai-backdrop { opacity: 1; visibility: visible; }\",\"#vr-ai-panel {\",\"  position: fixed;\",\"  top: 0; right: 0; bottom: 0;\",\"  width: min(460px, 100vw);\",\"  background: #ffffff;\",\"  box-shadow: -12px 0 48px rgba(0,0,0,0.16);\",\"  transform: translateX(calc(100% + 20px));\",\"  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);\",\"  z-index: 2147483647;\",\"  display: flex; flex-direction: column;\",\"  font-family: Barlow, sans-serif;\",\"}\",\"#vr-ai-panel.is-open { transform: translateX(0); }\",\".vr-ai-header {\",\"  padding: 18px 22px;\",\"  background: linear-gradient(135deg, #1e2d7d 0%, #006fdb 100%);\",\"  color: #ffffff;\",\"  display: flex; align-items: center; justify-content: space-between;\",\"  flex-shrink: 0;\",\"}\",\".vr-ai-header-title {\",\"  display: flex; align-items: center; gap: 10px;\",\"  font-size: 17px; font-weight: 800;\",\"  letter-spacing: 0.2px;\",\"}\",\".vr-ai-header-title svg { width: 20px; height: 20px; color: #ffd800; }\",\".vr-ai-header-sub {\",\"  font-size: 11px; font-weight: 500;\",\"  opacity: 0.85;\",\"  margin-top: 2px;\",\"  letter-spacing: 0.2px;\",\"}\",\".vr-ai-header-actions { display: flex; align-items: center; gap: 6px; }\",\".vr-ai-header-close, .vr-ai-header-reset {\",\"  background: rgba(255,255,255,0.15);\",\"  border: none; color: #ffffff; cursor: pointer;\",\"  width: 32px; height: 32px;\",\"  border-radius: 50%;\",\"  font-size: 14px; line-height: 1;\",\"  display: flex; align-items: center; justify-content: center;\",\"  transition: background 0.15s ease;\",\"  padding: 0;\",\"}\",\".vr-ai-header-close:hover, .vr-ai-header-reset:hover { background: rgba(255,255,255,0.3); }\",\".vr-ai-header-reset svg { width: 15px; height: 15px; }\",\".vr-ai-messages {\",\"  flex: 1;\",\"  overflow-y: auto;\",\"  overflow-x: hidden;\",\"  padding: 18px 18px 8px;\",\"  background: #f7f9fc;\",\"  scrollbar-width: thin;\",\"}\",\".vr-ai-turn {\",\"  display: flex; flex-direction: column;\",\"  margin-bottom: 14px;\",\"  align-items: flex-start;\",\"}\",\".vr-ai-turn--user { align-items: flex-end; }\",\".vr-ai-bubble {\",\"  max-width: 88%;\",\"  padding: 11px 16px;\",\"  border-radius: 16px;\",\"  font-size: 14px;\",\"  line-height: 1.5;\",\"  animation: vr-ai-bubble-in 0.25s ease-out;\",\"}\",\"@keyframes vr-ai-bubble-in {\",\"  from { opacity: 0; transform: translateY(6px); }\",\"  to { opacity: 1; transform: translateY(0); }\",\"}\",\".vr-ai-bubble--bot {\",\"  background: #ffffff;\",\"  color: #1e2d7d;\",\"  border: 1px solid #e6ecf4;\",\"  border-bottom-left-radius: 4px;\",\"}\",\".vr-ai-bubble--user {\",\"  background: linear-gradient(135deg, #1e2d7d 0%, #006fdb 100%);\",\"  color: #ffffff;\",\"  border-bottom-right-radius: 4px;\",\"  font-weight: 500;\",\"}\",\".vr-ai-typing .vr-ai-bubble--bot {\",\"  color: #8a9297;\",\"  font-style: italic;\",\"}\",\".vr-ai-typing-dots {\",\"  display: inline-flex; gap: 4px;\",\"  margin-left: 4px;\",\"}\",\".vr-ai-typing-dots span {\",\"  width: 6px; height: 6px;\",\"  background: #8a9297;\",\"  border-radius: 50%;\",\"  animation: vr-ai-dot 1.2s infinite;\",\"}\",\".vr-ai-typing-dots span:nth-child(2) { animation-delay: 0.2s; }\",\".vr-ai-typing-dots span:nth-child(3) { animation-delay: 0.4s; }\",\"@keyframes vr-ai-dot {\",\"  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }\",\"  40% { transform: scale(1); opacity: 1; }\",\"}\",\".vr-ai-prompts {\",\"  display: flex; flex-wrap: wrap; gap: 6px;\",\"  margin-top: 10px;\",\"  max-width: 100%;\",\"}\",\".vr-ai-prompt {\",\"  font-family: Barlow, sans-serif;\",\"  font-size: 12px; font-weight: 600;\",\"  padding: 7px 13px;\",\"  background: #ffffff;\",\"  border: 1px solid #dbe3ee;\",\"  border-radius: 999px;\",\"  cursor: pointer;\",\"  color: #1e2d7d;\",\"  transition: background 0.12s, border-color 0.12s, transform 0.12s;\",\"}\",\".vr-ai-prompt:hover {\",\"  background: #1e2d7d; color: #ffffff;\",\"  border-color: #1e2d7d;\",\"  transform: translateY(-1px);\",\"}\",\".vr-ai-products {\",\"  display: grid;\",\"  gap: 8px;\",\"  margin-top: 10px;\",\"  max-width: 100%;\",\"}\",\".vr-ai-product {\",\"  display: flex; gap: 12px;\",\"  padding: 10px;\",\"  background: #ffffff;\",\"  border: 1px solid #e6ecf4;\",\"  border-radius: 10px;\",\"  text-decoration: none;\",\"  color: #1e2d7d;\",\"  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;\",\"}\",\".vr-ai-product:hover {\",\"  border-color: #006fdb;\",\"  transform: translateY(-1px);\",\"  box-shadow: 0 4px 12px rgba(0,111,219,0.08);\",\"}\",\".vr-ai-product-img {\",\"  width: 58px; height: 58px;\",\"  object-fit: cover;\",\"  border-radius: 6px;\",\"  background: #f3f5f8;\",\"  flex-shrink: 0;\",\"}\",\".vr-ai-product-info { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }\",\".vr-ai-product-title {\",\"  font-size: 13px; font-weight: 700;\",\"  color: #1e2d7d;\",\"  line-height: 1.3;\",\"  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;\",\"  overflow: hidden;\",\"  margin-bottom: 4px;\",\"}\",\".vr-ai-product-meta {\",\"  display: flex; align-items: center; gap: 8px;\",\"  font-size: 12px;\",\"}\",\".vr-ai-product-price { color: #d32d2d; font-weight: 700; }\",\".vr-ai-product-price--compare { color: #8a9297; font-weight: 500; text-decoration: line-through; font-size: 11px; }\",\".vr-ai-product-save { color: #b91c1c; font-weight: 700; font-size: 11px; background: #fef2f2; border: 1px solid #fecaca; padding: 1px 6px; border-radius: 4px; white-space: nowrap; }\",\".vr-ai-product-vendor { color: #677279; font-weight: 500; }\",\".vr-ai-product-stars {\",\"  display: inline-block;\",\"  color: #f1b400;\",\"  font-size: 12px;\",\"  letter-spacing: 1px;\",\"  margin-bottom: 3px;\",\"}\",\".vr-ai-product-stars-count {\",\"  color: #677279;\",\"  font-size: 11px;\",\"  font-weight: 600;\",\"  letter-spacing: 0;\",\"  margin-left: 2px;\",\"}\",\".vr-ai-product.is-soldout { opacity: 0.7; position: relative; }\",\".vr-ai-product.is-soldout .vr-ai-product-img { filter: grayscale(0.6); }\",\".vr-ai-product-soldout {\",\"  position: absolute; top: 8px; left: 8px;\",\"  background: #d32d2d; color: #ffffff;\",\"  font-size: 9px; font-weight: 800;\",\"  letter-spacing: 0.6px; text-transform: uppercase;\",\"  padding: 3px 6px; border-radius: 3px;\",\"  z-index: 2;\",\"}\",\".vr-ai-product-review {\",\"  font-size: 11.5px; line-height: 1.35;\",\"  color: #4a5358;\",\"  font-style: italic;\",\"  margin-top: 4px;\",\"  padding-top: 4px;\",\"  border-top: 1px dashed #eef1f4;\",\"}\",\".vr-ai-product-review-author {\",\"  color: #8a9297;\",\"  font-style: normal;\",\"  font-weight: 600;\",\"}\",\".vr-ai-collections {\",\"  margin-top: 10px;\",\"}\",\".vr-ai-collections-header {\",\"  font-size: 10px; font-weight: 800;\",\"  letter-spacing: 1px; text-transform: uppercase;\",\"  color: #8a9297;\",\"  margin-bottom: 6px;\",\"}\",\".vr-ai-collections-row {\",\"  display: flex; flex-wrap: wrap; gap: 6px;\",\"}\",\".vr-ai-collection-chip {\",\"  display: inline-flex; align-items: center; gap: 6px;\",\"  padding: 8px 12px;\",\"  background: linear-gradient(135deg, #f7faff 0%, #e6f1fb 100%);\",\"  border: 1px solid #cfe4f7;\",\"  border-radius: 999px;\",\"  font-size: 13px; font-weight: 700;\",\"  color: #1e2d7d;\",\"  text-decoration: none;\",\"  transition: transform 0.12s, border-color 0.12s, box-shadow 0.12s;\",\"  white-space: nowrap;\",\"  max-width: 100%;\",\"}\",\".vr-ai-collection-chip:hover {\",\"  border-color: #006fdb;\",\"  transform: translateY(-1px);\",\"  box-shadow: 0 4px 12px rgba(0,111,219,0.12);\",\"}\",\".vr-ai-input {\",\"  padding: 14px 18px 18px;\",\"  background: #ffffff;\",\"  border-top: 1px solid #eef1f4;\",\"  flex-shrink: 0;\",\"}\",\".vr-ai-input form {\",\"  display: flex; align-items: center; gap: 6px;\",\"  padding: 6px 6px 6px 16px;\",\"  background: #f3f5f8;\",\"  border: 1.5px solid transparent;\",\"  border-radius: 999px;\",\"  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;\",\"}\",\".vr-ai-input form:focus-within {\",\"  background: #ffffff;\",\"  border-color: #006fdb;\",\"  box-shadow: 0 4px 14px rgba(0,111,219,0.1);\",\"}\",\".vr-ai-input input {\",\"  flex: 1; border: none; outline: none; background: transparent;\",\"  font-family: Barlow, sans-serif;\",\"  font-size: 14px; font-weight: 500;\",\"  color: #1e2d7d;\",\"  min-width: 0;\",\"}\",\".vr-ai-input input::placeholder { color: #8a9297; }\",\".vr-ai-input button {\",\"  background: linear-gradient(135deg, #1e2d7d 0%, #006fdb 100%);\",\"  color: #ffffff;\",\"  border: none; border-radius: 50%;\",\"  width: 36px; height: 36px;\",\"  cursor: pointer;\",\"  display: flex; align-items: center; justify-content: center;\",\"  flex-shrink: 0;\",\"  transition: transform 0.15s;\",\"}\",\".vr-ai-input button:hover { transform: translateY(-1px); }\",\".vr-ai-input button svg { width: 15px; height: 15px; }\",\".vr-ai-footer-note {\",\"  text-align: center;\",\"  font-size: 10px; font-weight: 500;\",\"  color: #8a9297;\",\"  margin-top: 8px;\",\"  letter-spacing: 0.2px;\",\"}\",\"@media (max-width: 640px) {\",\"  .vr-ai-launcher { bottom: 16px; right: 16px; padding: 11px 16px; font-size: 13px; }\",\"  #vr-ai-panel { width: 100vw; }\",\"}\"].join(\"\\n\");var style=document.createElement(\"style\");style.id=\"vr-ai-styles\";style.textContent=css;document.head.appendChild(style);function esc(s){return String(s).replace(/[&<>\"]/g,function(c){return{\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"}[c]})}var launcher=document.createElement(\"button\");launcher.type=\"button\";launcher.className=\"vr-ai-launcher\";launcher.setAttribute(\"aria-label\",\"Ask TNF \u2014 AI product assistant\");launcher.innerHTML='<svg class=\"vr-ai-launcher-spark\" viewBox=\"0 0 24 24\" fill=\"currentColor\">'+'<path d=\"M12 2l1.8 5.6L19 9l-5.2 1.4L12 16l-1.8-5.6L5 9l5.2-1.4L12 2z\"/>'+\"</svg>\"+'<span class=\"vr-ai-launcher-label-full\">Ask TNF</span>'+'<span class=\"vr-ai-launcher-tagline\">AI product finder</span>'+'<span class=\"vr-ai-launcher-beta\">BETA</span>'+'<span class=\"vr-ai-launcher-pulse\"></span>';var mobileLauncher=document.createElement(\"button\");mobileLauncher.type=\"button\";mobileLauncher.className=\"vr-ai-launcher-mobile\";mobileLauncher.setAttribute(\"aria-label\",\"Ask TNF \u2014 AI product assistant\");mobileLauncher.innerHTML='<svg viewBox=\"0 0 24 24\" fill=\"currentColor\" style=\"width:14px;height:14px;color:#ffd800;flex-shrink:0\">'+'<path d=\"M12 2l1.8 5.6L19 9l-5.2 1.4L12 16l-1.8-5.6L5 9l5.2-1.4L12 2z\"/>'+\"</svg>\"+'<span class=\"vr-ai-launcher-mobile-text\">Ask TNF</span>';function placeLauncher(){var placed=false;if(!launcher.parentNode){var wrapper=document.querySelector(\".header__search-bar-wrapper\");if(wrapper){wrapper.classList.add(\"vr-ai-has-launcher\");wrapper.appendChild(launcher);placed=true}}if(!mobileLauncher.parentNode){var searchIconLink=document.querySelector('a[data-action=\"toggle-search\"]');if(searchIconLink){var actionItem=searchIconLink.closest(\".header__action-item\");if(actionItem&&actionItem.parentNode){var wrap=document.createElement(\"div\");wrap.className=\"header__action-item vr-ai-mobile-action\";wrap.appendChild(mobileLauncher);actionItem.parentNode.insertBefore(wrap,actionItem);placed=true}}}return placed}placeLauncher();var _placeAttempts=0;var _placePoll=setInterval(function(){_placeAttempts++;placeLauncher();var bothPlaced=launcher.parentNode&&mobileLauncher.parentNode;if(bothPlaced||_placeAttempts>40)clearInterval(_placePoll)},150);setTimeout(function(){if(!launcher.parentNode){launcher.classList.add(\"vr-ai-launcher--floating\");document.body.appendChild(launcher)}},6e3);var backdrop=document.createElement(\"div\");backdrop.className=\"vr-ai-backdrop\";document.body.appendChild(backdrop);var panel=document.createElement(\"div\");panel.id=\"vr-ai-panel\";panel.setAttribute(\"role\",\"dialog\");panel.setAttribute(\"aria-label\",\"Product assistant\");panel.innerHTML='<div class=\"vr-ai-header\">'+\"<div>\"+'<div class=\"vr-ai-header-title\">'+'<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2l1.8 5.6L19 9l-5.2 1.4L12 16l-1.8-5.6L5 9l5.2-1.4L12 2zM5 14l.9 2.6 2.6.9-2.6.9L5 21l-.9-2.6L1.5 17.5l2.6-.9L5 14z\"/></svg>'+\"<span>Ask TNF</span>\"+'<span class=\"vr-ai-beta-badge\">BETA</span>'+\"</div>\"+'<div class=\"vr-ai-header-sub\">Your snack &amp; supplement assistant \u2014 in beta, double-check product info</div>'+\"</div>\"+'<div class=\"vr-ai-header-actions\">'+'<button type=\"button\" class=\"vr-ai-header-reset\" aria-label=\"Clear chat\" title=\"Clear chat\">'+'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"1 4 1 10 7 10\"/><path d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"/></svg>'+\"</button>\"+'<button type=\"button\" class=\"vr-ai-header-close\" aria-label=\"Close\">\u2715</button>'+\"</div>\"+\"</div>\"+'<div class=\"vr-ai-messages\" role=\"log\" aria-live=\"polite\"></div>'+'<div class=\"vr-ai-input\">'+'<form autocomplete=\"off\">'+'<input type=\"text\" placeholder=\"Ask anything \u2014 e.g., \u201Cpre-workout under $40\u201D\" aria-label=\"Ask a question\">'+'<button type=\"submit\" aria-label=\"Send\">'+'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">'+'<path d=\"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z\"/>'+\"</svg>\"+\"</button>\"+\"</form>\"+'<div class=\"vr-ai-footer-note\">Beta \u2014 searches live product info. Results may not be perfect.</div>'+\"</div>\";document.body.appendChild(panel);var HISTORY_KEY=\"vr_ai_history_v1\";var HISTORY_MAX=30;function loadHistory(){try{var raw=localStorage.getItem(HISTORY_KEY);if(!raw)return[];var parsed=JSON.parse(raw);return Array.isArray(parsed)?parsed:[]}catch(e){return[]}}function saveHistory(list){try{localStorage.setItem(HISTORY_KEY,JSON.stringify(list.slice(-HISTORY_MAX)))}catch(e){}}function clearHistory(){try{localStorage.removeItem(HISTORY_KEY)}catch(e){}}function pushHistory(entry){var list=loadHistory();list.push(entry);saveHistory(list)}var messagesEl=panel.querySelector(\".vr-ai-messages\");var input=panel.querySelector(\"input\");var form=panel.querySelector(\"form\");var welcomeShown=false;function scrollToBottom(){requestAnimationFrame(function(){messagesEl.scrollTop=messagesEl.scrollHeight})}function appendTurn(role){var turn=document.createElement(\"div\");turn.className=\"vr-ai-turn vr-ai-turn--\"+role;messagesEl.appendChild(turn);return turn}function renderUserMessage(text){var turn=appendTurn(\"user\");var bubble=document.createElement(\"div\");bubble.className=\"vr-ai-bubble vr-ai-bubble--user\";bubble.textContent=text;turn.appendChild(bubble);scrollToBottom()}function addUserMessage(text,opts){renderUserMessage(text);if(!opts||opts.persist!==false)pushHistory({role:\"user\",text:text})}function renderBotMessage(text,opts){var turn=appendTurn(\"bot\");var bubble=document.createElement(\"div\");bubble.className=\"vr-ai-bubble vr-ai-bubble--bot\";if(opts&&opts.html){bubble.innerHTML=text}else{bubble.textContent=text}turn.appendChild(bubble);if(opts&&opts.prompts&&opts.prompts.length){var row=document.createElement(\"div\");row.className=\"vr-ai-prompts\";opts.prompts.forEach(function(p){var b=document.createElement(\"button\");b.type=\"button\";b.className=\"vr-ai-prompt\";b.textContent=p;b.addEventListener(\"click\",function(){if(/^(no\\s*thanks|not\\s*now|dismiss|skip|something\\s*else)$/i.test(p)){b.disabled=true;b.style.opacity=\"0.5\";offerFallbackSuggestion();return}submitQuery(p)});row.appendChild(b)});turn.appendChild(row)}if(opts&&opts.products&&opts.products.length){turn.appendChild(renderProducts(opts.products,{query:opts.query}))}if(opts&&opts.collections&&opts.collections.length){turn.appendChild(renderCollectionChips(opts.collections,opts.collectionsHeader))}scrollToBottom()}function addBotMessage(text,opts){renderBotMessage(text,opts);if(!opts||opts.persist!==false){pushHistory({role:\"bot\",text:text,html:!!(opts&&opts.html),prompts:opts&&opts.prompts||null,products:opts&&opts.products||null,collections:opts&&opts.collections||null,collectionsHeader:opts&&opts.collectionsHeader||null})}}function renderCollectionChips(collections,header){var wrap=document.createElement(\"div\");wrap.className=\"vr-ai-collections\";if(header){var h=document.createElement(\"div\");h.className=\"vr-ai-collections-header\";h.textContent=header;wrap.appendChild(h)}var row=document.createElement(\"div\");row.className=\"vr-ai-collections-row\";collections.forEach(function(c){var a=document.createElement(\"a\");a.className=\"vr-ai-collection-chip\";a.href=c.url;a.innerHTML='<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:14px;height:14px;flex-shrink:0\"><path d=\"M3 3h18l-2 14H5L3 3z\"/></svg>'+\"<span>\"+esc(c.title)+\"</span>\"+'<span style=\"opacity:0.6\">\u2192</span>';row.appendChild(a)});wrap.appendChild(row);return wrap}function addTyping(){var turn=appendTurn(\"bot\");turn.classList.add(\"vr-ai-typing\");var bubble=document.createElement(\"div\");bubble.className=\"vr-ai-bubble vr-ai-bubble--bot\";bubble.innerHTML=esc(t(\"thinking\"))+'<span class=\"vr-ai-typing-dots\"><span></span><span></span><span></span></span>';turn.appendChild(bubble);scrollToBottom();return turn}function formatPriceDisplay(raw){if(raw==null||raw===\"\")return{num:null,display:\"\"};var str=String(raw);var n=parseFloat(str);if(!isFinite(n)||n<=0)return{num:null,display:\"\"};var looksLikeCents=str.indexOf(\".\")===-1&&Math.round(n)===n&&n>=100;var dollars=looksLikeCents?n/100:n;var symbol=CURRENCY===\"EUR\"?\"\u20AC\":CURRENCY===\"GBP\"?\"\u00A3\":\"$\";return{num:dollars,display:symbol+dollars.toFixed(2)+\" \"+CURRENCY}}function renderStars(rating,count){if(!count||count<1||!rating)return\"\";var r=Math.round(rating*2)/2;var full=Math.floor(r);var half=r-full>=.5?1:0;var empty=5-full-half;var stars=\"\";for(var i=0;i<full;i++)stars+=\"\u2605\";if(half)stars+=\"\u00BD\";for(var j=0;j<empty;j++)stars+=\"\u2606\";return'<span class=\"vr-ai-product-stars\" title=\"'+rating.toFixed(1)+\" from \"+count+' reviews\">'+stars+' <span class=\"vr-ai-product-stars-count\">('+count+\")</span>\"+\"</span>\"}var _reviewPositive=/\\b(taste[sd]?|flavo?u?r|delicious|yumm|tasty|sweet|chocol|vanilla|peanut|strawberr|creamy|smooth|crunch|chewy|soft|firm|moist|texture|digest|stomach|gut|bloat|tummy|full|filling|satisf|energy|stronger|strength|recover(?:y|ed)?|workout|focus|pump|sleep|sleepy|rested|gain(?:s|ed)?|lose|mental|mood|awake|buzz|kick|jitter.free|skin|hair|nails|smells|melt|rich)\\b/i;var _reviewNegative=/\\b(bad|worst|don'?t\\s+like|dont\\s+like|hate|terrible|awful|gross|disgust|nasty|mediocre|not\\s+(?:as\\s+good|that\\s+good|great|worth)|disappoint|boring|bland|weird|strange|stale|expir|chalk(?:y)?|sour|bitter|gritty|artificial|fake|too\\s+sweet|too\\s+salty|too\\s+dry|cramp|diarrhea|constipat|nause|allerg|broke|damaged)\\b/i;function pickBestReview(rvs){if(!Array.isArray(rvs)||!rvs.length)return null;var best=null;var bestScore=0;for(var i=0;i<rvs.length;i++){var r=rvs[i];if(!r||!r.b)continue;var body=String(r.b);var rating=parseFloat(r.r);if(!isFinite(rating))rating=5;if(rating<4)continue;if(_reviewNegative.test(body))continue;var score=rating*10;if(_reviewPositive.test(body))score+=60;score+=Math.min(body.length/10,15);if(body.length<25)score-=30;if(score>bestScore){bestScore=score;best=r}}return bestScore>0?best:null}function renderProducts(products,context){var grid=document.createElement(\"div\");grid.className=\"vr-ai-products\";products.forEach(function(p,idx){var a=document.createElement(\"a\");a.className=\"vr-ai-product\";var title=p.title||p.t||\"\";var handle=p.handle||p.h||\"\";var url=p.url||p.u||(handle?\"/products/\"+handle:\"#\");var img=p.image||p.img||p.featured_image&&p.featured_image.url||\"\";var priceCandidate=p.price!=null?p.price:p.p!=null?p.p:p.price_min;var compCandidate=p.compare_at_price!=null?p.compare_at_price:p.c;var pFmt=formatPriceDisplay(priceCandidate);var cFmt=formatPriceDisplay(compCandidate);var price=pFmt.display;var comp=cFmt.num!=null&&pFmt.num!=null&&cFmt.num>pFmt.num?cFmt.display:\"\";var saveAmt=\"\";var savePct=\"\";if(cFmt.num!=null&&pFmt.num!=null&&cFmt.num>pFmt.num){var diff=cFmt.num-pFmt.num;var pct=Math.round(diff/cFmt.num*100);if(pct>=5){var diffFmt=formatPriceDisplay(diff);saveAmt=diffFmt.display||\"\";savePct=pct+\"%\"}}var vendor=p.vendor||p.v||\"\";var rating=parseFloat(p.r!=null?p.r:p.rating)||0;var ratingCount=parseInt(p.rc!=null?p.rc:p.rating_count,10)||0;var reviewPicked=pickBestReview(p.rvs);var reviewBody=reviewPicked?reviewPicked.b:null;var reviewAuthor=reviewPicked?reviewPicked.a:null;var available=p.av!=null?!!p.av:p.available!=null?!!p.available:true;a.href=url;if(!available)a.classList.add(\"is-soldout\");a.innerHTML=(img?'<img class=\"vr-ai-product-img\" src=\"'+esc(img)+'\" alt=\"\" loading=\"lazy\">':'<span class=\"vr-ai-product-img\"></span>')+(!available?'<span class=\"vr-ai-product-soldout\">'+esc(t(\"soldOut\"))+\"</span>\":\"\")+'<div class=\"vr-ai-product-info\">'+'<div class=\"vr-ai-product-title\">'+esc(title)+\"</div>\"+(rating>0&&ratingCount>0?renderStars(rating,ratingCount):\"\")+'<div class=\"vr-ai-product-meta\">'+(price?'<span class=\"vr-ai-product-price\">'+price+\"</span>\":\"\")+(comp?'<span class=\"vr-ai-product-price--compare\">'+comp+\"</span>\":\"\")+(savePct?'<span class=\"vr-ai-product-save\">Save '+esc(saveAmt)+\" (\"+savePct+\" off)</span>\":\"\")+(vendor?'<span class=\"vr-ai-product-vendor\">\u00B7 '+esc(vendor)+\"</span>\":\"\")+\"</div>\"+(reviewBody?'<div class=\"vr-ai-product-review\">\u201C'+esc(reviewBody)+\"\u201D\"+(reviewAuthor?' <span class=\"vr-ai-product-review-author\">\u2014 '+esc(reviewAuthor)+\"</span>\":\"\")+\"</div>\":\"\")+\"</div>\";a.addEventListener(\"click\",function(_clkEv){try{window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:\"ask_tnf_product_click\",query:context&&context.query||\"\",product_id:p.id||null,product_title:title,product_handle:handle,position:idx+1});window.dataLayer.push({event:\"ask_tnf_result_click\",query:(context&&context.query)||window.__askTnfLastQuery||\"\",intent:window.__askTnfLastIntent||\"\",product_id:p.id||null,product_handle:handle,product_title:title,position:idx+1,result_count:window.__askTnfLastResultCount||0,page_path:window.location.pathname})}catch(e){}try{sessionStorage.removeItem(\"vr_ai_open_v1\")}catch(e){}try{document.body.classList.remove(\"vr-ai-open\");var panelEl=document.querySelector(\".vr-ai-panel\");if(panelEl)panelEl.classList.remove(\"is-open\")}catch(e){}try{if(_clkEv&&!_clkEv.defaultPrevented&&!_clkEv.metaKey&&!_clkEv.ctrlKey&&!_clkEv.shiftKey&&!_clkEv.altKey&&_clkEv.button===0&&a.target!==\"_blank\"){_clkEv.preventDefault();var _navHref=a.href;setTimeout(function(){window.location.href=_navHref},120)}}catch(e){}});grid.appendChild(a)});return grid}function intentResponse(q){var s=q.toLowerCase();if(/\\b0\\s*sugar|\\bno\\s*sugar|\\bzero\\s*sugar|\\bsugar.?free\\b/i.test(s))return\"Zero-sugar / sugar-free options:\";if(/\\bunder\\s*\\d+\\s*g?\\s*(?:net\\s+)?carbs?\\b|\\bless\\s*than\\s*\\d+\\s*g?\\s*carbs?\\b|\\blow.?carb\\b/i.test(s))return\"Low-carb picks (check each description for exact net carbs):\";if(/\\bunder\\s*\\d+\\s*(?:calor|cals?|kcal)\\b|\\blow.?calori\\b|\\blowest\\s*calori\\b/i.test(s))return\"Low-calorie picks (check descriptions for exact values):\";if(/\\bno\\s+artificial|\\bclean\\s+ingredient/i.test(s))return\"Clean-ingredient options without artificial sweeteners, colors, or preservatives:\";if(/weight\\s*manag|fat\\s*burn|burn\\s*fat|lose\\s*weight|weight\\s*loss/.test(s))return\"For weight management, here are fat burners, keto, and low-sugar picks:\";if(/performance|endurance|athletic|improve.*work|increase.*perform/.test(s))return\"For performance, try these pre-workouts, aminos, and creatine:\";if(/gain\\s*muscle|build.*muscle|bulk|mass/.test(s))return\"For muscle and mass, here are the top high-protein and gainer picks:\";if(/pre.?work|energy\\s*boost|increase\\s*energy|caffeine|pump/.test(s))return\"For pre-workout energy, try these:\";if(/post.?work|recover|bcaa|amino/.test(s))return\"For recovery, here are aminos and BCAAs:\";if(/keto|low.?carb|diabet/.test(s))return\"Low-carb, keto, and sugar-free picks:\";if(/vegan|plant/.test(s))return\"Plant-based picks that fit the brief:\";if(/gluten/.test(s))return\"Gluten-free options:\";if(/lactose|dairy.?free|lactose.?intoleran/i.test(s))return\"Lactose-free / dairy-free options \u2014 whey isolates (99% lactose removed), plant proteins (zero lactose), and beef protein isolate:\";if(/soy.?free/i.test(s))return\"Soy-free options \u2014 most of our protein powders are soy-free, here are the picks:\";if(/nut.?free|peanut.?free|tree.?nut.?free/i.test(s))return\"Nut-free options:\";if(/egg.?free/i.test(s))return\"Egg-free options:\";if(/no.?artificial.?sweeten|no.?artificial.?color|no.?artificial.?flav|no.?preservativ|no.?dye|no.?additive|natural.?(?:ingredient|protein|sweeten|flav|product)|all.?natural|clean.?label|clean.?ingredient|stevia|monk.?fruit|sugar.?alcohol|no.?sucralose/i.test(s))return\"Clean-ingredient picks \u2014 sweetened with stevia, monk fruit, or sugar alcohols (no sucralose, no artificial colors, no preservatives):\";if(/diabet|insulin|blood.?sugar/i.test(s))return\"Diabetic-friendly options \u2014 low sugar, low net carb, blood-sugar friendly:\";if(/halal/i.test(s))return\"Halal-suitable options (always check label for current certification):\";if(/sleep|relax|magnesium/.test(s))return\"For better rest, these might help:\";if(/immun|wellness|vitamin|greens|multivitamin/.test(s))return\"Immune and wellness essentials:\";if(/hydrat|electro/.test(s))return\"Hydration and electrolyte options:\";if(/gut|digest|fiber|probiotic/.test(s))return\"Gut health and digestion picks:\";if(/brain|focus|cognit|nootropic|memory/.test(s))return\"Focus and mental clarity picks:\";if(/women|female|hormone|collagen|beauty/.test(s))return\"Women's wellness and collagen picks:\";if(/strength|lift|heavy/.test(s))return\"For strength, creatine, protein, and pre-workouts can help:\";if(/protein/.test(s))return\"High-protein matches from our catalog:\";if(/bar\\b|snack|cookie|crisp/.test(s))return\"Snacks and bars that match:\";if(/drink|beverage|soda/.test(s))return\"Drinks matching your query:\";if(/\\$\\s*\\d+|\\b\\d+\\s*(?:cad|dollars?|bucks?)\\b|under\\s*\\$\\d+|below\\s*\\$\\d+/i.test(s))return\"Here are budget-friendly picks that match:\";if(/\\bcheap\\b|\\baffordable\\b|\\bbudget\\b|\\bbargain\\b|\\bdiscount(?:ed)?\\b|\\bsale\\b|\\bclearance\\b|\\bdeal\\b|\\blow\\s*price\\b|\\blowest\\s*price\\b|\\bbest\\s*price\\b|\\bbest\\s*value\\b|\\bcost.?effective\\b|\\bsave\\s*money\\b|\\bsaving\\b|\\beconomic|\\bcost\\s*per\\s*serv|\\bprice\\s*per\\s*serv/i.test(s))return\"Biggest savings right now \u2014 sorted by largest discount (price vs compare-at). Tap any product to see your Promi member price + bulk codes (FREESNACK, FREESNACK2):\";if(/best|top|popular/.test(s))return\"Here are top picks I found:\";return\"Here\u2019s what I found in our catalog:\"}var rootUrl=window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root||\"/\";var _pendingVague=null;function isVagueBest(q){var s=(q||\"\").toLowerCase().trim();if(/\\bbest\\b/.test(s)&&!/\\bbest\\s+of\\b/.test(s))return true;if(/^top\\s+(?!nutrition)/.test(s)&&!/top\\s+seller/.test(s))return true;if(/what(?:'?s|\\s+is|\\s+are)\\s+(?:the\\s+)?(?:good|best|top|most\\s+popular)/.test(s))return true;if(/^(?:can\\s+you\\s+)?(?:recommend|suggest)/.test(s))return true;return false}function combineQuery(base,refinement){var cleanedBase=(base||\"\").replace(/\\bbest\\b|\\btop\\b|\\bwhat(?:'?s|\\s+is|\\s+are)\\s+(?:the\\s+)?(?:good|best|top|most\\s+popular)\\b|\\brecommend(?:ation)?s?\\b|\\bsuggest(?:ion)?s?\\b|\\bcan\\s+you\\b/gi,\"\").replace(/\\s+/g,\" \").trim();var ref=(refinement||\"\").toLowerCase().trim();if(/\\btop\\s*picks\\b|\\boverall\\b|\\banything\\b|\\bany\\b|\\bno\\s*preference\\b/.test(ref)){return cleanedBase||refinement}var refClean=refinement.replace(/[^\\w\\s$\\-]/g,\"\").trim();return(cleanedBase?cleanedBase+\" \":\"\")+refClean}function vagueQuestionText(){return\"Great! A few quick preferences to narrow it down \u2014 pick any that sound right:\"}function vaguePrompts(){return[\"Chocolate\",\"Vanilla\",\"Fruity\",\"Chewy\",\"Crunchy\",\"Low sugar\",\"High protein\",\"Top picks overall\"]}var _categoryRefinements=[{match:/^(proteins?)$/i,prompts:[\"Protein Powder\",\"Protein Bars\",\"Protein Drinks\",\"Protein Chips\",\"Protein Cookies\",\"Top picks overall\"]},{match:/^(energy|caffeine)$/i,prompts:[\"Pre-Workout\",\"Stim-Free Pre-Workout\",\"Energy Drinks\",\"Creatine + Energy\",\"Top picks overall\"]},{match:/^(pre.?workouts?)$/i,prompts:[\"Stim Pre-Workout\",\"Stim-Free Pre-Workout\",\"Creatine Pre-Workout\",\"Top picks overall\"]},{match:/^(snacks?|bars?)$/i,prompts:[\"Protein Bars\",\"Protein Chips\",\"Cookies & Brownies\",\"Keto / Low-Carb Snacks\",\"Candy & Sweets\",\"Top picks overall\"]},{match:/^(chips?)$/i,prompts:[\"Protein Chips\",\"Keto Chips\",\"Low-Carb Chips\",\"Top picks overall\"]},{match:/^(supplements?|vitamins?)$/i,prompts:[\"Muscle / Strength\",\"Fat Loss\",\"Sleep & Recovery\",\"Immune & Wellness\",\"Collagen & Beauty\",\"Top picks overall\"]},{match:/^(weight.?loss|fat.?loss|fat.?burn(?:er)?s?)$/i,prompts:[\"Stim Fat Burners\",\"Stim-Free Fat Burners\",\"Appetite Control\",\"Thermogenic\",\"Top picks overall\"]},{match:/^(keto|low.?carb)$/i,prompts:[\"Keto Snacks\",\"Keto Chips\",\"Low-Sugar Sweets\",\"Low-Carb Protein\",\"Top picks overall\"]},{match:/^(sleep|recovery)$/i,prompts:[\"Sleep Aid\",\"Magnesium\",\"Recovery BCAAs\",\"Top picks overall\"]},{match:/^(drinks?|beverages?)$/i,prompts:[\"Energy Drinks\",\"Protein Drinks\",\"Hydration / Electrolytes\",\"Top picks overall\"]},{match:/^(creatine)$/i,prompts:[\"Monohydrate Powder\",\"Creatine Gummies\",\"Creatine Pre-Workout\",\"Top picks overall\"]},{match:/^(vegan|plant.?based)$/i,prompts:[\"Vegan Protein\",\"Vegan Snacks\",\"Top picks overall\"]},{match:/^(gluten.?free)$/i,prompts:[\"GF Protein Snacks\",\"GF Protein Powder\",\"GF Bars\",\"Top picks overall\"]}];function categoryRefinements(q){var s=(q||\"\").toLowerCase().trim();s=s.replace(/[^\\w\\-\\s]/g,\"\").trim();if(!s||s.indexOf(\" \")>=0)return null;for(var i=0;i<_categoryRefinements.length;i++){if(_categoryRefinements[i].match.test(s)){return _categoryRefinements[i].prompts}}return null}var _nutritionUnit=/(?:calor(?:ie|ies)|cals?|carbs?|sugar|fat|fiber|sodium|protein|kcal|g\\b|gram|mg|mcg|oz|ml|lbs?|serv|piece|bar|pack|%)/i;var _typoMap={\"cookiedough\":\"cookie dough\",\"cooky dough\":\"cookie dough\",\"chic zero\":\"choczero\",chocz:\"choczero\",choczer:\"choczero\",\"choco zero\":\"choczero\",barebell:\"barebells\",gorillamind:\"gorilla mind\",gori:\"gorilla\",probitee:\"probites\",probite:\"probites\",probit:\"probites\",\"pro bites\":\"probites\",jello:\"jell-o\",\"jell o\":\"jell-o\",beleive:\"believe\",belive:\"believe\",beileve:\"believe\",\"oxy shred\":\"oxyshred\",oxyshread:\"oxyshred\",buckedup:\"bucked up\",\"simply protien\":\"simplyprotein\",simplyprotien:\"simplyprotein\",scrumptious:\"scrumptous\",\"simply scrumptious\":\"simply scrumptous\",\"iso flex\":\"isoflex\",isoflx:\"isoflex\",alani:\"alani nu\",protien:\"protein\",prtoein:\"protein\",proten:\"protein\",prtein:\"protein\",proteing:\"protein\",proteni:\"protein\",protin:\"protein\",proetin:\"protein\",preworkuot:\"pre-workout\",preworkout:\"pre-workout\",prework:\"pre-workout\",\"pre workout\":\"pre-workout\",\"pre-workout\":\"pre-workout\",creatien:\"creatine\",cretaine:\"creatine\",creatin:\"creatine\",creatne:\"creatine\",monohydrat:\"monohydrate\",monohydtrate:\"monohydrate\",\"whey poweder\":\"whey powder\",\"whey powder\":\"whey powder\",isolat:\"isolate\",isoalte:\"isolate\",casien:\"casein\",casin:\"casein\",colagen:\"collagen\",collegen:\"collagen\",colagen:\"collagen\",amino:\"amino\",aminos:\"aminos\",amminos:\"aminos\",bcca:\"bcaa\",bccas:\"bcaas\",bca:\"bcaa\",glutamin:\"glutamine\",glutimine:\"glutamine\",vitimin:\"vitamin\",vitamn:\"vitamin\",vitimins:\"vitamins\",vitamn:\"vitamin\",magnesuim:\"magnesium\",magnesum:\"magnesium\",magnisium:\"magnesium\",calciun:\"calcium\",zink:\"zinc\",ashwaganda:\"ashwagandha\",ashwaghanda:\"ashwagandha\",ashwagandaha:\"ashwagandha\",metabolsim:\"metabolism\",metaboism:\"metabolism\",ketogenic:\"keto\",ketogenik:\"keto\",ketto:\"keto\",glutenfree:\"gluten free\",glutten:\"gluten\",glutin:\"gluten\",\"dairy free\":\"dairy free\",dary:\"dairy\",dariy:\"dairy\",vegen:\"vegan\",veagn:\"vegan\",vegann:\"vegan\",suplement:\"supplement\",suppliment:\"supplement\",suplemnt:\"supplement\",suplements:\"supplements\",suppliments:\"supplements\",fatburner:\"fat burner\",fatburners:\"fat burners\",\"fat burn\":\"fat burner\",thermogeinc:\"thermogenic\",thermoganic:\"thermogenic\",elecrolyte:\"electrolyte\",electroylte:\"electrolyte\",electrolite:\"electrolyte\",hidration:\"hydration\",hydrtion:\"hydration\",recvery:\"recovery\",recover:\"recovery\",probotic:\"probiotic\",probiotics:\"probiotics\",probotic:\"probiotic\",fiber:\"fiber\",fibre:\"fiber\",stimfree:\"stim-free\",\"stim free\":\"stim-free\",nonstim:\"stim-free\",\"non-stim\":\"stim-free\",nitricoxide:\"nitric oxide\",nitric:\"nitric\",\"l-carnatine\":\"l-carnitine\",carnetine:\"carnitine\",carnatine:\"carnitine\",energidrink:\"energy drink\",enrgy:\"energy\",eneregy:\"energy\",\"proten bar\":\"protein bar\",\"proten bars\":\"protein bars\",candi:\"candy\",choclate:\"chocolate\",chcolate:\"chocolate\",cholocate:\"chocolate\",vanila:\"vanilla\",vanlla:\"vanilla\",vnilla:\"vanilla\",strawbery:\"strawberry\",stawberry:\"strawberry\",strwberry:\"strawberry\",peanutbutter:\"peanut butter\",peanutbuter:\"peanut butter\",\"peanut buter\":\"peanut butter\",\"cookies and cream\":\"cookies and cream\",\"cookies n cream\":\"cookies and cream\",\"salted caramel\":\"salted caramel\",greens:\"greens\",superfood:\"superfood\",superfoods:\"superfoods\",kreation:\"creatine\",kreatine:\"creatine\",wuest:\"quest\",qest:\"quest\",quets:\"quest\",barbell:\"barebells\",barbells:\"barebells\",barbel:\"barebells\",gorri:\"gorilla\",gorrila:\"gorilla\",gorila:\"gorilla\",doublewood:\"double wood\"};function correctTypos(q){if(!q)return q;var out=q;Object.keys(_typoMap).forEach(function(k){if(k.indexOf(\" \")<0)return;var re=new RegExp(\"\\\\b\"+k.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")+\"\\\\b\",\"gi\");out=out.replace(re,_typoMap[k])});out=out.split(/(\\s+)/).map(function(tok){if(!tok.trim())return tok;var lower=tok.toLowerCase().replace(/[^\\w'-]/g,\"\");if(_typoMap[lower]&&!_typoMap[lower].match(/\\s/))return _typoMap[lower];return tok}).join(\"\");return out}function parseQuery(q){var clean=q;var maxPrice=null;var minPrice=null;var maxCalories=null;var noArtificial=false;var maxCarbs=null;var maxSugar=null;var maxFat=null;var minProtein=null;var mCal=q.match(/\\b(?:under|below|less\\s*than|max(?:imum)?|up\\s*to|only)\\s*(\\d+(?:\\.\\d+)?)\\s*(?:calor(?:ie|ies)|cals?|kcal)\\b/i);if(mCal){maxCalories=parseFloat(mCal[1]);clean=clean.replace(mCal[0],\" \")}var mCarb=q.match(/\\b(?:under|below|less\\s*than|max(?:imum)?|up\\s*to|only)\\s*(\\d+(?:\\.\\d+)?)\\s*g?\\s*(?:net\\s+)?carbs?\\b/i);if(mCarb){maxCarbs=parseFloat(mCarb[1]);clean=clean.replace(mCarb[0],\" \")}var mSug=q.match(/\\b(?:under|below|less\\s*than|max(?:imum)?|up\\s*to|only)\\s*(\\d+(?:\\.\\d+)?)\\s*g?\\s*sugar\\b/i);if(mSug){maxSugar=parseFloat(mSug[1]);clean=clean.replace(mSug[0],\" \")}var mFat=q.match(/\\b(?:under|below|less\\s*than|max(?:imum)?|up\\s*to|only)\\s*(\\d+(?:\\.\\d+)?)\\s*g?\\s*fat\\b/i);if(mFat){maxFat=parseFloat(mFat[1]);clean=clean.replace(mFat[0],\" \")}var mPro=q.match(/\\b(?:over|above|more\\s*than|at\\s*least|min(?:imum)?)\\s*(\\d+(?:\\.\\d+)?)\\s*g?\\s*protein\\b/i);if(mPro){minProtein=parseFloat(mPro[1]);clean=clean.replace(mPro[0],\" \")}if(/\\bno\\s+(?:artificial\\s+)?(?:sweeteners?|colors?|colours?|flavors?|flavours?|preservatives?|additives?)\\b/i.test(q)||/\\bclean\\s+ingredients?\\b/i.test(q)){noArtificial=true}var mMaxDollar=q.match(/\\b(?:under|below|less\\s*than|cheaper\\s*than|for\\s*under|up\\s*to|max(?:imum)?)\\s*\\$\\s*(\\d+(?:\\.\\d+)?)/i);var mMaxCurr=q.match(/\\b(?:under|below|less\\s*than|cheaper\\s*than|for\\s*under|up\\s*to|max(?:imum)?)\\s*(\\d+(?:\\.\\d+)?)\\s*(?:cad|dollars?|bucks?)\\b/i);if(mMaxDollar){maxPrice=parseFloat(mMaxDollar[1]);clean=clean.replace(mMaxDollar[0],\" \")}else if(mMaxCurr){maxPrice=parseFloat(mMaxCurr[1]);clean=clean.replace(mMaxCurr[0],\" \")}else{var mMaxBare=q.match(/\\b(?:under|below|less\\s*than|cheaper\\s*than|for\\s*under|up\\s*to|max(?:imum)?)\\s*(\\d+(?:\\.\\d+)?)(?!\\s*(?:calor|cal\\b|cals\\b|kcal|carb|sugar|fat|fiber|protein|sodium|g\\b|gram|mg|mcg|oz|ml|lbs?|serv|piece|bar|pack|%))/i);if(mMaxBare){maxPrice=parseFloat(mMaxBare[1]);clean=clean.replace(mMaxBare[0],\" \")}}var mMinDollar=q.match(/\\b(?:over|above|more\\s*than|at\\s*least|min(?:imum)?)\\s*\\$\\s*(\\d+(?:\\.\\d+)?)/i);var mMinCurr=q.match(/\\b(?:over|above|more\\s*than|at\\s*least|min(?:imum)?)\\s*(\\d+(?:\\.\\d+)?)\\s*(?:cad|dollars?|bucks?)\\b/i);if(mMinDollar){minPrice=parseFloat(mMinDollar[1]);clean=clean.replace(mMinDollar[0],\" \")}else if(mMinCurr){minPrice=parseFloat(mMinCurr[1]);clean=clean.replace(mMinCurr[0],\" \")}clean=clean.replace(/\\$\\s*\\d+(?:\\.\\d+)?|\\d+(?:\\.\\d+)?\\s*\\$|\\b\\d+(?:\\.\\d+)?\\s*(?:cad|dollars?|bucks?)\\b/gi,\" \");clean=clean.replace(/\\b(?:and|or|that\\s*cost)\\b/gi,\" \").replace(/\\s+/g,\" \").trim();if(!clean)clean=q;var inStockOnly=false;if(/\\b(?:in[\\-\\s]stock|available|not\\s+sold\\s+out|not\\s+oos)\\b/i.test(q)){inStockOnly=true;clean=clean.replace(/\\b(?:in[\\-\\s]stock|available|not\\s+sold\\s+out|not\\s+oos)\\b/gi,\" \").replace(/\\s+/g,\" \").trim();if(!clean)clean=q}return{clean:clean,maxPrice:maxPrice,minPrice:minPrice,maxCalories:maxCalories,maxCarbs:maxCarbs,maxSugar:maxSugar,maxFat:maxFat,minProtein:minProtein,noArtificial:noArtificial,inStockOnly:inStockOnly}}function productPriceDollars(p){var raw=p.price!=null?p.price:p.price_min;if(raw==null||raw===\"\")return null;var str=String(raw);var n=parseFloat(str);if(!isFinite(n)||n<=0)return null;var looksLikeCents=str.indexOf(\".\")===-1&&Math.round(n)===n&&n>=100;return looksLikeCents?n/100:n}var FOLLOW_UPS=[{match:/muscle|mass|gain|bulk|whey|protein\\s*powder/i,text:\"Want me to find pre-workouts to pair with those?\",q:\"pre-workout\"},{match:/pre.?work|pump|nitric|caffeine/i,text:\"Want recovery BCAAs to go with that?\",q:\"bcaa amino\"},{match:/bcaa|amino|recovery|post.?work/i,text:\"Want magnesium or sleep support for full recovery?\",q:\"magnesium sleep\"},{match:/fat.?burn|weight|keto|low.?carb/i,text:\"Want low-sugar drinks to pair?\",q:\"low sugar drinks\"},{match:/sugar.?free|low.?sugar/i,text:\"Want keto snacks to match?\",q:\"keto snacks\"},{match:/\\bbar\\b|snack|cookie|crisp|chip/i,text:\"Want drinks to pair with those snacks?\",q:\"low sugar drinks\"},{match:/drink|beverage|energy\\s*drink|soda/i,text:\"Want a high-protein snack to pair?\",q:\"high protein snack\"},{match:/sleep|relax|magnesium/i,text:\"Want collagen or greens for morning recovery?\",q:\"collagen greens\"},{match:/vegan|plant/i,text:\"Want vegan protein powder options?\",q:\"vegan protein powder\"},{match:/gluten/i,text:\"Want low-sugar gluten-free options?\",q:\"gluten free low sugar\"},{match:/collagen|beauty/i,text:\"Want high-protein snacks to pair?\",q:\"high protein\"},{match:/immun|vitamin|wellness|greens/i,text:\"Want gut-health options too?\",q:\"probiotic fiber\"},{match:/gut|fiber|probiotic/i,text:\"Want immune-support essentials?\",q:\"vitamin immune\"},{match:/hydrat|electrolyte/i,text:\"Want pre-workouts to pair with hydration?\",q:\"pre-workout\"},{match:/brain|focus|cognit/i,text:\"Want energy drinks for focus?\",q:\"energy drinks\"}];function generateFollowUp(query){var s=(query||\"\").toLowerCase();for(var i=0;i<FOLLOW_UPS.length;i++){if(FOLLOW_UPS[i].match.test(s))return FOLLOW_UPS[i]}return null}function detectLocale(){try{if(window.Shopify&&window.Shopify.locale)return(window.Shopify.locale||\"en\").toLowerCase().slice(0,2);var htmlLang=(document.documentElement.lang||\"en\").toLowerCase().slice(0,2);return htmlLang}catch(e){return\"en\"}}function activeCurrency(){try{if(window.Shopify&&window.Shopify.currency&&window.Shopify.currency.active)return window.Shopify.currency.active}catch(e){}return\"CAD\"}var LOCALE=detectLocale();var CURRENCY=activeCurrency();var T={en:{welcome:\"Hi! Tell me what you\u2019re looking for and I\u2019ll scan our snacks and supplements for the best match. Ask about a goal, diet, brand, ingredient \u2014 whatever helps.\",subtitle:\"Your snack & supplement assistant \u2014 in beta, double-check product info\",placeholder:\"Ask anything \u2014 e.g., \u201Cpre-workout under $40\u201D\",footer:\"Beta \u2014 searches live product info. Results may not be perfect.\",thinking:\"Searching our catalog\",noMatch:\"I couldn\u2019t find exact matches for that. Try another angle \u2014 a goal, brand, ingredient, or specific snack type?\",soldOut:\"Sold out\",inStockAlt:\"Want similar options that are in stock?\",networkErr:\"Hmm, I couldn\u2019t reach the catalog just now. Please try again.\"},fr:{welcome:\"Bonjour! Dites-moi ce que vous cherchez et je scanne notre catalogue pour les meilleures options. Un objectif, un r\u00E9gime, une marque ou un ingr\u00E9dient \u2014 tout fonctionne.\",subtitle:\"Votre assistant collations et suppl\u00E9ments \u2014 en b\u00EAta, v\u00E9rifiez les infos produit\",placeholder:\"Demandez-moi n\u2019importe quoi \u2014 ex. \u00AB pr\u00E9-entra\u00EEnement sous 40 $ \u00BB\",footer:\"B\u00EAta \u2014 recherche en direct. Les r\u00E9sultats peuvent varier.\",thinking:\"Recherche dans le catalogue\",noMatch:\"Je n\u2019ai pas trouv\u00E9 de correspondances. Essayez un autre angle \u2014 objectif, marque, ingr\u00E9dient, ou type pr\u00E9cis?\",soldOut:\"\u00C9puis\u00E9\",inStockAlt:\"Voulez-vous voir des options similaires en stock?\",networkErr:\"Je n\u2019ai pas pu joindre le catalogue. Veuillez r\u00E9essayer.\"}};function t(key){return T[LOCALE]&&T[LOCALE][key]||T.en[key]||\"\"}var INTENT_KEY=\"vr_ai_user_intents_v1\";var INTENT_TAGS=[{tag:\"keto\",match:/keto|low.?carb/i},{tag:\"high-protein\",match:/high.?protein|whey|protein\\s*powder/i},{tag:\"pre-workout\",match:/pre.?work|pump|caffeine/i},{tag:\"recovery\",match:/post.?work|recover|bcaa|amino/i},{tag:\"muscle\",match:/muscle|mass|gain|bulk/i},{tag:\"fat-loss\",match:/fat.?burn|weight.?loss|lean/i},{tag:\"vegan\",match:/vegan|plant/i},{tag:\"gluten-free\",match:/gluten/i},{tag:\"lactose-free\",match:/lactose|dairy.?free|lactose.?intoleran/i},{tag:\"nut-free\",match:/nut.?free|peanut.?free|tree.?nut.?free/i},{tag:\"soy-free\",match:/soy.?free/i},{tag:\"sleep\",match:/sleep|relax|magnesium/i},{tag:\"hydration\",match:/hydrat|electrolyte/i},{tag:\"gut\",match:/gut|fiber|probiotic|digest/i},{tag:\"immune\",match:/immun|vitamin|wellness/i},{tag:\"focus\",match:/brain|focus|cognit/i},{tag:\"women\",match:/women|female|hormone|collagen/i},{tag:\"sugar-free\",match:/sugar.?free|low.?sugar|diabet/i},{tag:\"low-sugar\",match:/low.?sugar/i}];function extractIntentTags(q){var s=(q||\"\").toLowerCase();var tags=[];INTENT_TAGS.forEach(function(it){if(it.match.test(s))tags.push(it.tag)});return tags}function recordIntents(tags){if(!tags||!tags.length)return;try{var raw=localStorage.getItem(INTENT_KEY);var store=raw?JSON.parse(raw):{};var now=Date.now();tags.forEach(function(tag){store[tag]=store[tag]||{count:0,last:0};store[tag].count+=1;store[tag].last=now});localStorage.setItem(INTENT_KEY,JSON.stringify(store))}catch(e){}}function getTopIntents(n){try{var raw=localStorage.getItem(INTENT_KEY);if(!raw)return[];var store=JSON.parse(raw);var arr=[];Object.keys(store).forEach(function(tag){arr.push({tag:tag,count:store[tag].count,last:store[tag].last})});arr.sort(function(a,b){var sa=a.count+(a.last>Date.now()-864e5*7?2:0);var sb=b.count+(b.last>Date.now()-864e5*7?2:0);return sb-sa});return arr.slice(0,n||3)}catch(e){return[]}}var SESSION_INTENTS=[];var BUNDLE_PAIRS=[{a:\"pre-workout\",b:\"recovery\",text:\"You\u2019ve asked about pre-workout and recovery \u2014 want a workout stack bundle?\",q:\"pre-workout bcaa creatine\"},{a:\"muscle\",b:\"pre-workout\",text:\"Looks like you\u2019re building a muscle stack. Want a combined view?\",q:\"whey mass pre-workout creatine\"},{a:\"fat-loss\",b:\"high-protein\",text:\"Want a weight-management + high-protein combo view?\",q:\"fat burner high protein\"},{a:\"sleep\",b:\"recovery\",text:\"Sleep + recovery is a great pair \u2014 want a nighttime recovery stack?\",q:\"magnesium bcaa sleep\"}];function checkBundle(newIntents){newIntents.forEach(function(t){if(SESSION_INTENTS.indexOf(t)===-1)SESSION_INTENTS.push(t)});for(var i=0;i<BUNDLE_PAIRS.length;i++){var p=BUNDLE_PAIRS[i];if(SESSION_INTENTS.indexOf(p.a)!==-1&&SESSION_INTENTS.indexOf(p.b)!==-1){if(!p._fired){p._fired=true;return p}}}return null}var FLAVOR_WORDS=[\"chocolate\",\"vanilla\",\"strawberry\",\"cookies and cream\",\"cookies & cream\",\"cookies cream\",\"peanut butter\",\"mint\",\"caramel\",\"banana\",\"coconut\",\"cinnamon\",\"blueberry\",\"raspberry\",\"apple\",\"orange\",\"lemon\",\"watermelon\",\"grape\",\"mango\",\"tropical\",\"salted\",\"birthday cake\",\"cookie dough\",\"smores\",\"s'mores\",\"cherry\",\"coffee\",\"mocha\",\"hazelnut\",\"pistachio\",\"matcha\",\"honey\",\"maple\",\"pumpkin\",\"candy cane\",\"rocky road\",\"double chocolate\",\"double choc\",\"milk chocolate\",\"white chocolate\",\"dark chocolate\",\"unflavored\",\"unflavoured\"];function extractFlavors(q){var s=(q||\"\").toLowerCase();var found=[];for(var i=0;i<FLAVOR_WORDS.length;i++){var f=FLAVOR_WORDS[i];if(s.indexOf(f)!==-1&&found.indexOf(f)===-1)found.push(f)}return found}function variantMatchesFlavor(variant,flavors){var hay=((variant.title||\"\")+\" \"+(variant.option1||\"\")+\" \"+(variant.option2||\"\")+\" \"+(variant.option3||\"\")+\" \"+(variant.public_title||\"\")).toLowerCase();for(var i=0;i<flavors.length;i++){if(hay.indexOf(flavors[i])!==-1)return true}return false}function enrichWithFlavorVariants(products,flavors){if(!flavors||!flavors.length||!products.length)return Promise.resolve(products);return Promise.all(products.map(function(p){var handle=p.h||p.handle;if(!handle)return Promise.resolve(p);return fetch(rootUrl+\"products/\"+encodeURIComponent(handle)+\".js\",{credentials:\"same-origin\"}).then(function(r){return r.ok?r.json():null}).then(function(data){if(!data||!data.variants)return p;var match=null;for(var i=0;i<data.variants.length;i++){if(variantMatchesFlavor(data.variants[i],flavors)){match=data.variants[i];break}}if(!match)return p;var img=match.featured_image&&match.featured_image.src||p.img||p.image;var url=(p.u||p.url||\"/products/\"+handle)+(match.id?(p.u||p.url||\"\").indexOf(\"?\")===-1?\"?variant=\"+match.id:\"&variant=\"+match.id:\"\");var title=p.t||p.title||\"\";var variantLabel=match.public_title||match.title||\"\";if(variantLabel&&variantLabel!==\"Default Title\"&&title.toLowerCase().indexOf(variantLabel.toLowerCase())===-1){title=title+\" \u2014 \"+variantLabel}var merged={};for(var k in p)if(Object.prototype.hasOwnProperty.call(p,k))merged[k]=p[k];merged.img=img;merged.image=img;merged.t=title;merged.title=title;merged.u=url;merged.url=url;return merged}).catch(function(){return p})}))}var FALLBACK_POOL=[{text:\"Got it \u2014 want to see our top protein bars instead?\",q:\"protein bars\"},{text:\"No worries. Maybe low-sugar snacks?\",q:\"low sugar snacks\"},{text:\"All good. How about best-rated whey?\",q:\"best whey\"},{text:\"Cool. Want to see what\u2019s new this week?\",q:\"new arrivals\"},{text:\"Fair. How about keto-friendly picks?\",q:\"keto snacks\"},{text:\"No problem. Show clearance deals?\",q:\"clearance\"},{text:\"Hmm. Want vegan-friendly picks?\",q:\"vegan protein\"},{text:\"OK \u2014 best fat burners?\",q:\"fat burners\"},{text:\"Sure. How about electrolyte drinks?\",q:\"electrolytes\"},{text:\"Got it. Want to see gluten-free options?\",q:\"gluten free\"}];var _fallbackOffered={};function offerFallbackSuggestion(){var available=FALLBACK_POOL.filter(function(f){return!_fallbackOffered[f.q]});if(!available.length){_fallbackOffered={};available=FALLBACK_POOL}var pick=available[Math.floor(Math.random()*available.length)];_fallbackOffered[pick.q]=1;setTimeout(function(){addBotMessage(pick.text,{prompts:[pick.q,\"Something else\"]})},300)}var QUERY_LOG_KEY=\"vr_ai_query_log_v1\";function trackQuery(info){var q=(info&&info.query||\"\").trim();if(!q)return;var intent=info&&info.intent||\"unknown\";var rc=info&&info.resultCount||0;try{window.__askTnfLastIntent=intent;window.__askTnfLastResultCount=rc;window.__askTnfLastQuery=q;}catch(e){}try{window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:\"ask_tnf_query\",query:q,intent:intent,result_count:rc,page_path:window.location.pathname})}catch(e){}try{if(window.Shopify&&window.Shopify.analytics&&typeof window.Shopify.analytics.publish===\"function\"){window.Shopify.analytics.publish(\"search_submitted\",{searchResult:{query:q,productsCount:rc}})}}catch(e){}try{var log=JSON.parse(localStorage.getItem(QUERY_LOG_KEY)||\"[]\");log.push({t:Date.now(),q:q,intent:intent,n:rc});if(log.length>100)log=log.slice(-100);localStorage.setItem(QUERY_LOG_KEY,JSON.stringify(log))}catch(e){}}window.vrAskTNF=window.vrAskTNF||{};window.vrAskTNF.getQueryLog=function(){try{return JSON.parse(localStorage.getItem(QUERY_LOG_KEY)||\"[]\")}catch(e){return[]}};window.vrAskTNF.exportQueryLogCSV=function(){var log=window.vrAskTNF.getQueryLog();var rows=[[\"timestamp\",\"date\",\"query\",\"intent\",\"results\"]];log.forEach(function(r){rows.push([r.t,new Date(r.t).toISOString(),(r.q||\"\").replace(/\"/g,'\"\"'),r.intent||\"\",r.n||0])});var csv=rows.map(function(r){return r.map(function(x){return'\"'+String(x).replace(/\"/g,'\"\"')+'\"'}).join(\",\")}).join(\"\\n\");var blob=new Blob([csv],{type:\"text/csv\"});var a=document.createElement(\"a\");a.href=URL.createObjectURL(blob);a.download=\"ask-tnf-queries.csv\";a.click();setTimeout(function(){URL.revokeObjectURL(a.href)},1e3)};window.vrAskTNF.clearQueryLog=function(){try{localStorage.removeItem(QUERY_LOG_KEY)}catch(e){}};var TNF_EMAIL=\"info@topnutritionandfitness.com\";var TNF_PHONE_DISPLAY=\"438-812-5229\";var TNF_PHONE_TEL=\"+14388125229\";function tnfMailto(subject,body){return\"mailto:\"+TNF_EMAIL+\"?subject=\"+encodeURIComponent(subject)+(body?\"&body=\"+encodeURIComponent(body):\"\")}function tnfContactBtns(subject,originalQuery){var bodyText=originalQuery?'Hi! I asked Ask TNF: \"'+originalQuery+'\"\\n\\n[Tell us more or ask any follow-up here]\\n\\nThanks!':\"Hi!\\n\\n[Question or details here]\\n\\nThanks!\";return'<div style=\"display:flex;flex-wrap:wrap;gap:8px;margin-top:12px\">'+'<a href=\"'+tnfMailto(subject,bodyText)+'\" style=\"display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#1e2d7d;color:#fff;text-decoration:none;border-radius:6px;font-weight:600;font-size:13px\">\u2709\uFE0F Email us</a>'+\"</div>\"}function isRestockIntent(q){var s=(q||\"\").toLowerCase();return/\\b(restock(?:ed|ing)?|back\\s*in\\s*stock|notify\\s*me|coming\\s*back|sold\\s*out|out\\s*of\\s*stock|when\\s*(?:will|do|are|is)\\s*(?:you\\s*(?:get|have|restock)|this|that|it|the)|backorder|back\\s*order)\\b/i.test(s)}function isWholesaleIntent(q){var s=(q||\"\").toLowerCase();return/\\b(wholesale|bulk\\s*(?:order|pricing|discount|deal|buy)|b2b|reseller|distributor|corporate\\s*(?:order|account|pricing)|gym\\s*(?:order|account|pricing)|team\\s*(?:order|account|pricing)|case\\s*pricing|pallet)\\b/i.test(s)}function isGeneralInquiryIntent(q){var s=(q||\"\").toLowerCase();return/\\b(talk\\s*to\\s*(?:someone|a\\s*human|a\\s*person|an\\s*agent|live)|speak\\s*to\\s*(?:someone|a\\s*human|a\\s*person|an\\s*agent)|real\\s*person|live\\s*agent|representative|customer\\s*(?:service|support|care))\\b/i.test(s)}function handleRestockIntent(q){var msg=\"<strong>Hey!</strong> I'm an AI product finder \u2014 I can't see restock dates or backorders. \"+\"Brands often have shipment delays, so we usually don't have exact dates either.<br><br>\"+\"<strong>Two best paths:</strong><br>\"+\"1. Click <em>\\\"Notify me when available\\\"</em> on the product page \u2014 you'll get an automatic email when it's back<br>\"+\"2. Email us \u2014 sometimes we know more (incoming shipments, brand-side timelines)\"+tnfContactBtns(\"Ask TNF restock question\",q);addBotMessage(msg,{html:true,prompts:[\"Show me what's in stock\",\"Something else\"]});trackQuery({query:q,intent:\"restock\",resultCount:0});showInStockSuggestions(q)}function isDiscountIntent(q){var s=(q||\"\").toLowerCase();return /\\b(discount(?:\\s+code)?|promo(?:\\s+code)?|coupon|deal\\s+code|new\\s+customer\\s+(?:discount|code|offer)|first\\s+order\\s+(?:discount|offer)|10\\s*%\\s*off|15\\s*%\\s*off|20\\s*%\\s*off|any\\s+(?:code|codes|deals?|promos?)|active\\s+(?:code|codes|promo)|current\\s+(?:code|codes|promo|deals?))\\b/i.test(s)}function handleDiscountIntent(q){var msg=\"<strong>Hey!</strong> For current promo codes and new-customer offers, please email <a href=\\\"mailto:info@topnutritionandfitness.com?subject=Promo%20codes\\\" style=\\\"color:#1e2d7d;font-weight:600\\\">info@topnutritionandfitness.com</a>.<br><br>You also earn <strong>5% cashback</strong> on every order automatically via TNF Rewards \u2014 sign up at the cart. <em>Bilingual EN/FR support.</em>\";addBotMessage(msg,{html:true,prompts:[\"Show me clearance\",\"What's on sale?\"]});trackQuery({query:q,intent:\"discount\",resultCount:0})}function isSnackDealIntent(q){var s=(q||\"\").toLowerCase();if(/\\bfreesnack2?\\b/.test(s))return true;if(/\\bmix\\s*(?:and|&|n)\\s*match\\b/.test(s))return true;if(/\\bbuy\\s*\\d+\\s*get\\s*\\d+\\b/.test(s))return true;if(/\\bget\\s*(?:1|2|one|two)\\s+free\\b/.test(s))return true;if(/(?:^|\\D)(?:5\\s*\\+\\s*1|10\\s*\\+\\s*2)(?:\\D|$)/.test(s))return true;if(/\\b(?:snack|snacks|bar|bars|candy)\\s+(?:deal|deals|bundle|promo|offer)\\b/.test(s))return true;if(/\\b(?:deal|bundle|combo)\\s+(?:on\\s+)?(?:snack|snacks|bars)\\b/.test(s))return true;if(/(?:price|discount|deal).{0,24}(?:not|isn.?t|doesn.?t|won.?t|wont|didn.?t).{0,20}(?:chang|updat|show|appl|work).{0,16}cart/.test(s))return true;return false}function handleSnackDealIntent(q){var msg='<strong>Our mix-and-match snack deal \uD83C\uDF89</strong><br><br>Add any snacks priced <strong>under $6</strong> to your cart \u2014 mix &amp; match across eligible protein bars, cookies, candy and more.<br><br>\u2022 <strong>Buy 5, get 1 free</strong> with code <strong>FREESNACK</strong> (have 6 eligible snacks in your cart).<br>\u2022 <strong>Buy 10, get 2 free</strong> with code <strong>FREESNACK2</strong> (have 12 eligible snacks in your cart).<br><br>Enter the code at <strong>checkout</strong> \u2014 the free items apply there, so the discount shows at checkout (not in the cart preview) and lowers your effective price per snack. Flavours and brands can be mixed. <a href=\"/collections/individual-protein-snacks\" style=\"color:#1e2d7d;font-weight:600\">Shop eligible snacks \u2192</a>';addBotMessage(msg,{html:true,prompts:['Show me snacks under $6',\"What is on clearance?\"]});trackQuery({query:q,intent:\"snack_deal\",resultCount:0})}function tnfBrandFallbackCollections(q){var s=String(q||\"\").toLowerCase();var out=[];var hdr=\"Meanwhile, you might like these collections:\";if(/\\b(cbum|raw|nutrition|whey|protein\\s*powder|isolate|casein|mass\\s*gainer)\\b/i.test(s)){out.push({title:\"Protein Powder\",handle:\"protein-powder\"})}if(/\\b(oxyshred|ehp|fat\\s*burn|thermogenic|lipo|weight\\s*loss|cutting)\\b/i.test(s)){out.push({title:\"Weight Management / Fat Loss\",handle:\"lose-fat\"})}if(/\\b(ghost\\s*lifestyle|bcaa|eaa|amino|intra)\\b/i.test(s)){out.push({title:\"Amino Acids / BCAA / EAA\",handle:\"amino-acids\"})}if(/\\b(d\\s*ribose|ribose|energy|electrolyte|hydration|stim|caffeine)\\b/i.test(s)){out.push({title:\"Pre-Workout\",handle:\"pre-workout-1\"})}if(/\\b(bar|snack|cookie|candy|treat|sweet)\\b/i.test(s)){out.push({title:\"Protein Snacks\",handle:\"protein-snacks-1\"})}if(/\\b(creatine|monohydrate)\\b/i.test(s)){out.push({title:\"Gain Muscle\",handle:\"gain-muscle\"})}if(/\\b(collagen|beauty|hair|skin|nail)\\b/i.test(s)){out.push({title:\"Collagen & Beauty\",handle:\"collagen-beauty-supplements\"})}if(/\\b(keto|low\\s*carb|sugar\\s*free|zero\\s*sugar)\\b/i.test(s)){out.push({title:\"Keto & Low-Carb Snacks\",handle:\"keto-low-carb\"})}if(/\\b(vegan|plant)\\b/i.test(s)){out.push({title:\"Vegan Protein\",handle:\"vegan-protein\"})}if(out.length===0){out.push({title:\"All Products\",handle:\"all\"})}var seen={};var dedup=[];for(var i=0;i<out.length&&dedup.length<3;i++){if(!seen[out[i].handle]){seen[out[i].handle]=1;dedup.push(out[i])}}return{collections:dedup,header:hdr}}var TNF_INTENT_STOPWORDS=[\"the\",\"a\",\"an\",\"and\",\"or\",\"of\",\"for\",\"to\",\"in\",\"at\",\"on\",\"with\",\"from\",\"my\",\"your\",\"our\",\"this\",\"that\",\"these\",\"those\",\"it\",\"i\",\"we\",\"us\",\"you\",\"they\",\"restock\",\"restocked\",\"restocking\",\"back\",\"stock\",\"coming\",\"come\",\"came\",\"sold\",\"out\",\"notify\",\"me\",\"backorder\",\"order\",\"have\",\"has\",\"had\",\"be\",\"been\",\"being\",\"get\",\"got\",\"getting\",\"will\",\"would\",\"could\",\"should\",\"can\",\"do\",\"does\",\"did\",\"is\",\"are\",\"was\",\"were\",\"am\",\"when\",\"where\",\"why\",\"how\",\"what\",\"who\",\"whose\",\"if\",\"please\",\"any\",\"some\",\"more\",\"most\",\"very\",\"really\",\"still\",\"again\",\"soon\",\"ever\",\"any\",\"more\",\"available\"];function extractKeywords(q){return(q||\"\").toLowerCase().split(/[^a-z0-9]+/).filter(function(w){return w.length>=3&&TNF_INTENT_STOPWORDS.indexOf(w)===-1})}function showInStockSuggestions(q,customLabel){try{var keywords=extractKeywords(q);if(keywords.length===0)return;var searchQ=keywords.join(\" \");var url=rootUrl+\"search/suggest.json?q=\"+encodeURIComponent(searchQ)+\"&resources[type]=product&resources[limit]=8\";fetch(url,{credentials:\"same-origin\"}).then(function(r){return r.json()}).then(function(data){var prods=(data&&data.resources&&data.resources.results&&data.resources.results.products||[]).filter(function(p){return p.available!==false}).slice(0,4);if(prods.length===0)return;var brandName=(prods[0].vendor||\"\").trim();var label=customLabel||(brandName?\"Meanwhile, here's what we have in stock from \"+brandName+\":\":\"Meanwhile, here are similar in-stock options:\");setTimeout(function(){addBotMessage(label,{products:prods,query:q})},700)}).catch(function(){})}catch(e){}}var TNF_NON_BRAND_TERMS=[\"highest\",\"most\",\"lowest\",\"cheapest\",\"strongest\",\"biggest\",\"largest\",\"smallest\",\"greatest\",\"fewest\",\"higher\",\"lower\",\"cheaper\",\"stronger\",\"best\",\"richest\",\"leanest\",\"cleanest\",\"purest\",\"healthiest\",\"tastiest\",\"weakest\",\"strong\",\"intense\",\"smooth\",\"deep\",\"fast\",\"slow\",\"hot\",\"cold\",\"warm\",\"cool\",\"fresh\",\"frozen\",\"small\",\"large\",\"mini\",\"micro\",\"tiny\",\"huge\",\"massive\",\"spicy\",\"bitter\",\"sour\",\"salty\",\"mild\",\"bold\",\"chewy\",\"crunchy\",\"crispy\",\"soft\",\"hardcore\",\"hyper\",\"light\",\"heavy\",\"thick\",\"thin\",\"rich\",\"full\",\"gentle\",\"harsh\",\"classic\",\"traditional\",\"modern\",\"standard\",\"basic\",\"regular\",\"caffeine\",\"creatine\",\"citrulline\",\"taurine\",\"arginine\",\"carnitine\",\"glutamine\",\"leucine\",\"valine\",\"isoleucine\",\"lysine\",\"methionine\",\"tyrosine\",\"threonine\",\"phenylalanine\",\"tryptophan\",\"glycine\",\"alanine\",\"betaine\",\"theanine\",\"choline\",\"inositol\",\"carnosine\",\"ribose\",\"glycerol\",\"agmatine\",\"ornithine\",\"citicoline\",\"magnesium\",\"zinc\",\"calcium\",\"iron\",\"potassium\",\"sodium\",\"selenium\",\"chromium\",\"biotin\",\"folate\",\"niacin\",\"riboflavin\",\"thiamine\",\"thiamin\",\"iodine\",\"copper\",\"manganese\",\"vitamin\",\"vitamins\",\"ashwagandha\",\"turmeric\",\"curcumin\",\"ginseng\",\"maca\",\"rhodiola\",\"tongkat\",\"fenugreek\",\"turkesterone\",\"ecdysterone\",\"ginger\",\"garlic\",\"cinnamon\",\"astragalus\",\"bacopa\",\"stevia\",\"allulose\",\"erythritol\",\"xylitol\",\"monkfruit\",\"sucralose\",\"aspartame\",\"sorbitol\",\"maltitol\",\"isomalt\",\"agave\",\"hemp\",\"almond\",\"chia\",\"flax\",\"chickpea\",\"lentil\",\"spirulina\",\"chlorella\",\"inulin\",\"psyllium\",\"xanthan\",\"guar\",\"pectin\",\"omega\",\"omega3\",\"fishoil\",\"krill\",\"algae\",\"thermogenic\",\"lipolytic\",\"vasodilator\",\"nootropic\",\"nootropics\",\"adaptogenic\",\"ergogenic\",\"anabolic\",\"catabolic\",\"metabolic\",\"metabolism\",\"stimulant\",\"stimulants\",\"stimfree\",\"caffeinefree\",\"decaf\",\"decaffeinated\",\"pill\",\"pills\",\"tablet\",\"tablets\",\"capsule\",\"capsules\",\"softgel\",\"softgels\",\"gummy\",\"gummies\",\"cream\",\"lotion\",\"shake\",\"shaker\",\"bottle\",\"pack\",\"package\",\"sachet\",\"sachets\",\"stick\",\"sticks\",\"pouch\",\"pouches\",\"high\",\"caffeine\",\"zero\",\"low\",\"calorie\",\"calories\",\"sugar\",\"cake\",\"softer\",\"sweeter\",\"appetite\",\"suppressant\",\"suppressants\"];var TNF_CONTENT_STOPWORDS=[\"the\",\"a\",\"an\",\"and\",\"or\",\"of\",\"for\",\"to\",\"in\",\"at\",\"on\",\"with\",\"from\",\"my\",\"your\",\"our\",\"this\",\"that\",\"these\",\"those\",\"they\",\"them\",\"have\",\"has\",\"had\",\"will\",\"would\",\"could\",\"should\",\"want\",\"need\",\"need\",\"looking\",\"find\",\"search\",\"show\",\"give\",\"get\",\"got\",\"best\",\"top\",\"great\",\"good\",\"better\",\"some\",\"any\",\"more\",\"most\",\"very\",\"really\",\"still\",\"again\",\"soon\",\"available\",\"options\",\"brand\",\"brands\",\"flavor\",\"flavors\",\"flavour\",\"flavours\",\"version\",\"please\",\"help\",\"hello\",\"hey\",\"protein\",\"bar\",\"bars\",\"snack\",\"snacks\",\"cookie\",\"cookies\",\"candy\",\"candies\",\"drink\",\"drinks\",\"powder\",\"supplement\",\"supplements\",\"high\",\"low\",\"keto\",\"vegan\",\"sugar\",\"free\",\"sugarfree\",\"gluten\",\"organic\",\"natural\",\"clean\",\"tasty\",\"delicious\",\"cheap\",\"affordable\",\"expensive\",\"sale\",\"clearance\",\"new\",\"old\",\"popular\",\"lactose\",\"dairy\",\"dairyfree\",\"lactosefree\",\"lactosesfree\",\"soy\",\"soyfree\",\"nut\",\"nutfree\",\"peanut\",\"peanutfree\",\"treenut\",\"egg\",\"eggfree\",\"allergen\",\"allergy\",\"allergic\",\"allergies\",\"intolerant\",\"intolerance\",\"isolate\",\"concentrate\",\"blend\",\"plantbased\",\"plant\",\"beef\",\"casein\",\"calorie\",\"calories\",\"calorie\",\"fat\",\"lowfat\",\"lowsugar\",\"lowcarb\",\"net\",\"carb\",\"carbs\",\"grams\",\"gram\",\"serving\",\"servings\",\"dose\",\"dosage\",\"flavored\",\"flavoured\",\"unflavored\",\"unflavoured\",\"friendly\",\"dietary\",\"allergy-friendly\",\"vegetarian\",\"paleo\",\"whole30\",\"kosher\",\"halal\",\"seedoil\",\"seed\",\"oils\",\"artificial\",\"sweetener\",\"sweeteners\",\"sweetened\",\"preservative\",\"preservatives\",\"color\",\"colors\",\"colour\",\"colours\",\"dye\",\"dyes\",\"additive\",\"additives\",\"ingredient\",\"ingredients\",\"contain\",\"contains\",\"without\",\"include\",\"includes\",\"including\",\"made\",\"family\",\"health\",\"healthy\",\"approved\",\"certified\",\"third-party\",\"tested\",\"batch\",\"quality\",\"premium\",\"protein-rich\",\"non-gmo\",\"nongmo\",\"gmo\",\"glutenfree\",\"dairyfree\",\"sugarfree\",\"soyfree\",\"nutfree\",\"peanutfree\",\"eggfree\",\"lactosefree\",\"glutenfree\",\"vegan-friendly\",\"keto-friendly\",\"diabetic\",\"diabetic-friendly\",\"burner\",\"burners\",\"fatburner\",\"fat-burner\",\"gainer\",\"gainers\",\"massgainer\",\"mass-gainer\",\"booster\",\"boosters\",\"testbooster\",\"blocker\",\"blockers\",\"melatonin\",\"workout\",\"preworkout\",\"pre-workout\",\"postworkout\",\"post-workout\",\"meal\",\"meals\",\"replacement\",\"energy\",\"focus\",\"endurance\",\"recovery\",\"strength\",\"hydration\",\"bcaa\",\"eaa\",\"aminos\",\"electrolyte\",\"electrolytes\",\"greens\",\"multi\",\"multivitamin\",\"multivitamins\",\"prebiotic\",\"probiotic\",\"probiotics\",\"digestive\",\"enzyme\",\"enzymes\",\"beauty\",\"skincare\",\"skin\",\"joint\",\"joints\",\"sleep\",\"immunity\",\"immune\",\"wellness\",\"antioxidant\",\"antioxidants\",\"adaptogen\",\"adaptogens\",\"testosterone\",\"sale\",\"sales\",\"clearance\",\"bundle\",\"bundles\",\"cheap\",\"cheaper\",\"cheapest\",\"affordable\",\"budget\",\"bargain\",\"discount\",\"discounts\",\"discounted\",\"deal\",\"deals\"];var TNF_INTENT_COLLECTIONS={\"lactose-free\":[{title:\"Whey Protein Isolate\",handle:\"whey-protein-isolate\"},{title:\"Vegan / Plant Protein\",handle:\"vegan-protein\"},{title:\"Beef Protein Isolate\",handle:\"beef-protein\"}],\"gluten-free\":[{title:\"Gluten-Free Protein Snacks\",handle:\"gluten-free-protein-snacks\"},{title:\"Gluten-Free (All)\",handle:\"gluten-free-1\"},{title:\"Keto & Low-Carb Snacks\",handle:\"keto-low-carb\"}],vegan:[{title:\"Vegan Protein Powder\",handle:\"vegan-protein\"},{title:\"Vegan Protein Snacks\",handle:\"vegan-protein-snacks\"},{title:\"All Vegan Products\",handle:\"vegan\"}],\"sugar-free\":[{title:\"Keto & Low-Carb Snacks\",handle:\"keto-low-carb\"},{title:\"Low Carb\",handle:\"low-carb\"}],keto:[{title:\"Keto & Low-Carb Snacks\",handle:\"keto-low-carb\"},{title:\"Low Carb\",handle:\"low-carb\"}],\"no-artificial\":[{title:\"Clean Ingredients\",handle:\"clean-ingredients\"},{title:\"Vegan Protein\",handle:\"vegan-protein\"},{title:\"Health & Wellness\",handle:\"health-wellness\"}],muscle:[{title:\"Gain Muscle\",handle:\"gain-muscle\"},{title:\"Protein Powder\",handle:\"protein-powder\"}],\"fat-loss\":[{title:\"Weight Management / Fat Loss\",handle:\"lose-fat\"}],\"pre-workout\":[{title:\"Pre-Workout\",handle:\"pre-workout-1\"},{title:\"Increase Energy\",handle:\"increase-energy\"}],sleep:[{title:\"Sleep Aid\",handle:\"sleep-aid\"}],collagen:[{title:\"Collagen & Beauty\",handle:\"collagen-beauty-supplements\"}],recovery:[{title:\"Health & Wellness\",handle:\"health-wellness\"}],protein:[{title:\"Protein Powder\",handle:\"protein-powder\"},{title:\"Protein Snacks\",handle:\"protein-snacks-1\"}],\"mass-gainer\":[{title:\"Gain Muscle\",handle:\"gain-muscle\"},{title:\"Protein Powder\",handle:\"protein-powder\"}],creatine:[{title:\"Gain Muscle\",handle:\"gain-muscle\"}],budget:[{title:\"Clearance & Sales\",handle:\"clearance\"},{title:\"Sales & Bundles\",handle:\"sales-stacks-1\"},{title:\"Mix & Match Deal Snacks\",handle:\"individual-protein-snacks\"}]};function getIntentCollections(q){var s=String(q||\"\").toLowerCase();var out=[];if(/lactose|dairy.?free|lactose.?intoleran/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"lactose-free\"]);if(/gluten/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"gluten-free\"]);if(/vegan|plant.?based|plant.?protein/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"vegan\"]);if(/\\b0\\s*sugar|\\bno\\s*sugar|\\bzero\\s*sugar|sugar.?free/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"sugar-free\"]);if(/\\bketo\\b|low.?carb|diabet|blood.?sugar/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"keto\"]);if(/no.?artificial|clean.?ingredient|natural\\s*(?:ingredient|protein|sweeten|flav|product)|all.?natural|clean.?label|no.?preservativ|no.?dye|no.?additive/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"no-artificial\"]);if(/gain\\s*muscle|build.*muscle|bulk|hardgain/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"muscle\"]);if(/mass\\s*gain|weight\\s*gain|skinny\\s*guy/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"mass-gainer\"]);if(/fat\\s*burn|burn\\s*fat|lose\\s*weight|weight.?loss|cutting|lean\\s*out/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"fat-loss\"]);if(/pre.?work|pump|caffeine|energy\\s*boost|increase.?energy/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"pre-workout\"]);if(/post.?work|recover|bcaa|amino/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"recovery\"]);if(/sleep|relax|magnesium/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"sleep\"]);if(/collagen|skin|joint|hair|nails/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"collagen\"]);if(/creatine/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"creatine\"]);if(/\\bcheap\\b|\\baffordable\\b|\\bbudget\\b|\\bbargain\\b|\\bdiscount(?:ed)?\\b|\\bsale\\b|\\bclearance\\b|\\bdeal\\b|\\blow\\s*price\\b|\\blowest\\s*price\\b|\\bbest\\s*price\\b|\\bbest\\s*value\\b|\\bcost.?effective\\b|\\bsave\\s*money\\b|\\bsaving\\b|\\beconomic|\\bcost\\s*per\\s*serv|\\bprice\\s*per\\s*serv|\\bunder\\s*\\$\\d|\\bbelow\\s*\\$\\d/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"budget\"]);if(out.length===0&&/\\bprotein/i.test(s))out=out.concat(TNF_INTENT_COLLECTIONS[\"protein\"]);return out}var TNF_KNOWN_BRAND_HINTS=[\"barebells\",\"built\",\"diva\",\"ryse\",\"ghost\",\"abe\",\"bucked\",\"allmax\",\"prozis\",\"warrior\",\"mutant\",\"pvl\",\"grenade\",\"tested\",\"quest\",\"alani\",\"alanis\",\"gnc\",\"myprotein\",\"optimum\",\"gold\",\"standard\",\"gaspari\",\"redcon\",\"pescience\",\"nutex\",\"nutrabolics\",\"cellucor\",\"c4\",\"jym\",\"kaged\",\"mts\",\"muscletech\",\"bsn\",\"ronnie\",\"coleman\",\"insane\",\"labs\",\"ehp\",\"hosstile\",\"nutrycookies\",\"nutrynuts\",\"nutry\",\"crispower\",\"alphaprime\",\"alpha\",\"wispy\",\"shameless\",\"anabar\",\"crispower\",\"hexapro\",\"amino\",\"ehplabs\",\"oxyshred\",\"arms\",\"race\",\"yumms\",\"yumm\",\"puff\",\"puffs\",\"chefrobert\",\"robert\",\"irwin\",\"naturals\",\"truely\",\"truly\",\"truley\",\"choczero\",\"bowmar\",\"simply\",\"scrumptous\",\"scrumptious\",\"nature\",\"valley\",\"kindbar\",\"kind\",\"rxbar\",\"rx\",\"onlyfit\",\"onlyfitofficial\",\"fitcrunch\",\"power\",\"crunch\",\"quest\",\"unicornsupplements\",\"spectrum\",\"barbells\",\"barebell\",\"builtbar\",\"fortune\",\"mammoth\",\"omaha\",\"sneak\",\"snck\",\"rabeko\",\"smarter\",\"empire\",\"everx\",\"ironside\",\"redrock\",\"slack\",\"redbull\",\"reign\",\"monster\",\"celcius\",\"celsius\",\"vega\",\"sunwarrior\",\"trubrain\",\"huel\",\"ample\",\"soylent\",\"liquidiv\",\"liquid\",\"drink\",\"poppi\",\"ollipop\",\"olipop\",\"drink\",\"poppi\",\"aha\",\"spindrift\",\"essentia\",\"fiji\",\"smartwater\",\"gatorade\",\"prime\",\"gnarly\",\"levels\",\"factor\",\"kpop\",\"perfectsports\",\"perfect\",\"sports\",\"ironclad\",\"beyond\",\"yummers\",\"wellness\",\"wholesome\",\"truvani\",\"kos\",\"orgain\",\"vital\",\"proteins\",\"collagen\",\"skinny\",\"halo\",\"top\",\"cones\",\"yasso\",\"enlightened\",\"arctic\",\"zero\",\"two\",\"good\",\"fairlife\",\"core\",\"power\",\"premier\",\"fairlife\",\"muscle\",\"milk\",\"muscleegg\",\"muscle\",\"egg\",\"kos\",\"kreatures\",\"kreations\",\"foolproof\",\"puffworks\",\"peanut\",\"butter\",\"cups\",\"pbcrave\",\"pb\",\"crave\",\"perfectbar\",\"perfect\",\"bar\",\"oats\",\"overnight\",\"kodiak\",\"cakes\",\"birch\",\"benders\",\"catalina\",\"crunch\",\"atkins\",\"keto\",\"krate\",\"chocxo\",\"lily\",\"lilys\",\"hu\",\"kitchen\",\"unreal\",\"yummers\",\"feastables\",\"kbox\",\"yumms\",\"wokali\",\"wholesome\",\"yumms\",\"yummmable\",\"yumms\",\"wokali\"];function detectUnknownBrand(query,products){if(!query||!products||!products.length)return null;var qLower=String(query).toLowerCase();var TNF_DEFINITELY_CARRIED=[\"barebells\",\"barebell\",\"barbells\",\"jello\",\"jell-o\",\"jell o\",\"jellopudding\"];var qNorm=qLower.replace(/[-\\s]+/g,\"\");for(var dc=0;dc<TNF_DEFINITELY_CARRIED.length;dc++){var dcw=TNF_DEFINITELY_CARRIED[dc];var dcwNorm=dcw.replace(/[-\\s]+/g,\"\");if(qLower.indexOf(dcw)!==-1||(dcwNorm.length>=4&&qNorm.indexOf(dcwNorm)!==-1)){return null}}for(var kb=0;kb<TNF_KNOWN_BRAND_HINTS.length;kb++){var kbw=TNF_KNOWN_BRAND_HINTS[kb];if(qLower.indexOf(kbw)!==-1){for(var kbj=0;kbj<products.length;kbj++){var khay=((products[kbj].v||products[kbj].vendor||\"\")+\" \"+(products[kbj].t||products[kbj].title||\"\")+\" \"+(products[kbj].h||products[kbj].handle||\"\")+\" \"+(products[kbj].tags||\"\")).toLowerCase();if(khay.indexOf(kbw)!==-1){return null}}}}var words=qLower.split(/[^a-z0-9]+/).filter(function(w){if(w.length<4)return false;if(TNF_CONTENT_STOPWORDS.indexOf(w)!==-1)return false;if(TNF_NON_BRAND_TERMS.indexOf(w)!==-1)return false;return true});if(words.length===0)return null;for(var i=0;i<words.length;i++){var w=words[i];var foundInResults=false;for(var j=0;j<products.length;j++){var v=String(products[j].v||products[j].vendor||\"\").toLowerCase();var t=String(products[j].t||products[j].title||\"\").toLowerCase();var h=String(products[j].h||products[j].handle||\"\").toLowerCase();var tg=String(products[j].tags||\"\").toLowerCase();if(v.indexOf(w)!==-1||t.indexOf(w)!==-1||h.indexOf(w)!==-1||tg.indexOf(w)!==-1){foundInResults=true;break}}if(!foundInResults){return w.charAt(0).toUpperCase()+w.slice(1)}}return null}function brandRecommendBtns(brandName,originalQuery){var bodyText=\"Hi! I'd love to see \\\"\"+brandName+'\" in your store.\\n\\nMy original Ask TNF question: \"'+originalQuery+'\"\\n\\n[Anything else you want to share]';return'<div style=\"display:flex;flex-wrap:wrap;gap:8px;margin-top:12px\">'+'<a href=\"'+tnfMailto(\"Ask TNF product recommendation\",bodyText)+'\" style=\"display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#1e2d7d;color:#fff;text-decoration:none;border-radius:6px;font-weight:600;font-size:13px\">\u2709\uFE0F Recommend '+brandName+\"</a>\"+\"</div>\"}function handleWholesaleIntent(q){var msg=\"<strong>Hey!</strong> Wholesale, bulk, and B2B inquiries are handled by our team directly (not me, the AI product finder).<br><br>\"+\"Email us with what you're looking for (products, quantities, location):\"+tnfContactBtns(\"Ask TNF wholesale inquiry\",q);addBotMessage(msg,{html:true});trackQuery({query:q,intent:\"wholesale\",resultCount:0})}function handleGeneralInquiryIntent(q){var msg=\"<strong>Hey!</strong> I'm an AI product finder. For account questions, store hours, returns, or anything that needs a real person, \"+\"please email us \u2014 we respond within 1 business day:\"+tnfContactBtns(\"Ask TNF general inquiry\",q)+\"<br><br><em>If you're looking for a product, I can help \u2014 just describe what you're after.</em>\";addBotMessage(msg,{html:true});trackQuery({query:q,intent:\"general_inquiry\",resultCount:0})}var TNF_FAQ_KB=[{key:\"hours_address\",match:/\\b(hours?|open(?:ing)?|closing|when\\s*(?:are\\s*you|do\\s*you)\\s*open|what\\s*time\\s*(?:do\\s*you|are\\s*you)|what\\s*time\\s*today|are\\s*you\\s*open|you\\s*open\\s*today|when\\s*do\\s*you\\s*close|where\\s*(?:are\\s*you|is\\s*your\\s*store)|address|location|find\\s*you|store\\s*location|physical\\s*store|in\\s*person|montreal\\s*store|come\\s*see\\s*you|come\\s*to\\s*your\\s*store)\\b/i,sourceUrl:\"/pages/contact-us\",sourceLabel:\"Contact Us page\",title:\"store hours and location\",html:function(){return\"<strong>Our store:</strong> 3575 Ave du Parc, Montreal QC H2X 3P9 \"+\"<em>(inside Galeries du Parc underground mall)</em>.<br><br>\"+\"<strong>Open:</strong> Mon 11\u20138, Tue\u2013Fri 11\u20136, Weekends 11\u20135.\"}},{key:\"shipping_cost\",match:/\\b(shipping\\s*(?:cost|price|fee|charge|rate)|how\\s*much\\s*(?:is\\s*)?shipping|free\\s*shipping|shipping\\s*threshold|do\\s*you\\s*ship\\s*(?:to|outside)|deliver(?:y|ies)?\\s*(?:cost|fee|charge))\\b/i,sourceUrl:\"/policies/shipping-policy\",sourceLabel:\"Shipping Policy\",title:\"shipping costs\",html:function(){return\"<strong>Free shipping</strong> over $125 CAD subtotal (Canada) or $75 USD subtotal (USA).<br>\"+\"Flat $12 for orders over $50, otherwise carrier rates depending on what you select at checkout.<br><br>\"+\"<em>Free shipping is calculated AFTER discounts and BEFORE taxes.</em>\"}},{key:\"shipping_speed\",match:/\\b(how\\s*long|how\\s*fast|how\\s*soon|ship(?:ping)?\\s*time|delivery\\s*time|when\\s*will\\s*(?:my\\s*)?order|how\\s*many\\s*(?:business\\s*)?days|same\\s*day\\s*ship|express\\s*ship|express\\s*delivery|estimated\\s*deliver)\\b/i,sourceUrl:\"/policies/shipping-policy\",sourceLabel:\"Shipping Policy\",title:\"shipping speed\",html:function(){return\"Same-day shipping if you order by <strong>4 PM EST</strong>.<br><br>\"+\"<strong>Quebec/Ontario:</strong> 1\u20133 business days standard<br>\"+\"<strong>Other Canadian provinces:</strong> 3\u20137 business days<br>\"+\"<strong>Express Canada:</strong> 1\u20132 business days<br>\"+\"<strong>USA:</strong> 2\u20137 business days (may have customs delays)<br><br>\"+\"<em>These are estimates from carriers \u2014 only Express is guaranteed.</em>\"}},{key:\"returns\",match:/\\b(return(?:s|ing|able)?|refund(?:s|ing|able)?|exchange|how\\s*to\\s*return|can\\s*i\\s*return|return\\s*polic|refund\\s*polic|money\\s*back|store\\s*credit|gift\\s*card\\s*refund)\\b/i,sourceUrl:\"/policies/refund-policy\",sourceLabel:\"Refund Policy\",title:\"return and refund policy\",html:function(){return\"<strong>30-day return policy</strong> \u2014 even on opened supplements (used &lt;7 servings).<br><br>\"+\"<strong>All refunds are issued as store credit (gift card)</strong>, not back to the original payment method.<br><br>\"+\"To start a return: log into your account \u2192 click on the order \u2192 request return. Or email us within 30 days with order # and photos.<br><br>\"+\"<strong>Damaged items?</strong> Email us within 48 hours with photos.<br><br>\"+'<hr style=\"border:0;border-top:1px solid #e5e5e5;margin:12px 0\">'+'<strong>Did you opt in to Onward at checkout?</strong> You have a <strong>90-day satisfaction guarantee</strong> instead of 30 days, plus <strong>5% cash back</strong> (on top of your TNF rewards points), plus <strong>instant claim resolution</strong> \u2014 no waiting for carrier investigations. <a href=\"/pages/onward-guarantee\" style=\"color:#1e2d7d;text-decoration:underline\">Learn more</a>.<br><br>'+\"<em>Some items aren't returnable: clearance/final sale, gift cards, opened food (bars/snacks/drinks), tanning lotions, fitness accessories.</em>\"}},{key:\"payments\",match:/\\b(payment\\s*(?:method|option|type)|do\\s*you\\s*accept|accept\\s*(?:apple|google|paypal|interac|debit|credit|amex|visa|mastercard|cheque|check|cash)|how\\s*(?:can|do)\\s*i\\s*pay|how\\s*to\\s*pay|pay\\s*(?:with|by|on|using|via)|can\\s*i\\s*pay\\s*(?:by|with|on|using|via)?|can\\s*i\\s*do\\s*(?:apple|google|paypal|interac|cheque|check|cash)|apple\\s*pay|google\\s*pay|shop\\s*pay|interac|paypal|how\\s*can\\s*i\\s*order|how\\s*do\\s*i\\s*order|how\\s*to\\s*order|how\\s*can\\s*i\\s*checkout|how\\s*to\\s*checkout)\\b/i,sourceUrl:\"/pages/faq\",sourceLabel:\"FAQ page\",title:\"payment methods and ordering\",html:function(){return\"Multiple payment methods are available: credit cards (Visa, Mastercard, Amex), Apple Pay, Google Pay, Shop Pay, and others.<br><br>\"+\"<strong>To order:</strong> add items to your cart, click the cart icon, and click checkout. You'll see the full list of payment options at checkout.<br><br>\"+\"<em>Note: we don't take orders by phone \u2014 please order through the website. For payment-specific questions (e.g. cheque, special methods), email us.</em>\"}},{key:\"rewards\",match:/\\b(loyalty|rewards?|points?|smile|referral|refer\\s*a\\s*friend|earn\\s*points)\\b/i,sourceUrl:\"/pages/rewards\",sourceLabel:\"Rewards page\",title:\"loyalty program\",html:function(){return\"We have a loyalty program \u2014 earn points on every purchase and redeem them for discounts.<br><br>\"+\"Sign in or create an account to start earning. The rewards widget on the bottom-right of any page shows your points balance.\"}}];function findFaqAnswer(q){for(var i=0;i<TNF_FAQ_KB.length;i++){if(TNF_FAQ_KB[i].match.test(q))return TNF_FAQ_KB[i]}return null}function handleFaqAnswer(q,faq){var sourceLink='<a href=\"'+faq.sourceUrl+'\" target=\"_blank\" rel=\"noopener\" style=\"color:#1e2d7d;text-decoration:underline\">'+faq.sourceLabel+\"</a>\";var msg=faq.html(q)+\"<br><br><em>I got this from our \"+sourceLink+\". Always best to verify there or contact us \u2014 our phone system also has info on common topics.</em>\"+tnfContactBtns(\"Ask TNF question about \"+faq.title,q);addBotMessage(msg,{html:true,prompts:[\"Something else\"]});trackQuery({query:q,intent:\"faq_\"+faq.key,resultCount:1})}function looksLikeBrandQuery(q){if(!q)return false;var words=String(q).trim().split(/\\s+/);if(words.length===0)return false;for(var i=0;i<words.length;i++){var w=words[i];if(/^[A-Z][a-z]+/.test(w)&&!/^(How|What|When|Where|Why|Can|Do|Is|Are|Will|Should|Could|Would|Hi|Hello|Hey|My|I)$/i.test(w)){return true}}if(words.length<=3&&!/\\b(how|what|when|where|why|can|do|is|are|under|over)\\b/i.test(q)){return true}return false}function handleBrandNotCarried(q){var safe=String(q).replace(/[<>\"]/g,\"\").slice(0,100);var bodyText=\"Hi! I'd love to see \\\"\"+q+'\" in your store.\\n\\n[Anything else you want to share]';var btns='<div style=\"display:flex;flex-wrap:wrap;gap:8px;margin-top:12px\">'+'<a href=\"'+tnfMailto(\"Ask TNF product recommendation\",bodyText)+'\" style=\"display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#1e2d7d;color:#fff;text-decoration:none;border-radius:6px;font-weight:600;font-size:13px\">\u2709\uFE0F Email recommendation</a>'+\"</div>\";var msg=\"<strong>Hey!</strong> We don't currently carry that \u2014 but we love getting product recommendations from customers. \"+\"If you'd like to suggest <em>\\\"\"+safe+'\"</em> for us to look into:'+btns+'<br><br>If you want, I can suggest similar products we DO carry. Try a category like <em>\"high protein bar\"</em> or <em>\"creatine\"</em>.';var bncCols=tnfBrandFallbackCollections(q);addBotMessage(msg,{html:true,prompts:[\"High protein bars\",\"Best whey\",\"Low sugar treats\"],collections:bncCols.collections,collectionsHeader:bncCols.header});trackQuery({query:q,intent:\"brand_not_carried\",resultCount:0})}function isPolicyIntent(q){var s=(q||\"\").toLowerCase();return/\\b(ship(?:ping|ped|s)?|deliver(?:y|ed)?|track(?:ing)?|order\\s+status|when\\s+will|how\\s+long|how\\s+fast|return(?:s|ing)?|refund|exchange|cancel(?:lation)?|polic(?:y|ies)|privac(?:y)|terms|faq|contact|help|support|email|phone|hours|location|pickup|store\\s+hours|wholesale|subscribe|subscription|warranty)\\b/i.test(s)}function isOrderIntent(q){var s=(q||\"\").toLowerCase();if(/\\bmy\\s+(?:order|package|shipment|tracking|parcel|delivery|stuff)\\b/.test(s))return true;if(/\\bwhere(?:'?s| is)\\s+(?:my|mine|it|the\\s+order|the\\s+package)\\b/.test(s))return true;if(/\\bi\\s+(?:ordered|bought|purchased|didn'?t\\s+(?:get|receive)|haven'?t\\s+(?:got|received))\\b/.test(s))return true;if(/\\b(?:tracking|order)\\s*(?:number|#|code|id)\\b/.test(s))return true;if(/\\border\\s*#?\\s*\\d{3,}/.test(s))return true;if(/\\b(?:wrong|missing|damaged|broken|expired|leak(?:ing|ed)?|cracked|crushed|melted|stale|moldy)\\s+(?:item|product|bar|bottle|package|order|bag|box)\\b/.test(s))return true;if(/\\b(?:item|product|bar|bottle|package|order|delivery|parcel|bag|box|shipment)\\s+(?:is\\s+|was\\s+|came\\s+|arrived\\s+)?(?:wrong|missing|damaged|broken|expired|leak(?:ing|ed)?|cracked|crushed|melted|stale|moldy|open)\\b/.test(s))return true;if(/\\b(?:received|got)\\s+(?:a\\s+|the\\s+)?(?:wrong|broken|damaged|expired|leaking|cracked|melted)\\b/.test(s))return true;if(/\\b(?:order|package|shipment|parcel|delivery|box)\\s+(?:not|never|still\\s+not|hasn'?t\\s+been|wasn'?t)\\s+(?:delivered|arrived|received|shipped|come|here)\\b/.test(s))return true;if(/\\bnot\\s+(?:delivered|arrived|received|shipped|showing)\\b/.test(s))return true;if(/\\bhasn'?t\\s+(?:arrived|come|shown|been\\s+delivered|been\\s+shipped)\\b/.test(s))return true;if(/\\bdidn'?t\\s+(?:arrive|come|get\\s+here|show\\s+up|ship)\\b/.test(s))return true;if(/\\blost\\s+(?:in\\s+)?(?:transit|mail|shipping|package)\\b/.test(s))return true;if(/\\bstuck\\s+(?:in\\s+)?(?:transit|customs|shipping)\\b/.test(s))return true;if(/\\b(?:refund|return|cancel|exchange)\\s+(?:my|the|this)\\s+(?:order|package|purchase)\\b/.test(s))return true;return false}function isTrackingIntent(q){var s=(q||\"\").toLowerCase();if(/\\b(?:wrong|missing|damaged|broken|expired|leak|cracked|crushed|melted|stale|moldy)\\b/.test(s))return false;if(/\\bnot\\s+(?:delivered|arrived|received|shipped)\\b/.test(s))return false;if(/\\bhasn'?t\\s+(?:arrived|come|shown|been)\\b/.test(s))return false;if(/\\bdidn'?t\\s+(?:arrive|come|get|ship|receive)\\b/.test(s))return false;if(/\\blost\\b/.test(s))return false;if(/\\bstuck\\b/.test(s))return false;if(/\\btrack(?:ing|er)?\\b/.test(s))return true;if(/\\border\\s+status\\b/.test(s))return true;if(/\\bwhere(?:'?s| is)\\s+(?:my\\s+|the\\s+|mine\\s*)?(?:order|package|shipment|parcel|delivery|stuff|it)\\b/.test(s))return true;if(/\\bwhen\\s+will\\s+(?:my\\s+)?(?:order|package|shipment|parcel|delivery|it)\\s+(?:arrive|come|ship|get\\s+here)\\b/.test(s))return true;return false}function isOnwardIntent(q){var s=(q||\"\").toLowerCase();if(/\\bonward\\b/.test(s))return true;if(/\\b90.?day\\s*(?:satisfaction|guarantee|return|warranty)\\b/.test(s))return true;if(/\\b(?:cash.?back|cashback)\\b/.test(s))return true;if(/\\b(?:package\\s*protection|shipping\\s*protection|delivery\\s*protection)\\b/.test(s))return true;if(/\\b(?:satisfaction\\s*guarantee|taste\\s*guarantee|extended\\s*return)\\b/.test(s))return true;if(/\\b(?:checkout\\+|checkout\\s*plus)\\b/.test(s))return true;return false}function handleOnwardIntent(q){var msg='<strong>Onward Checkout+ \u2014 tap <em>\"Checkout+ Now\"</em> at checkout (~4% of your subtotal):</strong><br><br>'+'\u2705 <strong>90-day satisfaction guarantee</strong> (vs our default 30 days) \u2014 covers taste, sensitivity, mold, manufacturing defects, even on opened products.<br>'+'\u2705 <strong>5% cash back</strong> on your next order, <em>on top of</em> your TNF rewards points. Issued 30 days after order ships (so any claims can settle), accrues across orders \u2014 your code\\'s balance grows over time.<br>'+'\u2705 <strong>Instant claim resolution</strong> \u2014 Onward approves and replaces within 24 hours, no waiting for carrier investigations.<br>'+'\u2705 <strong>Full package protection</strong> \u2014 lost / stolen / damaged / wrong item / missing item / return-to-sender.<br><br>'+'<em>Onward is fully optional. Tap <strong>\"Continue without Benefits\"</strong> at checkout to skip \u2014 you still get our full 30-day return policy and customer service. Onward is the upgrade if you want longer coverage and faster resolution.</em>';addBotMessage(msg,{html:true,collections:[{title:\"Full Onward details\",url:\"/pages/onward-guarantee\"},{title:\"TNF rewards\",url:\"/pages/rewards\"}],collectionsHeader:\"Quick links:\",prompts:[\"How do I file a claim?\",\"How does cash back work?\",\"Something else\"]});trackQuery({query:q,intent:\"onward\",resultCount:0})}function handleTrackingIntent(q){var msg=\"<strong>Track your order \u2014 3 self-serve paths:</strong><br><br>\"+\"1. <strong>Your shipping confirmation email</strong> \u2014 tracking link is right at the top. Search your inbox for &ldquo;Top Nutrition&rdquo; if you can't find it.<br>\"+'2. <a href=\"/account\" style=\"color:#1e2d7d;text-decoration:underline;font-weight:600\">Log in to your account</a> \u2014 every order with its tracking link in one place. Use the email address you placed the order with.<br>'+\"3. Reply to your order confirmation email \u2014 we'll send the tracking, usually within a few hours during business hours.<br><br>\"+\"<em>Heads up \u2014 I can't look up individual orders. The 3 paths above are the fastest.</em>\";addBotMessage(msg,{html:true,collections:[{title:\"My Account\",url:\"/account\"},{title:\"Contact Us\",url:\"/pages/contact-us\"}],collectionsHeader:\"Quick links:\"});trackQuery({query:q,intent:\"tracking\",resultCount:0})}function isConversationIntent(q){var s=(q||\"\").toLowerCase();if(s.length<=40)return false;return /(\\bhello\\b|\\bi\\s*would\\s*like\\b|\\bi\\s*am\\s*going\\s*to\\b|\\bdo\\s*you\\s*(?:still\\s*)?(?:have|carry|sell|stock)\\b|\\bdo\\s*you\\s*no\\s*longer\\b|\\btrying\\s*to\\s*(?:order|buy|purchase)\\b|\\bno\\s*longer\\s*have\\b|\\bstill\\s*(?:have|carry|stock|sell)\\b|\\bare\\s*you\\s*still\\b|\\bdid\\s*you\\s*stop\\b|\\bi\\s*(?:just\\s*)?purchased\\b|\\bvery\\s*very\\s*soft\\b|\\bhave\\s*to\\s*be\\s*(?:very\\s*)?soft\\b)/i.test(s)}function handleConversationIntent(q){var msg=\"<strong>Hey!</strong> It sounds like you need a real person \u2014 happy to help.<br><br>I'm an AI product finder, so I can't look up your account or past orders, but our team can. The fastest path:\"+tnfContactBtns(\"Ask TNF \u2014 need help\",q)+\"<br><br><em>Tip: if you're looking for a product, describe what you're after (e.g. <em>\\\"high-protein bar under $5\\\"</em>) and I can find matches.</em>\";addBotMessage(msg,{html:true,prompts:[\"Show me popular snacks\",\"Show protein powder\",\"Something else\"]});trackQuery({query:q,intent:\"conversation\",resultCount:0})}function handlePolicyIntent(q){var faq=findFaqAnswer(q);if(faq){handleFaqAnswer(q,faq);return}var filteredPages=(pageMatches||[]).filter(function(p){var url=p.url||\"\";if(/\\/pages\\/[a-z0-9\\-]+-canada($|\\?|\\/)/.test(url))return false;return true}).slice(0,4);var pageLinks=filteredPages.map(function(p){return{title:p.title,url:p.url||\"#\"}});var contactLink={title:\"Contact Us\",url:\"/pages/contact-us\"};var allHelpLinks=[contactLink].concat(pageLinks.filter(function(p){return p.url!==\"/pages/contact-us\"})).slice(0,5);addBotMessage(\"Heads up \u2014 Ask TNF is a product search, not customer service. For help with orders, accounts, shipping, or policies, the fastest path is our Contact Us page (we reply within a few hours during business hours).\",{collections:allHelpLinks,collectionsHeader:\"Help and policies:\",prompts:[\"Shipping info\",\"Returns\",\"FAQ\"]});trackQuery({query:q,intent:\"policy\",resultCount:allHelpLinks.length})}function submitQuery(rawQ){var q=(rawQ||\"\").trim();if(!q)return;addUserMessage(q);var hadPending=!!_pendingVague;var effectiveQ=q;if(hadPending){effectiveQ=combineQuery(_pendingVague,q);_pendingVague=null}if(!hadPending){var faqEarly=findFaqAnswer(effectiveQ);if(faqEarly){var faqEarlyTyping=addTyping();setTimeout(function(){if(faqEarlyTyping.parentNode)faqEarlyTyping.parentNode.removeChild(faqEarlyTyping);handleFaqAnswer(effectiveQ,faqEarly)},300);return}}if(!hadPending&&isSnackDealIntent(effectiveQ)){var sdTyping=addTyping();setTimeout(function(){if(sdTyping.parentNode)sdTyping.parentNode.removeChild(sdTyping);handleSnackDealIntent(effectiveQ)},300);return}if(!hadPending&&isDiscountIntent(effectiveQ)){var dcTyping=addTyping();setTimeout(function(){if(dcTyping.parentNode)dcTyping.parentNode.removeChild(dcTyping);handleDiscountIntent(effectiveQ)},300);return}if(!hadPending&&isRestockIntent(effectiveQ)){var rsTyping=addTyping();setTimeout(function(){if(rsTyping.parentNode)rsTyping.parentNode.removeChild(rsTyping);handleRestockIntent(effectiveQ)},300);return}if(!hadPending&&isWholesaleIntent(effectiveQ)){var wsTyping=addTyping();setTimeout(function(){if(wsTyping.parentNode)wsTyping.parentNode.removeChild(wsTyping);handleWholesaleIntent(effectiveQ)},300);return}if(!hadPending&&isGeneralInquiryIntent(effectiveQ)){var giTyping=addTyping();setTimeout(function(){if(giTyping.parentNode)giTyping.parentNode.removeChild(giTyping);handleGeneralInquiryIntent(effectiveQ)},300);return}if(!hadPending&&isTrackingIntent(effectiveQ)){var trkTyping=addTyping();setTimeout(function(){if(trkTyping.parentNode)trkTyping.parentNode.removeChild(trkTyping);handleTrackingIntent(effectiveQ)},300);return}if(!hadPending&&isConversationIntent(effectiveQ)){var convTyping=addTyping();setTimeout(function(){if(convTyping.parentNode)convTyping.parentNode.removeChild(convTyping);handleConversationIntent(effectiveQ)},300);return}if(!hadPending&&isOnwardIntent(effectiveQ)){var onwTyping=addTyping();setTimeout(function(){if(onwTyping.parentNode)onwTyping.parentNode.removeChild(onwTyping);handleOnwardIntent(effectiveQ)},300);return}if(!hadPending&&isOrderIntent(effectiveQ)){var ordTyping=addTyping();setTimeout(function(){if(ordTyping.parentNode)ordTyping.parentNode.removeChild(ordTyping);addBotMessage(\"Ask TNF is a <em>product search</em>, not customer service. For anything order-related (tracking, changes, returns, damaged items, refunds), the fastest path is our Contact Us page \u2014 or reply directly to your order confirmation email.\",{html:true,collections:[{title:\"Contact Us\",url:\"/pages/contact-us\"}],collectionsHeader:\"Get order help:\"})},300);return}if(!hadPending&&isPolicyIntent(effectiveQ)){var polTyping=addTyping();var savedTerm=effectiveQ;(function(){var pUrl=rootUrl+\"search/suggest.json?q=\"+encodeURIComponent(savedTerm)+\"&resources[type]=page,article&resources[limit]=5\";fetch(pUrl,{credentials:\"same-origin\"}).then(function(r){return r.json()}).then(function(data){var res=data&&data.resources&&data.resources.results||{};pageMatches=(res.pages||[]).slice(0,4);articleMatches=(res.articles||[]).slice(0,4);if(polTyping.parentNode)polTyping.parentNode.removeChild(polTyping);handlePolicyIntent(savedTerm)}).catch(function(){if(polTyping.parentNode)polTyping.parentNode.removeChild(polTyping);handlePolicyIntent(savedTerm)})})();return}if(!hadPending){try{if(tnfHasQuestionSignal(effectiveQ)&&tnfMentionsSpecificBrand(effectiveQ)){tnfRouteToGigit(effectiveQ);return}}catch(e){}try{var __tnfTip=tnfGoalHealthMatch(effectiveQ);if(__tnfTip){addBotMessage(__tnfTip.tip,{collections:__tnfTip.links,collectionsHeader:__tnfTip.header});tnfFetchTopPicks(__tnfTip.pq,effectiveQ);trackQuery({query:effectiveQ,intent:'goal_health_tip',resultCount:(__tnfTip.links||[]).length});return}}catch(e){}}if(!hadPending&&isVagueBest(effectiveQ)){_pendingVague=effectiveQ;var stripped=effectiveQ.toLowerCase().replace(/\\b(best|top|what(?:'?s|\\s+is|\\s+are)\\s+(?:the\\s+)?(?:good|best|top|most\\s+popular)|recommend(?:ation)?s?|suggest(?:ion)?s?|can\\s+you|for\\s+me|good|great)\\b/g,\"\").replace(/[^\\w\\s\\-]/g,\" \").replace(/\\s+/g,\" \").trim();var bestPrompts=categoryRefinements(stripped)||vaguePrompts();var bestIntro=vagueQuestionText();if(stripped&&categoryRefinements(stripped)){bestIntro=\"Which \"+stripped+\" are you after?\"}var askTyping=addTyping();setTimeout(function(){if(askTyping.parentNode)askTyping.parentNode.removeChild(askTyping);addBotMessage(bestIntro,{prompts:bestPrompts})},450);return}if(!hadPending){var catPrompts=categoryRefinements(effectiveQ);if(catPrompts){_pendingVague=effectiveQ;var catTyping=addTyping();setTimeout(function(){if(catTyping.parentNode)catTyping.parentNode.removeChild(catTyping);addBotMessage(\"Happy to help! Which \"+effectiveQ.toLowerCase()+\" are you after?\",{prompts:catPrompts})},450);return}}var typing=addTyping();effectiveQ=correctTypos(effectiveQ);var parsed=parseQuery(effectiveQ);var searchTerm=parsed.clean||effectiveQ;if(parsed.maxCarbs!=null||/\\blow.?carb|\\bketo\\b/i.test(searchTerm)){if(!/keto|low.?carb/i.test(searchTerm))searchTerm+=\" keto low carb\"}if(parsed.maxSugar!=null||/\\b0\\s*sugar|\\bno\\s*sugar|\\bzero\\s*sugar|\\bsugar.?free\\b/i.test(searchTerm)){if(!/sugar.?free/i.test(searchTerm))searchTerm+=\" sugar free\"}if(parsed.maxCalories!=null||/\\blow.?calor|\\blowest\\s*calor/i.test(searchTerm)){if(!/low.?calor/i.test(searchTerm))searchTerm+=\" low calorie\"}if(parsed.noArtificial){if(!/clean.?ingredient|no.?artificial/i.test(searchTerm))searchTerm+=\" clean ingredients\"}if(/\\blactose|\\bdairy.?free|\\blactose.?intoleran/i.test(searchTerm)){searchTerm=searchTerm.replace(/\\b(?:lactose.?free|lactose.?intoleran[a-z]*|dairy.?free|lactose|dairy)\\b/gi,\" \").replace(/\\s+/g,\" \").trim();searchTerm+=\" isolate vegan plant beef\"}if(/no.?artificial|clean.?ingredient|natural.?sweeten|all.?natural|clean.?label|stevia|monk.?fruit|no.?sucralose|sugar.?alcohol/i.test(searchTerm)){searchTerm=searchTerm.replace(/\\b(?:no.?artificial(?:.?sweetener[s]?|.?color[s]?|.?flavor[s]?|.?preservativ[a-z]*|.?dye[s]?|.?additive[s]?)?|clean.?ingredient[s]?|all.?natural|clean.?label|natural.?sweeten[a-z]*|no.?sucralose)\\b/gi,\" \").replace(/\\s+/g,\" \").trim();searchTerm+=\" stevia monk fruit erythritol clean\"}if(/\\bcheap\\b|\\baffordable\\b|\\bbudget\\b|\\bbargain\\b|\\bdiscount(?:ed)?\\b|\\bsale\\b|\\bclearance\\b|\\bdeal\\b|\\blow\\s*price\\b|\\blowest\\s*price\\b|\\bbest\\s*price\\b|\\bbest\\s*value\\b|\\bcost.?effective\\b|\\bsave\\s*money\\b|\\beconomic/i.test(searchTerm)){searchTerm=searchTerm.replace(/\\b(?:cheap|affordable|budget|bargain|discount(?:ed)?|on\\s*sale|clearance|best\\s*deal|best\\s*price|best\\s*value|cost.?effective|save\\s*money|economic[a-z]*|low\\s*price|lowest\\s*price)\\b/gi,\" \").replace(/\\s+/g,\" \").trim();searchTerm+=\" sale clearance bundle\"}if(/\\bnut.?free|\\bpeanut.?free/i.test(searchTerm)){searchTerm=searchTerm.replace(/\\b(?:nut.?free|peanut.?free|tree.?nut.?free)\\b/gi,\" \").replace(/\\s+/g,\" \").trim();searchTerm+=\" whey isolate vegan\"}var isBestIntent=hadPending||/\\bbest\\b|\\btop\\b|\\bmost\\s+popular\\b|\\brecommend\\b/i.test(effectiveQ);var reviewUrl=rootUrl+\"search?q=\"+encodeURIComponent(searchTerm)+\"&type=product&view=review-data&options[unavailable_products]=last\";function finalize(products){if(typing.parentNode)typing.parentNode.removeChild(typing);var filtered=products;if(parsed.maxPrice!=null||parsed.minPrice!=null){filtered=products.filter(function(p){var raw=p.p!=null?p.p:p.price!=null?p.price:p.price_min;var d=parseFloat(raw);if(!isFinite(d)||d<=0)return false;if(parsed.maxPrice!=null&&d>parsed.maxPrice)return false;if(parsed.minPrice!=null&&d<parsed.minPrice)return false;return true})}filtered=filtered.filter(function(p){if(p.av!=null)return!!p.av;if(p.available!=null)return!!p.available;return true});if(window.__vrAskTnfCartIds&&window.__vrAskTnfCartIds.size){filtered=filtered.filter(function(p){return!window.__vrAskTnfCartIds.has(p.id)})}var productTypeFamilies=[{trigger:/\\b(chips?|crackers?|pretzels?|popcorns?|puffs?|jerkys?|jerkies|savoury|savory|salty)\\b/i,accept:/\\b(?:chips?|crackers?|pretzels?|popcorns?|puffs?|crisps?|jerkys?|jerkies|twists?|snaps?|rings?|nachos?|tortillas?|sticks?|bites?)\\b/i},{trigger:/\\b(bars?)\\b/i,accept:/\\b(?:bars?|bites?)\\b/i},{trigger:/\\b(cookies?|biscuits?|brownies?|cakes?|muffins?|donuts?|doughnuts?|pancakes?|waffles?|pies?|pastr(?:y|ies)|rolls?|buns?|cupcakes?)\\b/i,accept:/\\b(?:cookies?|biscuits?|brownies?|cakes?|muffins?|donuts?|doughnuts?|pancakes?|waffles?|pies?|pastr(?:y|ies)|rolls?|buns?|cupcakes?|blondies?|sweet)\\b/i},{trigger:/\\b(gummies|gummy|candy|candies|chew|chews|marshmallow|jelly|jellies|toffee|fudge|caramels?)\\b/i,accept:/\\b(?:gummies|gummy|candy|candies|chews?|chewy|marshmallows?|jelly|jellies|toffee|fudge|caramels?|truffles?|bites?|sweet|sweets?)\\b/i},{trigger:/\\b(chocolates?|choc\\b|bark|barks|clusters?)\\b/i,accept:/\\b(?:chocolates?|choc\\b|bark|barks|clusters?|truffles?|cocoa)\\b/i},{trigger:/\\b(cereals?|granolas?|oatmeals?|porridges?)\\b/i,accept:/\\b(?:cereals?|granolas?|oatmeals?|porridges?|crunch|flakes?|clusters?|bites?)\\b/i},{trigger:/\\b(powders?|shakes?|whey|casein|isolate|concentrate|blend)\\b/i,accept:/\\b(?:powder|shake|whey|casein|isolate|concentrate|blend|protein|mass|gainer|collagen|peptides?)\\b/i},{trigger:/\\b(drinks?|beverages?|sodas?|juices?|sparklings?|rtd|ready.to.drink|hydration|electrolytes?|sports.drink)\\b/i,accept:/\\b(?:drinks?|beverages?|sodas?|juices?|sparklings?|rtd|ready.to.drink|bottled?|can|hydration|electrolytes?|water|hydrate)\\b/i},{trigger:/\\b(sauces?|syrups?|spreads?|butters?|jams?|jellies|dips?|dressings?)\\b/i,accept:/\\b(?:sauces?|syrups?|spreads?|butters?|jams?|jellies|dips?|dressings?|marinade|condiments?)\\b/i},{trigger:/\\b(gels?|blocks?|chews?\\s+(?:for\\s+)?workout|energy\\s+chews?)\\b/i,accept:/\\b(?:gels?|blocks?|chews?|shots?|goos?)\\b/i},{trigger:/\\b(capsules?|pills?|tablets?|caps\\b|softgels?)\\b/i,accept:/\\b(?:capsules?|pills?|tablets?|caps?|softgels?|vcaps?|veggie\\s*caps?)\\b/i},{trigger:/\\b(tortillas?|wraps?|breads?|buns?|bagels?|pita|rolls?)\\b/i,accept:/\\b(?:tortillas?|wraps?|breads?|buns?|bagels?|pita|flatbread|rolls?)\\b/i}];var searchLower=effectiveQ.toLowerCase();var matchedFamilies=productTypeFamilies.filter(function(f){return f.trigger.test(searchLower)});if(matchedFamilies.length){var typed=filtered.filter(function(p){var hay=((p.t||p.title||\"\")+\" \"+(p.v||p.vendor||\"\")+\" \"+(p.h||p.handle||\"\")+\" \"+(p.tags||\"\")+\" \"+(p.col||\"\")).toLowerCase();return matchedFamilies.some(function(f){return f.accept.test(hay)})});filtered=typed}var userTopIntents=getTopIntents(3).map(function(x){return x.tag});function personalBoost(p){if(!userTopIntents.length)return 0;var hay=((p.t||p.title||\"\")+\" \"+(p.v||p.vendor||\"\")+\" \"+(p.h||p.handle||\"\")).toLowerCase();var hits=0;userTopIntents.forEach(function(tag){if(hay.indexOf(tag.replace(\"-\",\" \"))!==-1||hay.indexOf(tag)!==-1)hits+=1});return hits*1.5}function scoreOf(p){var r=parseFloat(p.r!=null?p.r:0)||0;var c=parseInt(p.rc!=null?p.rc:0,10)||0;var base=r*Math.log(c+1);var boost=p.b?5.5:0;var jitter=Math.random()*1.5;return base+boost+personalBoost(p)+jitter}if(isBestIntent){filtered=filtered.slice().sort(function(a,b){return scoreOf(b)-scoreOf(a)})}else{filtered=filtered.slice();var withIdx=filtered.map(function(p,i){return{p:p,i:i,j:Math.random()}});withIdx.sort(function(a,b){var ba=a.p.b?1:0;var bb=b.p.b?1:0;if(ba!==bb)return bb-ba;if(Math.abs(a.i-b.i)<=3)return a.j-b.j;return a.i-b.i});filtered=withIdx.map(function(w){return w.p})}var isSavingsIntent=/\\bcheap\\b|\\baffordable\\b|\\bbudget\\b|\\bbargain\\b|\\bdiscount(?:ed)?\\b|\\bon\\s*sale\\b|\\bsale\\b|\\bclearance\\b|\\bdeal\\b|\\bbest\\s*deal\\b|\\bbest\\s*price\\b|\\bbest\\s*value\\b|\\bsave\\b|\\bsaving|\\bcost.?effective\\b|\\bsave\\s*money\\b|\\beconomic|\\blow\\s*price\\b|\\blowest\\s*price\\b/i.test(effectiveQ);if(isSavingsIntent&&filtered.length>1){filtered=filtered.slice().sort(function(a,b){var ap=parseFloat(a.price!=null?a.price:a.p);var ac=parseFloat(a.compare_at_price!=null?a.compare_at_price:a.c);var bp=parseFloat(b.price!=null?b.price:b.p);var bc=parseFloat(b.compare_at_price!=null?b.compare_at_price:b.c);var aSave=isFinite(ac)&&isFinite(ap)&&ac>ap?ac-ap:0;var bSave=isFinite(bc)&&isFinite(bp)&&bc>bp?bc-bp:0;if(bSave!==aSave)return bSave-aSave;var aPct=aSave>0?aSave/ac:0;var bPct=bSave>0?bSave/bc:0;if(bPct!==aPct)return bPct-aPct;return(isFinite(ap)?ap:Infinity)-(isFinite(bp)?bp:Infinity)})}if(filtered.length){var top;if(filtered.length<=3){top=filtered.slice(0,3)}else{var brandCount={};var primary=[];var overflow=[];filtered.forEach(function(p){var v=((p.v||p.vendor||\"\").trim()||\"__unknown__\").toLowerCase();brandCount[v]=brandCount[v]||0;if(brandCount[v]<2&&primary.length<3){primary.push(p);brandCount[v]++}else{overflow.push(p)}});while(primary.length<3&&overflow.length)primary.push(overflow.shift());top=primary.slice(0,3)}var intro=intentResponse(effectiveQ);if(isBestIntent&&top[0]&&(top[0].rc||top[0].rating_count)>0){intro=intro.replace(/:$/,\"\")+\" \u2014 ordered by customer ratings:\"}else if(parsed.maxPrice!=null){intro=intro.replace(/:$/,\"\")+\" under $\"+parsed.maxPrice+\":\"}else if(parsed.minPrice!=null){intro=intro.replace(/:$/,\"\")+\" over $\"+parsed.minPrice+\":\"}var intentColls=getIntentCollections(effectiveQ);var brandLikeMatches=(collectionMatches||[]).filter(function(c){if(!intentColls.length)return true;var t=String(c.title||\"\").toLowerCase();for(var v=0;v<top.length;v++){var vendor=String(top[v].v||top[v].vendor||\"\").toLowerCase();if(vendor&&t===vendor)return false}return true});var mergedColls=intentColls.concat(brandLikeMatches);var seenColl={};var collectionLinks=mergedColls.filter(function(c){var key=c.handle||c.url||c.title;if(!key)return false;var k=String(key).toLowerCase();if(seenColl[k])return false;seenColl[k]=true;return true}).slice(0,4).map(function(c){return{title:c.title,url:c.url||\"/collections/\"+c.handle}});var sideHeader=null;if(collectionLinks.length===1&&/brand|vendor/i.test(effectiveQ))sideHeader=\"Shop the brand:\";else if(intentColls.length)sideHeader=\"Explore more in these categories:\";else if(collectionLinks.length)sideHeader=\"Related collections:\";var topCollectionOpts=collectionLinks.length?{collectionsHeader:sideHeader,collections:collectionLinks}:null;var queryIntents=extractIntentTags(effectiveQ);recordIntents(queryIntents);var bundleMatch=checkBundle(queryIntents);var flavors=extractFlavors(effectiveQ);enrichWithFlavorVariants(top,flavors).then(function(enrichedTop){var missingBrand=detectUnknownBrand(effectiveQ,enrichedTop);if(missingBrand&&enrichedTop&&enrichedTop.length){var _mbQTokens=String(effectiveQ).toLowerCase().split(/[^a-z0-9]+/).filter(function(w){return w.length>=4&&TNF_CONTENT_STOPWORDS.indexOf(w)===-1&&TNF_NON_BRAND_TERMS.indexOf(w)===-1});for(var _mbi=0;_mbi<_mbQTokens.length;_mbi++){var _mbT=_mbQTokens[_mbi];for(var _mbj=0;_mbj<enrichedTop.length;_mbj++){var _mbHay=((enrichedTop[_mbj].v||enrichedTop[_mbj].vendor||\"\")+\" \"+(enrichedTop[_mbj].t||enrichedTop[_mbj].title||\"\")+\" \"+(enrichedTop[_mbj].h||enrichedTop[_mbj].handle||\"\")+\" \"+(enrichedTop[_mbj].tags||\"\")).toLowerCase();if(_mbHay.indexOf(_mbT)!==-1){missingBrand=null;break}}if(!missingBrand)break;}}var actualIntro=missingBrand?\"Hmm, we don't carry <strong>\"+missingBrand+\"</strong> specifically \u2014 but here are similar matches we DO have in stock:\":intro;addBotMessage(actualIntro,{html:!!missingBrand,products:enrichedTop,collections:topCollectionOpts?topCollectionOpts.collections:null,collectionsHeader:topCollectionOpts?topCollectionOpts.collectionsHeader:null,query:effectiveQ});trackQuery({query:effectiveQ,intent:missingBrand?\"brand_missing_with_alts\":isBestIntent?\"best\":\"search\",resultCount:filtered.length});if(missingBrand){setTimeout(function(){addBotMessage(\"Just to make sure \u2014 is <strong>\"+missingBrand+\"</strong> a brand you'd like us to carry, or are you looking for it as an ingredient or feature?\",{html:true,prompts:[\"Yes, it's a brand\",\"Ingredient / feature\",\"Let me rephrase\"]});var lastMsg=messagesEl.lastElementChild;if(!lastMsg)return;var chips=lastMsg.querySelectorAll(\".vr-ai-prompt\");chips.forEach(function(b){var label=String(b.textContent||\"\").toLowerCase();var clone=b.cloneNode(true);b.parentNode.replaceChild(clone,b);clone.addEventListener(\"click\",function(ev){if(ev&&ev.preventDefault)ev.preventDefault();if(ev&&ev.stopPropagation)ev.stopPropagation();if(label.indexOf(\"brand\")!==-1||label.indexOf(\"yes\")===0){addBotMessage(\"Got it! We love getting product recommendations from customers. To suggest <strong>\"+missingBrand+\"</strong> for us to look into:\"+brandRecommendBtns(missingBrand,effectiveQ),{html:true})}else if(label.indexOf(\"ingredient\")!==-1||label.indexOf(\"feature\")!==-1){addBotMessage('Got it \u2014 the matches above should fit. If you want a tighter narrow, try adding the format too (e.g. <em>\"'+missingBrand.toLowerCase()+' pre-workout\"</em> or <em>\"'+missingBrand.toLowerCase()+' protein powder\"</em>).',{html:true,prompts:[\"Show pre-workouts\",\"Show protein powder\",\"Something else\"]})}else{addBotMessage(\"No problem \u2014 what are you looking for?\")}})})},1100)}var oosCount=enrichedTop.filter(function(p){return p.av===false}).length;if(oosCount>=Math.ceil(enrichedTop.length/2)){setTimeout(function(){addBotMessage(t(\"inStockAlt\"),{prompts:[searchTerm+\" in stock\",\"Something else\"]})},900);return}if(bundleMatch){setTimeout(function(){addBotMessage(bundleMatch.text,{prompts:[\"Show bundle\",\"Something else\"]});var bundleBtn=messagesEl.lastElementChild.querySelector(\".vr-ai-prompt\");if(bundleBtn){bundleBtn.addEventListener(\"click\",function(){},{once:true})}var chips=messagesEl.lastElementChild.querySelectorAll(\".vr-ai-prompt\");chips.forEach(function(b){if(b.textContent===\"Show bundle\"){var clone=b.cloneNode(true);b.parentNode.replaceChild(clone,b);clone.addEventListener(\"click\",function(){submitQuery(bundleMatch.q)})}})},900);return}var vendors={};enrichedTop.forEach(function(p){var v=(p.v||p.vendor||\"\").trim();if(v)vendors[v]=(vendors[v]||0)+1});var vendorList=Object.keys(vendors);if(vendorList.length>1){setTimeout(function(){addBotMessage(\"Want to shop any of these brands?\",{prompts:vendorList.slice(0,3).concat([\"Something else\"])})},700)}else{if(/\\bcheap\\b|\\baffordable\\b|\\bbudget\\b|\\bbargain\\b|\\bdiscount(?:ed)?\\b|\\bon\\s*sale\\b|\\bclearance\\b|\\bbest\\s*deal\\b|\\bbest\\s*price\\b|\\bbest\\s*value\\b|\\bcost.?effective\\b|\\bsave\\s*money\\b|\\bsaving|\\beconomic/i.test(effectiveQ)&&parsed.maxPrice==null){setTimeout(function(){addBotMessage(\"Want to narrow by price? Pick a range \u2014 I'll re-rank by biggest discount in that range:\",{prompts:[\"Under $15\",\"Under $25\",\"Under $50\",\"Under $100\",\"Just clearance\",\"Best price per serving\"]})},900)}else{var followUp=generateFollowUp(effectiveQ);if(followUp){setTimeout(function(){addBotMessage(followUp.text,{prompts:[followUp.q,\"Something else\"]})},900)}}}});return}if(products.length&&(parsed.maxPrice!=null||parsed.minPrice!=null)){var limitText=parsed.maxPrice!=null?\"under $\"+parsed.maxPrice:\"over $\"+parsed.minPrice;addBotMessage('Nothing matched \"'+searchTerm+'\" '+limitText+\". Closest matches regardless of price:\",{products:products.slice(0,6)});trackQuery({query:effectiveQ,intent:\"price-filtered\",resultCount:0});return}if(looksLikeBrandQuery(effectiveQ)){handleBrandNotCarried(effectiveQ)}else{addBotMessage(\"I couldn\u2019t find exact matches for that. Try another angle \u2014 a goal, brand, ingredient, or specific snack type?\",{prompts:[\"Top protein bars\",\"Best whey\",\"Low sugar treats\",\"Shop clearance\"]});trackQuery({query:effectiveQ,intent:\"no-match\",resultCount:0})}}var collectionMatches=[];var pageMatches=[];var articleMatches=[];function fetchSideResources(){var cUrl=rootUrl+\"search/suggest.json?q=\"+encodeURIComponent(searchTerm)+\"&resources[type]=collection,page,article&resources[limit]=4\";return fetch(cUrl,{credentials:\"same-origin\"}).then(function(r){return r.json()}).then(function(data){var res=data&&data.resources&&data.resources.results||{};collectionMatches=(res.collections||[]).slice(0,3);pageMatches=(res.pages||[]).slice(0,4);articleMatches=(res.articles||[]).slice(0,4)}).catch(function(){collectionMatches=[];pageMatches=[];articleMatches=[]})}function fallbackToPredictive(){var predUrl=rootUrl+\"search/suggest.json?q=\"+encodeURIComponent(searchTerm)+\"&resources[type]=product&resources[limit]=20&resources[options][unavailable_products]=last\";fetch(predUrl,{credentials:\"same-origin\"}).then(function(r){return r.json()}).then(function(data){var results=data&&data.resources&&data.resources.results||{};finalize(results.products||[])}).catch(function(){if(typing.parentNode)typing.parentNode.removeChild(typing);addBotMessage(t(\"networkErr\"))})}var collectionsPromise=fetchSideResources();fetch(reviewUrl,{credentials:\"same-origin\",headers:{Accept:\"application/json\"}}).then(function(r){return r.text().then(function(t){return{text:t,ok:r.ok}})}).then(function(resp){if(!resp.ok||resp.text.trim().charAt(0)!==\"[\")throw new Error(\"non-json\");var products=JSON.parse(resp.text);return collectionsPromise.then(function(){finalize(Array.isArray(products)?products:[])})}).catch(function(){collectionsPromise.then(fallbackToPredictive)})}function replayHistory(){var hist=loadHistory();if(!hist.length)return false;hist.forEach(function(m){if(m.role===\"user\"){renderUserMessage(m.text)}else if(m.role===\"bot\"){renderBotMessage(m.text,{html:!!m.html,prompts:m.prompts||null,products:m.products||null,collections:m.collections||null,collectionsHeader:m.collectionsHeader||null})}});scrollToBottom();return true}function showWelcome(){if(welcomeShown)return;welcomeShown=true;if(replayHistory())return;addBotMessage(t(\"welcome\"),{prompts:[\"Pre-workout energy\",\"Low-carb snacks\",\"Best whey protein\",\"Sleep support\",\"Gluten-free bars\",\"Under $30 bundle\"]})}function resetConversation(){clearHistory();messagesEl.innerHTML=\"\";welcomeShown=false;showWelcome()}var OPEN_STATE_KEY=\"vr_ai_open_v1\";window.__vrAskTnfCartIds=window.__vrAskTnfCartIds||new Set;function refreshCartSnapshot(){try{fetch(\"/cart.js\",{credentials:\"same-origin\"}).then(function(r){return r.json()}).then(function(cart){var ids=new Set;(cart.items||[]).forEach(function(it){if(it.product_id)ids.add(it.product_id)});window.__vrAskTnfCartIds=ids}).catch(function(){})}catch(e){}}[\"cart:refresh\",\"cart:updated\",\"cart:added\"].forEach(function(evt){document.addEventListener(evt,refreshCartSnapshot)});(function(){var origFetch=window.fetch;if(!origFetch||origFetch.__vrAskTnfCartPatched)return;window.fetch=function(){var args=arguments;var url=args[0];var urlStr=typeof url===\"string\"?url:url&&url.url||\"\";var result=origFetch.apply(window,args);if(/\\/cart\\/(?:add|change|update|clear)(?:\\.js)?/.test(urlStr)){result.then(function(){setTimeout(refreshCartSnapshot,200)}).catch(function(){})}return result};window.fetch.__vrAskTnfCartPatched=true})();function open(){document.body.classList.add(\"vr-ai-open\");panel.classList.add(\"is-open\");showWelcome();refreshCartSnapshot();try{sessionStorage.setItem(OPEN_STATE_KEY,\"1\")}catch(e){}setTimeout(function(){try{input.focus()}catch(e){}},320)}function close(){document.body.classList.remove(\"vr-ai-open\");panel.classList.remove(\"is-open\");try{sessionStorage.removeItem(OPEN_STATE_KEY)}catch(e){}}launcher.addEventListener(\"click\",open);mobileLauncher.addEventListener(\"click\",open);try{if(sessionStorage.getItem(OPEN_STATE_KEY)===\"1\"){setTimeout(open,0)}}catch(e){}var PLACEHOLDER_EXAMPLES=['Ask anything \u2014 try \"chocolate protein bars\"','Try \"salty snacks\"','Try \"newest protein bars\"','Try \"fat burners under $40\"','Try \"best-rated whey\"','Try \"keto snacks under $6\"','Try \"pre-workout for energy\"','Try \"low sugar treats\"','Try \"electrolytes for summer\"','Try \"vanilla whey protein\"','Try \"creatine monohydrate\"','Try \"high-protein breakfast bars\"','Try \"cookies and cream anything\"','Try \"gluten-free bars\"','Try \"collagen for skin & hair\"','Try \"sleep support\"','Try \"immune boost vitamins\"','Try \"strawberry flavour\"','Try \"mass gainer under $60\"','Try \"vegan plant-based protein\"'];var _phIndex=0;function rotatePlaceholder(){if(document.activeElement===input)return;if(input.value)return;_phIndex=(_phIndex+1)%PLACEHOLDER_EXAMPLES.length;input.setAttribute(\"placeholder\",PLACEHOLDER_EXAMPLES[_phIndex])}setInterval(rotatePlaceholder,3200);backdrop.addEventListener(\"click\",function(){if(window.matchMedia&&window.matchMedia(\"(max-width: 999px)\").matches)return;if(document.body.classList.contains(\"vr-fm-open\"))return;close()});panel.querySelector(\".vr-ai-header-close\").addEventListener(\"click\",close);panel.querySelector(\".vr-ai-header-reset\").addEventListener(\"click\",resetConversation);panel.addEventListener(\"click\",function(e){var a=e.target.closest(\"a\");if(!a||!panel.contains(a))return;if(!a.href)return;var href=a.getAttribute(\"href\")||\"\";if(href.indexOf(\"mailto:\")===0||href.indexOf(\"tel:\")===0){if(href.indexOf(\"mailto:\")===0){try{var _emQ=window.__askTnfLastQuery||\"\";var _emIntent=window.__askTnfLastIntent||\"\";var _emBrand=\"\";try{var _emM=/Recommend\\s+(.+?)(?:\\s+for\\s|\\s*$)/i.exec((a.textContent||\"\").trim());if(_emM)_emBrand=(_emM[1]||\"\").trim();if(!_emBrand&&_emIntent===\"brand_not_carried\")_emBrand=_emQ}catch(_e){}window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:\"ask_tnf_email_click\",query:_emQ,intent:_emIntent,brand:_emBrand,page_path:window.location.pathname})}catch(_e){}}return}try{sessionStorage.removeItem(\"vr_ai_open_v1\")}catch(err){}document.body.classList.remove(\"vr-ai-open\");panel.classList.remove(\"is-open\")},true);window.vrAskTNF={open:function(query){open();if(query){setTimeout(function(){try{input.value=\"\"}catch(e){}submitQuery(query)},320)}},close:close};document.addEventListener(\"keydown\",function(e){if(e.key===\"Escape\"&&document.body.classList.contains(\"vr-ai-open\"))close()});form.addEventListener(\"submit\",function(e){e.preventDefault();submitQuery(input.value);input.value=\"\"})})();"],
  "mappings": "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",
  "names": ["t", "w", "pageMatches"]
}
