Back to Compare
Omega-3 Travel Packs

Momentous

Omega-3 Travel Packs 3 Packs

Price
£2.400

Flavour

Price History

Loading...

Description

Momentous Omega-3 provides 1,600 mg of EPA and DHA per serving in a 1:1 ratio. Omega-3s are essential polyunsaturated fatty acids that play a critical role in cell membranes throughout the brain and body. Supplementation increases EPA and DHA levels, which can enhance cardiovascular health, brain function, and muscle and joint recovery.

Ingredients

Omega-3 Fatty Acids (from fish oil) EPA 800mg, DHA 800mg Other Ingredients: Bovine Gelatin (Capsule), Glycerine, Purified Water, Natural lemon Flavor, Annatto (color), Lipase Momentous Omega-3 is sourced from sustainably harvested anchovies, sardines, and mackerel from cold, clean Norwegian waters—fish that naturally contain lower levels of heavy metals. The result is a potent 1,600 mg of combined EPA and DHA in a clinically balanced 1:1 ratio, delivered without the fishy aftertaste. Onset Time & Expected Results Depending on your baseline Omega-3 levels, you may begin noticing improvements in as little as 2 weeks, with full benefits developing over a few months. With regular use, expect enhanced cardiovascular health, sharper brain function, reduced inflammation, and faster recovery from exercise—helping you perform at your peak. Clinical Research & 3rd Party Test Results The research supporting the benefits of omega-3 fatty acids is extensive. Numerous studies have consistently demonstrated the positive impact of EPA and DHA on cardiovascular health, brain function, and exercise recovery. Furthermore, our Omega-3 undergoes regular NSF testing to ensure lead and mercury levels are undetectable for purity and safety. There are 5 credible reviews and studies related to this product: 1. Long-chain omega-3 polyunsaturated fatty acids and cognitive decline in non-demented adults: a systematic review and meta-analysis 2. Omega-3 fatty acid supplementation and cardiovascular disease: Thematic Review Series: New Lipid and Lipoprotein Targets for the Treatment of Cardiometabolic Diseases 3. Omega-3 polyunsaturated fatty acid biomarkers and risk of type 2 diabetes, cardiovascular disease, cancer, and mortality 4. The effect of omega-3 fatty acid supplementation on the inflammatory response to eccentric strength exercise 5. The effect of Omega-3 polyunsaturated fatty acid supplementation on exercise-induced muscle damage Build Your Stack Upgraded Formula {const lazyImages = window.lazyImages = window.lazyImages || [] const el = document.querySelector("#image3942") if(el && window.lazyImageFn) window.lazyImageFn(el); else if(el) lazyImages.push(el) } 4.5 Rated 4.5 out of 5 stars 310 {"averageRating":"4.5","reviewCount":310} Creatine Chews 150-Count New Signature Spec creatine quality designation Guaranteed 1g of creatine in every chew Clinically studied to support strength and cognitive function* £29.25 £39.00 Add to Bag Creatine Chews 150-Count Flavor: Lemon LimeMangoStrawberry Subscribe & Save 25% £ 29.25 £ 39.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 39.00 £ 39.00 £ 39.00 £ 39.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } Creatine Chews 150-Count Flavor: Lemon LimeMangoStrawberry Subscribe & Save 25% £ 29.25 £ 39.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 39.00 £ 39.00 £ 39.00 £ 39.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } New Flavor {const lazyImages = window.lazyImages = window.lazyImages || [] const el = document.querySelector("#image960") if(el && window.lazyImageFn) window.lazyImageFn(el); else if(el) lazyImages.push(el) } 4.7 Rated 4.7 out of 5 stars 3,092 {"averageRating":"4.7","reviewCount":3092} Whey Protein Isolate 10-Travel Packs Supports lean muscle mass and recovery* High in leucine to build and repair muscle faster* No gums, fillers, or artificial sweeteners £19.50 £26.00 Add to Bag Whey Protein Isolate 10-Travel Packs Flavor: ChocolateVanillaStrawberry Subscribe & Save 25% £ 19.50 £ 26.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 26.00 £ 26.00 £ 26.00 £ 26.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } Whey Protein Isolate 10-Travel Packs Flavor: ChocolateVanillaStrawberry Subscribe & Save 25% £ 19.50 £ 26.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 26.00 £ 26.00 £ 26.00 £ 26.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } Upgraded Formula {const lazyImages = window.lazyImages = window.lazyImages || [] const el = document.querySelector("#image1155") if(el && window.lazyImageFn) window.lazyImageFn(el); else if(el) lazyImages.push(el) } 4.9 Rated 4.9 out of 5 stars 3,664 {"averageRating":"4.9","reviewCount":3664} Creatine 15-Travel Packs New Signature Spec creatine standard Ultrafine powder for exceptional mixability Unrivaled 6-stage testing & certification £13.50 £18.00 Add to Bag Creatine 15-Travel Packs Flavor: LemonUnflavoredWatermelon Subscribe & Save 25% £ 13.50 £ 18.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 18.00 £ 18.00 £ 18.00 £ 18.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } Creatine 15-Travel Packs Flavor: LemonUnflavoredWatermelon Subscribe & Save 25% £ 13.50 £ 18.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 18.00 £ 18.00 £ 18.00 £ 18.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } {const lazyImages = window.lazyImages = window.lazyImages || [] const el = document.querySelector("#image7888") if(el && window.lazyImageFn) window.lazyImageFn(el); else if(el) lazyImages.push(el) } 4.8 Rated 4.8 out of 5 stars 376 {"averageRating":"4.8","reviewCount":376} Multivitamin Fills key nutrient gaps to support daily health Supports energy, immune function + cellular health Bioavailable vitamins, minerals + phytonutrients £31.50 £42.00 Add to Bag Multivitamin Subscribe & Save 25% £ 31.50 £ 42.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 42.00 £ 42.00 £ 42.00 £ 42.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } Multivitamin Subscribe & Save 25% £ 31.50 £ 42.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 42.00 £ 42.00 £ 42.00 £ 42.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } {const lazyImages = window.lazyImages = window.lazyImages || [] const el = document.querySelector("#image5494") if(el && window.lazyImageFn) window.lazyImageFn(el); else if(el) lazyImages.push(el) } 4.8 Rated 4.8 out of 5 stars 1,090 {"averageRating":"4.8","reviewCount":1090} Collagen Peptides 10-Travel Packs 10g collagen + 5g FORTIGEL® for soft tissue strength Includes Vitamin C to support collagen synthesis Supports mobility, skin elasticity, and resilience £17.25 £23.00 Add to Bag Collagen Peptides 10-Travel Packs Subscribe & Save 25% £ 17.25 £ 23.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 23.00 £ 23.00 £ 23.00 £ 23.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } Collagen Peptides 10-Travel Packs Subscribe & Save 25% £ 17.25 £ 23.00 Out of Stock Protection 10% off future deliveries Cancel or reschedule anytime Experience long-term results Delivery every 1 month Delivery every 2 months Delivery every 3 months One-time Purchase £ 23.00 £ 23.00 £ 23.00 £ 23.00 Sorry, We are currently out of stock! Estimated to be back in stock: Add to Bag Notify me when available View Full Details .first-hidden { display: none; } .product-carousel .swiper-slide { flex-shrink: 0; } @media (min-width: 768px) { .product-carousel .swiper-wrapper { display: flex; gap: 1rem; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; } .product-carousel .swiper-wrapper::-webkit-scrollbar { display: none; } } Frequently Asked Questions Why should I choose Momentous' Omega-3 over other fish oil supplements? Momentous Omega-3 is sourced from sustainably harvested anchovies, sardines, and mackerel from cold, clean Norwegian waters—an environment known for supporting lower heavy-metal accumulation. The oil undergoes molecular distillation for maximum purity, and every batch is third-party tested to verify non-detectable levels of lead and mercury. It delivers a minimum of 90% triglyceride-bound omega-3s for optimal absorption, and is formulated with added lipase to further support bioavailability. The result is a highly pure, potent omega-3 you can trust for daily use. How long does it take to experience the benefits of Omega-3? The timeframe for experiencing the benefits of Omega-3 may vary from person to person. However, with consistent use as part of a balanced lifestyle, many individuals notice improvements in cardiovascular health, cognitive function, and exercise recovery within a few weeks. Long-term benefits are best achieved with regular supplementation. How can I avoid fish burps when taking Omega-3 supplements? At Momentous, our Omega-3s are molecularly distilled for optimal purity, and most users report experiencing no fish burps. Still, here are a few tips to help further minimize the likelihood of fish burps: Take with food. Having a meal or snack along with your Omega-3 capsules can aid digestion and reduce any lingering aftertaste. Avoid strenuous exercise immediately afterward. If possible, don’t pop two capsules and head straight into a hard run or workout. Waiting a bit before exercising can help your body begin the digestion process smoothly. Choose a high-quality, natural form of Omega-3. Our fish oil is processed to maintain the triglyceride form, which is the natural and most bioavailable form of Omega-3. Many cheaper supplements use an ethyl ester form, which is more heavily processed, less bioavailable, and can lead to more frequent fish burps. Are there any side effects associated with Omega-3? Omega-3 is generally well tolerated and does not typically cause any adverse side effects when taken as directed. However, individuals with fish allergies or medical conditions should consult with their healthcare professional before starting any new supplement regimen. What other supplements should I pair Omega-3 with? Take as part of The Momentous Three (Protein, Creatine, and Omega-3). You can also stack this product with our Multivitamin or our Vitamin D3. We also recommend you consult your healthcare practitioner based upon your individual needs. Should I take this on an empty stomach or with food? You can take Omega-3 on an empty stomach, but for better absorption and optimal bioavailability, it is helpful to take with a fat source/meal. Is this product third-party tested? Our Omega-3 is always NSF Certified for Sport®. NSF Certification ensures purity and potency, with every batch tested for heavy metals, harmful additives, and label claim accuracy to meet the highest standards. 30 Day Bottle 5 Day Travel Pack 4.9 Rated 4.9 out of 5 stars Based on 1,178 reviews 5 Rated out of 5 stars 1.1k Total 5 star reviews: 1.1k 4 Rated out of 5 stars 59 Total 4 star reviews: 59 3 Rated out of 5 stars 10 Total 3 star reviews: 10 2 Rated out of 5 stars 1 Total 2 star reviews: 1 1 Rated out of 5 stars 6 Total 1 star reviews: 6 99%would recommend these products Customers Talked About Taste Quality Digestion Effectiveness Convenience Filters Write a Review (Opens in a new window) 1,178 reviews Sort Most RecentPhotos & VideosMost HelpfulHighest RatingOldestLowest RatingLeast Helpful J Janice 4 minutes ago Reviewing Omega-3 Rated 5 out of 5 stars 5 Stars High quality supplements, and you can ferl the results Read MoreRead more about this review Was this helpful?Yes, this review from Janice was helpful. 0 people voted yesNo, this review from Janice was not helpful. 0 people voted no EA Edgar Avalos 16 hours ago Reviewing Omega-3 Rated 5 out of 5 stars 5 Stars Excellent 👌🏻 as always, thanks. Read MoreRead more about this review Was this helpful?Yes, this review from Edgar Avalos was helpful. 0 people voted yesNo, this review from Edgar Avalos was not helpful. 0 people voted no RD Robert D. Verified Buyer 1 week ago Reviewing Omega-3 Rated 5 out of 5 stars Help balance my lipids Helped balance my EPA/DHA lipids on lads. Read MoreRead more about this review Was this helpful?Yes, this review from Robert D. was helpful. 0 people voted yesNo, this review from Robert D. was not helpful. 0 people voted no M Marvin 1 week ago Reviewing Omega-3 Rated 1 out of 5 stars 1 Star I never got them. Read MoreRead more about this review Was this helpful?Yes, this review from Marvin was helpful. 0 people voted yesNo, this review from Marvin was not helpful. 0 people voted no RM Rhoda M. L. Verified Buyer Product Standouts Ease of Use, Value for Money, Trust and Transparency 1 week ago Product Standouts Ease of Use, Value for Money, Trust and Transparency Reviewing Omega-3 Rated 5 out of 5 stars So Far So Good Prodigal was delivered properly package. I have no complaints. Read MoreRead more about this review Was this helpful?Yes, this review from Rhoda M. L. was helpful. 0 people voted yesNo, this review from Rhoda M. L. was not helpful. 0 people voted no Loading... Loading... Show More {"areReviewsGrouped":true,"chatAssistant":{"reviewCount":1178},"media":[],"productAttributes":[],"questionCount":0,"reviewAggregate":{"dateUpdated":"2026-07-23T17:54:24.856Z","mediaCount":0,"productAttributeCount":[{"title":"Product Standouts","type":"multi-value","options":[{"title":"Ease of Use","count":16},{"title":"Results","count":14},{"title":"Value for Money","count":12},{"title":"Trust and Transparency","count":11}]}],"productId":"shopify-7907433054391","productName":"Omega-3 Travel Packs","ratingAndReviewCount":1178,"ratingAndReviewCountByLevel":{"level1Count":6,"level2Count":1,"level3Count":10,"level4Count":59,"level5Count":1102},"ratingAndReviewValuesTotal":5784,"ratingCount":0,"ratingCountByLevel":{},"ratingValuesTotal":0,"recommendationCount":1161,"replyCount":2,"replyWordsTotal":182,"reviewCount":1178,"reviewCountByLevel":{"level1Count":6,"level2Count":1,"level3Count":10,"level4Count":59,"level5Count":1102},"reviewRatingValuesTotal":5784,"reviewWordsTotal":26190,"subscriberId_productId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c:shopify-7907433054391","subscriberId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c"},"reviews":[{"subscriberId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c","reviewId":"f0baffc8-2b3d-4b3f-99e4-8e2695622c41","subscriberId_productId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c:shopify-6843813626039","productId":"shopify-6843813626039","body":"High quality supplements, and you can ferl the results","dateCreated":"2026-07-23T17:53:49.000Z","dateUpdated":"2026-07-23T17:53:49.000Z","externalProvider":"shopify-shop","helpfulCount":0,"isRecommended":true,"languageCode":"en","productHandle":"omega-3","productImageUrl":"https://cdn.shopify.com/s/files/1/1400/2351/files/Omega3_HERO_Jar_x280.png?v=1776803640","productName":"Omega-3","productUrl":"//www.livemomentous.com/products/omega-3","rating":5,"reviewer":{"displayName":"Janice"},"isIncentivized":false,"status":"approved","title":"5 Stars","unhelpfulCount":0,"variantId":"40138109354167"},{"subscriberId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c","reviewId":"95bf4569-faeb-4364-a5b3-6a47bed1a1b3","subscriberId_productId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c:shopify-6843813626039","productId":"shopify-6843813626039","body":"Excellent 👌🏻 as always, thanks.","dateCreated":"2026-07-23T01:44:17.000Z","dateUpdated":"2026-07-23T01:44:17.000Z","externalProvider":"shopify-shop","helpfulCount":0,"isRecommended":true,"languageCode":"en","productHandle":"omega-3","productImageUrl":"https://cdn.shopify.com/s/files/1/1400/2351/files/Omega3_HERO_Jar_x280.png?v=1776803640","productName":"Omega-3","productUrl":"//www.livemomentous.com/products/omega-3","rating":5,"reviewer":{"displayName":"Edgar Avalos"},"isIncentivized":false,"status":"approved","title":"5 Stars","unhelpfulCount":0,"variantId":"40138109354167"},{"subscriberId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c","reviewId":"65134803-9c94-4e17-85f2-ec5605c84784","subscriberId_productId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c:shopify-6843813626039","productId":"shopify-6843813626039","body":"Helped balance my EPA/DHA lipids on lads.","dateCreated":"2026-07-14T21:27:35.644Z","dateUpdated":"2026-07-14T21:27:35.644Z","helpfulCount":0,"isRecommended":true,"languageCode":"en","productHandle":"omega-3","productImageUrl":"https://cdn.shopify.com/s/files/1/1400/2351/files/Omega3_HERO_Jar_x280.png?v=1776803640","productName":"Omega-3","productUrl":"//www.livemomentous.com/products/omega-3","rating":5,"reviewer":{"displayName":"Robert D.","isVerified":true},"isIncentivized":false,"status":"approved","title":"Help balance my lipids","unhelpfulCount":0,"variantId":"40138109354167"},{"subscriberId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c","reviewId":"cc7aa074-0e60-45bf-80e2-e0b69ecf14a5","subscriberId_productId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c:shopify-6843813626039","productId":"shopify-6843813626039","body":"I never got them.","dateCreated":"2026-07-14T17:07:59.000Z","dateUpdated":"2026-07-14T17:07:59.000Z","externalProvider":"shopify-shop","helpfulCount":0,"isRecommended":false,"languageCode":"en","productHandle":"omega-3","productImageUrl":"https://cdn.shopify.com/s/files/1/1400/2351/files/Omega3_HERO_Jar_x280.png?v=1776803640","productName":"Omega-3","productUrl":"//www.livemomentous.com/products/omega-3","rating":1,"reviewer":{"displayName":"Marvin"},"isIncentivized":false,"status":"approved","title":"1 Star","unhelpfulCount":0,"variantId":"40138109354167"},{"subscriberId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c","reviewId":"1560aacd-1d25-41d3-b18c-00fe2c30863b","subscriberId_productId":"72adcf9f-ede7-4232-8bc6-db71fceaf77c:shopify-6843813626039","productId":"shopify-6843813626039","body":"Prodigal was delivered properly package. I have no complaints.","dateCreated":"2026-07-10T23:59:02.232Z","dateUpdated":"2026-07-10T23:59:02.232Z","helpfulCount":0,"isRecommended":true,"languageCode":"en","productAttributes":[{"title":"Product Standouts","type":"multi-value","value":["Ease of Use","Value for Money","Trust and Transparency"]}],"productHandle":"omega-3","productImageUrl":"https://cdn.shopify.com/s/files/1/1400/2351/files/Omega3_HERO_Jar_x280.png?v=1776803640","productName":"Omega-3","productUrl":"//www.livemomentous.com/products/omega-3","rating":5,"reviewer":{"displayName":"Rhoda M. L.","isVerified":true},"isIncentivized":false,"status":"approved","title":"So Far So Good ","unhelpfulCount":0,"variantId":"40138109354167"}],"reviewsKeywords":{"keywordTopics":[{"keywords":[{"name":"taste","occurrences":180},{"name":"aftertaste","occurrences":60},{"name":"smell","occurrences":20},{"name":"fishy taste","occurrences":4},{"name":"flavor","occurrences":3},{"name":"fish taste","occurrences":2},{"name":"fishy smell","occurrences":2},{"name":"flavorless","occurrences":2}],"topic":"Taste"},{"keywords":[{"name":"quality","occurrences":176},{"name":"ingredients","occurrences":16},{"name":"sourcing","occurrences":10},{"name":"trust","occurrences":9},{"name":"potency","occurrences":7},{"name":"purity","occurrences":7},{"name":"clean","occurrences":5},{"name":"brand trust","occurrences":4},{"name":"freshness","occurrences":4},{"name":"transparency","occurrences":4}],"topic":"Quality"},{"keywords":[{"name":"fish burps","occurrences":20},{"name":"burps","occurrences":15},{"name":"digestion","occurrences":11},{"name":"burping","occurrences":9},{"name":"fishy burps","occurrences":9},{"name":"digestibility","occurrences":6},{"name":"side effects","occurrences":6},{"name":"stomach","occurrences":4},{"name":"stomach comfort","occurrences":3},{"name":"stomach upset","occurrences":3}],"topic":"Digestion"},{"keywords":[{"name":"effectiveness","occurrences":34},{"name":"focus","occurrences":14},{"name":"recovery","occurrences":12},{"name":"energy","occurrences":11},{"name":"mental clarity","occurrences":6},{"name":"brain fog","occurrences":5},{"name":"mood","occurrences":5},{"name":"joints","occurrences":4},{"name":"results","occurrences":4}],"topic":"Effectiveness"},{"keywords":[{"name":"swallowing","occurrences":21},{"name":"ease of use","occurrences":18},{"name":"convenience","occurrences":17},{"name":"size","occurrences":12},{"name":"portability","occurrences":11},{"name":"capsules","occurrences":9},{"name":"travel","occurrences":7},{"name":"travel packs","occurrences":7},{"name":"easy to take","occurrences":5},{"name":"pill size","occurrences":4}],"topic":"Convenience"},{"keywords":[{"name":"dosage","occurrences":24},{"name":"EPA","occurrences":5},{"name":"Omega-3","occurrences":5},{"name":"DHA","occurrences":4},{"name":"omega 3","occurrences":4},{"name":"ratio","occurrences":6},{"name":"daily use","occurrences":5},{"name":"dosing","occurrences":4},{"name":"EPA DHA","occurrences":3}],"topic":"Dosage"},{"keywords":[{"name":"packaging","occurrences":25},{"name":"price","occurrences":12},{"name":"value","occurrences":8},{"name":"subscription","occurrences":7},{"name":"refrigeration","occurrences":6},{"name":"brand","occurrences":3},{"name":"pricing","occurrences":2},{"name":"storage","occurrences":2}],"topic":"Value"}],"languageCode":"en"},"reviewsNextUrl":"https://api.okendo.io/v1/stores/72adcf9f-ede7-4232-8bc6-db71fceaf77c/products/shopify-7907433054391/reviews?limit=5&orderBy=date%20desc&lastEvaluated=%7B%22subscriberId_collectionId%22%3A%2272adcf9f-ede7-4232-8bc6-db71fceaf77c%3Ae3925016-c5f3-438e-8b2c-ee8d8b77a041%22%2C%22reviewId%22%3A%221560aacd-1d25-41d3-b18c-00fe2c30863b%22%2C%22dateCreated%22%3A%222026-07-10T23%3A59%3A02.232Z%22%7D","sort":{"defaultSort":"date desc"}} !(function() { const widgets = document.querySelectorAll('.js-oke-widgetSize'); if (widgets && widgets.length) { if (!window.okeSetWidgetSizes) { window.okeSetWidgetSizes = (allWidgets) => { if (allWidgets) { allWidgets.forEach(widget => { const width = widget.getBoundingClientRect().width; widget.classList.remove('oke-is-small', 'oke-is-medium', 'oke-is-large'); widget.classList.add(width > 960 ? 'oke-is-large' : width > 640 ? 'oke-is-medium' : 'oke-is-small'); }); } }; } if (!window.okeResizeObserver) { let okeMetafieldResizerTimer; window.okeResizeObserver = new ResizeObserver(entries => { if (entries && entries.length) { if (okeMetafieldResizerTimer) { clearTimeout(okeMetafieldResizerTimer); } okeMetafieldResizerTimer = window.setTimeout(() => { window.okeSetWidgetSizes(entries.map(e => e.target)); }, 100); } }); } window.okeSetWidgetSizes(document.querySelectorAll('.js-oke-widgetSize')); widgets.forEach((widget) => { window.okeResizeObserver.observe(widget); }); } })(); @media (min-width: 1024px) { .oke-w-main { width: 67%; margin-left: auto; } } [ { "@context": "https://schema.org/", "@type": "Product", "name": "Omega-3 Travel Packs", "url": "https:\/\/www.livemomentous.com\/products\/omega-3-travel-packs", "image":"https:\/\/www.livemomentous.com\/cdn\/shop\/files\/New_Omega-3_Blister_Pack.png?v=1781809779\u0026width=4000","description": "The Omega-3 Travel Packs deliver the same high-quality, sustainably sourced EPA and DHA—1,600mg per serving—in a convenient single-serve format. These softgel packs are ideal for athletes, travelers, or anyone who needs Omega-3 support on the go without compromising purity or potency.Each serving helps reduce inflammation, support brain and cardiovascular health, and promote joint recovery. NSF Certified for Sport® and free of fishy aftertaste, these travel packs make daily Omega-3s simple, portable, and effective.","sku": "850030796608","brand": { "@type": "Brand", "name": "Momentous" },"aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "1178", "bestRating": "5", "worstRating": "1" },"hasMerchantReturnPolicy": { "@type": "MerchantReturnPolicy", "@id": "#momentous-return-policy", "applicableCountry": "US", "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow", "merchantReturnDays": 30, "merchantReturnLink": "https:\/\/www.livemomentous.com\/policies\/refund-policy", "returnMethod": "https://schema.org/ReturnByMail", "returnFees": "https://schema.org/FreeReturn", "customerRemorseReturnFees": "https://schema.org/FreeReturn", "returnShippingFeesAmount": { "@type": "MonetaryAmount", "value": 0, "currency": "USD" }, "refundType": "https://schema.org/FullRefund" }, "offers": [{ "@type": "Offer","sku": "850030796608","gtin12": "850030796608","itemCondition": "https://schema.org/NewCondition", "availability": "https://schema.org/InStock", "price": 12.0, "priceCurrency": "GBP", "url": "https:\/\/www.livemomentous.com\/products\/omega-3-travel-packs?variant=44061618307255","priceSpecification": [ { "@type": "UnitPriceSpecification", "price": 12.0, "priceCurrency": "GBP", "name": "One-Time Purchase" }, { "@type": "UnitPriceSpecification", "price": 9.0, "priceCurrency": "GBP", "name": "Delivery every 2 months", "validForMemberTier": { "@type": "MemberProgramTier", "@id": "#momentous-subscriber", "name": "Subscriber" } } ],"hasMerchantReturnPolicy": { "@type": "MerchantReturnPolicy", "@id": "#momentous-return-policy" } } ] }, { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https:\/\/www.livemomentous.com" }, { "@type": "ListItem", "position": 2, "name": "Capsules", "item": "https:\/\/www.livemomentous.com\/collections\/capsules" }, { "@type": "ListItem", "position": 3, "name": "Omega-3 Travel Packs", "item": "https:\/\/www.livemomentous.com\/products\/omega-3-travel-packs" } ] } ] .combined-product-button.flavour-disabled { opacity: 0.5; position: relative; cursor: not-allowed; pointer-events: none; } .combined-product-button.flavour-disabled:after { content: ' '; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(to top left, rgba(0,0,0,0) calc(50% - 1px), #CFCFCA, rgba(0,0,0,0) calc(50% + 1px)) } Sign up for offers, product news, and tips Support Account Help & Contact Subscriptions Locations Press Inquiries Company About Us Careers Blog Affiliate Program Trusted Experts Wholesale Corporate Wellness Resources Privacy Policy Terms of Service Your Privacy Choices Accessibility California Prop 65 Save with HSA/FSA Certificate of Analysis Patents Do Not Sell My Information *These statements have not been evaluated by the food and drug administration. This product is not intended to diagnose, treat, cure, or prevent any disease. Afghanistan - USD $ Åland Islands - USD $ Algeria - USD $ Andorra - EUR € Anguilla - USD $ Antigua & Barbuda - USD $ Argentina - USD $ Armenia - USD $ Aruba - USD $ Ascension Island - USD $ Australia - AUD $ Austria - EUR € Bahamas - USD $ Bahrain - USD $ Bangladesh - USD $ Barbados - USD $ Belgium - EUR € Belize - USD $ Bermuda - USD $ Bhutan - USD $ Bolivia - USD $ Bosnia & Herzegovina - USD $ Botswana - USD $ Brazil - USD $ British Indian Ocean Territory - USD $ Brunei - USD $ Bulgaria - USD $ Burkina Faso - USD $ Burundi - USD $ Cambodia - USD $ Cameroon - USD $ Canada - CAD $ Cape Verde - USD $ Caribbean Netherlands - USD $ Cayman Islands - USD $ Central African Republic - USD $ Chad - USD $ Chile - USD $ China - USD $ Christmas Island - USD $ Cocos (Keeling) Islands - USD $ Colombia - USD $ Congo - Brazzaville - USD $ Congo - Kinshasa - USD $ Cook Islands - USD $ Costa Rica - USD $ Côte d’Ivoire - USD $ Croatia - USD $ Curaçao - USD $ Cyprus - EUR € Czechia - USD $ Denmark - USD $ Dominica - USD $ Dominican Republic - USD $ Ecuador - USD $ Egypt - USD $ El Salvador - USD $ Estonia - EUR € Eswatini - USD $ Ethiopia - USD $ Falkland Islands - USD $ Finland - EUR € France - EUR € French Guiana - USD $ French Polynesia - USD $ French Southern Territories - USD $ Gabon - USD $ Gambia - USD $ Germany - EUR € Ghana - USD $ Greece - EUR € Guadeloupe - USD $ Guatemala - USD $ Guernsey - USD $ Guinea - USD $ Guyana - USD $ Haiti - USD $ Hong Kong SAR - USD $ Hungary - USD $ Iceland - USD $ India - USD $ Indonesia - USD $ Iraq - USD $ Ireland - EUR € Isle of Man - USD $ Israel - USD $ Italy - EUR € Jamaica - USD $ Japan - USD $ Jersey - USD $ Jordan - USD $ Kenya - USD $ Kosovo - EUR € Kuwait - USD $ Laos - USD $ Latvia - EUR € Lebanon - USD $ Liberia - USD $ Liechtenstein - USD $ Lithuania - EUR € Luxembourg - EUR € Macao SAR - USD $ Madagascar - USD $ Malawi - USD $ Malaysia - USD $ Maldives - USD $ Mali - USD $ Malta - EUR € Martinique - USD $ Mauritania - USD $ Mauritius - USD $ Mayotte - USD $ Mexico - USD $ Moldova - USD $ Monaco - EUR € Montenegro - EUR € Morocco - USD $ Mozambique - USD $ Namibia - USD $ Nauru - USD $ Nepal - USD $ Netherlands - EUR € New Zealand - USD $ Nicaragua - USD $ Niger - USD $ Nigeria - USD $ Niue - USD $ Norfolk Island - USD $ Norway - USD $ Oman - USD $ Pakistan - USD $ Palestinian Territories - USD $ Panama - USD $ Papua New Guinea - USD $ Paraguay - USD $ Peru - USD $ Philippines - USD $ Pitcairn Islands - USD $ Poland - USD $ Portugal - EUR € Qatar - USD $ Réunion - USD $ Romania - USD $ Rwanda - USD $ San Marino - EUR € São Tomé & Príncipe - USD $ Saudi Arabia - USD $ Senegal - USD $ Seychelles - USD $ Sierra Leone - USD $ Singapore - USD $ Slovakia - EUR € Slovenia - EUR € Solomon Islands - USD $ Somalia - USD $ South Africa - USD $ South Georgia & South Sandwich Islands - USD $ South Korea - USD $ South Sudan - USD $ Spain - EUR € Sri Lanka - USD $ St. Helena - USD $ St. Pierre & Miquelon - USD $ Suriname - USD $ Svalbard & Jan Mayen - USD $ Sweden - USD $ Switzerland - USD $ Taiwan - USD $ Tajikistan - USD $ Tanzania - USD $ Thailand - USD $ Togo - USD $ Tokelau - USD $ Trinidad & Tobago - USD $ Tristan da Cunha - USD $ Tunisia - USD $ Türkiye - USD $ Turkmenistan - USD $ Tuvalu - USD $ U.S. Outlying Islands - USD $ Uganda - USD $ Ukraine - USD $ United Arab Emirates - USD $ United Kingdom - GBP £ United States - USD $ Uruguay - USD $ Vatican City - USD $ Venezuela - USD $ Vietnam - USD $ Western Sahara - USD $ Yemen - USD $ Zambia - USD $ Zimbabwe - USD $ United Kingdom - GB £ .country-selector { position: relative; } .country-selector__select { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; } .country-selector__selected-display { display: flex; align-items: center; gap: 8px; } document.querySelector('.country-selector__select').addEventListener('change', function() { const selectedOption = this.options[this.selectedIndex]; const flagSrc = selectedOption.dataset.flagSrc; const currency = selectedOption.dataset.currency; // Update the displayed flag and text const display = this.closest('.country-selector').querySelector('.country-selector__selected-display'); display.querySelector('img').src = flagSrc; display.querySelector('img').alt = selectedOption.text; display.querySelector('span').textContent = selectedOption.text; // Submit the form this.closest('form').submit(); }); document.addEventListener("DOMContentLoaded", () => { const managePreferencesBtn = document.querySelector( 'a[aria-label="Your Privacy Choices"]' ); if (managePreferencesBtn) { managePreferencesBtn.addEventListener("click", (event) => { event.preventDefault(); const consent = window[Symbol.for("blotout-consent")]; if (consent && typeof consent.showBanner === "function") { consent.showBanner(); console.log('Banner Fired') } }); } }); document.addEventListener('DOMContentLoaded', function() { // Handle newsletter form submission document.addEventListener('newsletter-submit', function(event) { const email = event.detail.email; // Here you can integrate with your email service (Klaviyo, Mailchimp, etc.) // Example: Send to Klaviyo or your backend console.log('Newsletter subscription:', email); // You can add your newsletter integration here // For example, if using Klaviyo: // if (window._learnq) { // window._learnq.push(['identify', { $email: email }]); // } }); }); /* Ensure x-cloak works properly */ [x-cloak] { display: none !important; } /* Custom styles for localization form integration */ #footer-new .country-selector { min-width: 200px; } #footer-new .country-selector__selected-display { padding: 8px 12px; cursor: pointer; transition: border-color 0.2s; } #footer-new .country-selector__selected-display:hover { border-color: #f97316; } #footer-new .country-selector__selected-display:focus-within { outline: 2px solid #f97316; outline-offset: 2px; } /* Ensure proper spacing for social icons */ #footer-new [role="list"] { list-style: none; padding: 0; margin: 0; } /* Smooth transitions for all interactive elements */ #footer-new a, #footer-new button { transition: all 0.2s ease-in-out; } /* High contrast mode support */ @media (prefers-contrast: high) { #footer-new { border-top: 2px solid currentColor; } #footer-new a:focus, #footer-new button:focus { outline-width: 3px; } } /* Reduced motion support */ @media (prefers-reduced-motion: reduce) { #footer-new * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } .footer-new__logo { width: 300px; height: 120px; } @media (max-width: 768px) { .footer-new__logo { width: 200px; height: 85px; } } .new-footer-klaviyo-form button[type="button"] { font-size: 0 !important; } .new-footer-klaviyo-form button[type="button"]::before { content: ""; display: inline-block; width: 19px; height: 16px; background-image: url("data:image/svg+xml;utf8,"); background-repeat: no-repeat; background-size: contain; margin-right: 6px; /* spacing before text */ vertical-align: middle; } function closeKlaviyoOutOfStockModal() { let modalElem = document.getElementById("klaviyo_modal"); modalElem.style.display = "none"; document.getElementById('back-in-stock').innerHTML = "" document.body.classList.remove('back-in-stock-opned') } function successKlaviyoOutOfStockModal() { document.getElementById("klaviyo_out_of_stock_form").innerHTML = `

You will receive an email when the product is back in stock! `; } function createKlaviyoOutOfStockSubscriptionModal(variantId, productTitle, variantTitle, backDate, image) { let modalElem = document.createElement("div"); modalElem.innerHTML = `

We’ll notify you when the product is back in stock!
${productTitle}
${productTitle}

${variantTitle}

Estimated to be back in stock: ${backDate}

Email
Notify me when available ` modalElem.id = "klaviyo_modal"; modalElem.classList.add("klaviyo_modal"); modalElem.style.display = "block"; return modalElem; } function klaviyoFormValidateEmail(email) { return String(email) .toLowerCase() .match( /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ); }; window.openKlaviyoStockAlertSubscriptionForm = function(variantId, productTitle, variantTitle, backDate, image) { let modalElem = createKlaviyoOutOfStockSubscriptionModal(variantId, productTitle, variantTitle, backDate, image); document.getElementById('back-in-stock').appendChild(modalElem); document.body.classList.add('back-in-stock-opned') document.querySelectorAll('.klaviyo_modal_close_triger').forEach(item => { item.addEventListener("click", closeKlaviyoOutOfStockModal); }) document.getElementById("klaviyo_out_of_stock_form_button").addEventListener("click", function(evt) { evt.stopPropagation(); const email = document.getElementById("Klaviyo_out_of_stock_email").value; const emailValidation = klaviyoFormValidateEmail(email); console.log(email, variantId, 'email, variantId'); if (!emailValidation) return; const data = { data: { type: "back-in-stock-subscription", attributes: { profile: { data: { type: "profile", attributes: { email: email } } }, channels: ["EMAIL"] }, relationships: { variant: { data: { type: "catalog-variant", id: `$shopify:::$default:::${variantId}` } } } } }; fetch("https://a.klaviyo.com/client/back-in-stock-subscriptions/?company_id=MfVp5f", { method: "POST", headers: { "Content-Type": "application/json", "revision": "2024-06-15" }, body: JSON.stringify(data) }) .then(async res => { if (!res.ok) { const errorText = await res.text(); // Don't assume JSON here console.error("Klaviyo API error:", errorText); throw new Error("Failed to subscribe"); } // Only try parsing JSON if there's content const contentType = res.headers.get("content-type") || ""; if (contentType.includes("application/json")) { const result = await res.json(); console.log("Subscription success:", result); } // Run your success handler successKlaviyoOutOfStockModal(); }) .catch(err => { console.error("Klaviyo Back-in-Stock Error:", err); }); }); document.getElementById("Klaviyo_out_of_stock_email").addEventListener("input", function(evt) { let email = document.getElementById("Klaviyo_out_of_stock_email").value; let emailValidation = klaviyoFormValidateEmail(email) if (emailValidation) { document.getElementById('klaviyo_out_of_stock_form_button').removeAttribute("disabled"); } else { document.getElementById("klaviyo_out_of_stock_form_button").setAttribute("disabled", "true"); } }) } window.upsell_popup = { title : null, subtitle : null, info : null, product_handle : "", product_id : 1234, product_image : "//www.livemomentous.com/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12_550x.gif", product_variants : [ ], base_product_id : 1234 } if (window.location.pathname == '/a/account/login') { window.location.replace('/tools/recurring/login/'); } window.addEventListener('load', function() { var _learnq = window._learnq || []; function addedToCart() { fetch(`${window.location.origin}/cart.js`) .then(res => res.clone().json().then(data => { var cart = { total_price: data.total_price/100, $value: data.total_price/100, total_discount: data.total_discount, original_total_price: data.original_total_price/100, items: data.items } if (item !== 'undefined') { cart = Object.assign(cart, item) } if (klAjax) { _learnq.push(['track', 'Added to Cart', cart]); klAjax = false; } })) }; (function (ns, fetch) { ns.fetch = function() { const response = fetch.apply(this, arguments); response.then(res => { if (`${window.location.origin}/cart/add.js` .includes(res.url)) { addedToCart() } }); return response } }(window, window.fetch)); var klAjax = true; var atcButtons = document.querySelectorAll("form[action*='/cart/add'] button[type='submit']"); for (var i = 0; i { window.ShopifyAnalytics.meta.selectedVariantId = '44061618307255'; console.log( 'window.ShopifyAnalytics.meta.selectedVariantId:', window.ShopifyAnalytics.meta.selectedVariantId ); }, 5000); .rebuy-product-actions .subscription-checkbox .slider.round, .buttons-wrappers button:nth-of-type(2) { display: none; } .siena-iframe { display: none; } @media (max-width: 1366px) { .siena-iframe { z-index: 39; } .siena-iframe.siena-iframe--bottom-0, .siena-iframe.siena-iframe--fullscreen{ z-index: 9999999; } } ttd_dom_ready( function() { if (typeof TTDUniversalPixelApi === 'function') { var universalPixelApi = new TTDUniversalPixelApi(); universalPixelApi.init("h4w8qq9", ["k1r6x4d"], "https://insight.adsrvr.org/track/up"); } }); document.querySelectorAll('button[aria-label*="Add to Bag"]').forEach(function(btn) { var productn = btn.getAttribute('aria-label').slice(11) btn.addEventListener('click', function(event) { var conversionPixel = new Image(); conversionPixel.src = "https://insight.adsrvr.org/track/pxl/?adv=h4w8qq9&ct=0:fmme5s8&fmt=3&td1=" + productn + "&ts=" + (new Date()).getTime(); // Adding a unique ID to prevent caching conversionPixel.height = 1; conversionPixel.width = 1; conversionPixel.style.display = "none"; // Hide the pixel document.body.appendChild(conversionPixel); }); });
0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

:

1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
{{ value }}
{{ frequencyLabel(frequency, product.subscription_interval) }}
Quantity {{ n }}
Sale price Original price
Price
Powered by Rebuy
0 ? 'is-visible' : 'is-hidden']">

:

0">
{{ variant.title }}
{{ value }}
0">
0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

:

1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
{{ value }} Select your purchase method
Out of Stock Protection {{ frequencyLabel(frequency, product.subscription_interval) }}
One-Time Purchase Receive Once Add to Bag
Price View Product
el.classList.remove('show')); $event.target.closest('.rebuy-product-block').querySelector('.rebuy-product-options').classList.add('show')" type="button">
Price
Powered by Rebuy
0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

:

1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
{{ value }} Select your purchase method
Out of Stock Protection {{ frequencyLabel(frequency, product.subscription_interval) }}
One-Time Purchase Receive Once Add to Bag
Price View Product
el.classList.remove('show')); $event.target.closest('.rebuy-product-block').querySelector('.rebuy-product-options').classList.add('show')" type="button">
Price
Powered by Rebuy Search Search for products, collections, pages, and articles .search-form-wrapper { position: relative; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); isolation: isolate; } .search-form__input:focus { border: 1px solid #000; } .search-form__results { width: 480px; border-radius: 10px; border: 1px solid #E5E7EB; background: #FFF; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); top: 100%; } @media(max-width: 640px) { .search-form__results { width: 100%; border-radius: 10px; border: none; margin-top: 0; } } .search-form__results.show { display: block; } .search-result-divider { border-top: 1px solid var(--grey-100, #e5e5e5); } .search-product-img { width: 5rem; height: 5rem; } @media(max-width: 640px) { .search-product-img { width: 70px; height: 70px; } } .atc-btn[data-loading] { opacity: 0.6; pointer-events: none; } .atc-btn[data-added] { background-color: #2d7a3a; } .search-form__results.is-loading::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, transparent 0%, var(--grey-900, #171717) 50%, transparent 100%); background-size: 200% 100%; animation: search-loading-shimmer 1.2s ease-in-out infinite; pointer-events: none; } .search-form__results-content { max-height: calc(100vh - 170px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; } .search-result-divider { position: sticky; bottom: 0; background-color: #FFF; z-index: 10; } @keyframes search-loading-shimmer { 0% { background-position: -100% 0; } 100% { background-position: 200% 0; } } @media(max-width: 640px) { .search-product-row { flex-direction: column; align-items: flex-start !important; } .search-recommended-section { display: none; } } .query-item-text *, .query-item-text { white-space: nowrap; } .query-item-text mark { background-color: #FFFADF; color: inherit; border-radius: 2px; } .search-form__clear-btn { background: none; border: none; padding: 0; cursor: pointer; line-height: 0; color: var(--grey-400, #999); } .search-form__clear-btn:hover svg path { stroke: var(--grey-700, #404040); } (function() { 'use strict'; const SEARCH_ICON = ` `; // Guard: only define the class once even if snippet is rendered multiple times if (!window.MomentousPredictiveSearch) { window.MomentousPredictiveSearch = class { constructor(wrapper) { this.wrapper = wrapper; this.input = wrapper.querySelector('[data-search-input]'); this.resultsContainer = wrapper.querySelector('[data-search-results]'); this.resultsContent = wrapper.querySelector('[data-search-results-content]'); this.form = wrapper.querySelector('.search-form'); this.submitBtn = wrapper.querySelector('[data-search-submit]'); this.clearBtn = wrapper.querySelector('[data-search-clear]'); this.debounceTimer = null; this.currentRequest = null; this.currentQuery = ''; this.minQueryLength = 2; this.debounceDelay = 300; this.cache = new Map(); this.requestId = 0; this.init(); } init() { this.input.addEventListener('input', (e) => { this.handleInput(e.target.value); this.updateClearBtn(); }); if (this.clearBtn) { this.clearBtn.addEventListener('click', () => { this.input.value = ''; this.currentQuery = ''; this.hideResults(); this.updateClearBtn(); this.input.focus(); }); } this.input.addEventListener('focus', () => { if (this.input.value.length >= this.minQueryLength) { this.showResults(); } }); this.input.addEventListener('touchend', (e) => { e.stopPropagation(); this.input.focus(); }); this.input.addEventListener('touchstart', (e) => { e.stopPropagation(); }, { passive: true }); const handleOutsideInteraction = (e) => { if (!this.wrapper.contains(e.target)) { const sidebarPanel = document.getElementById('ss-panel'); if (sidebarPanel && sidebarPanel.contains(this.wrapper) && sidebarPanel.contains(e.target)) { return; } this.hideResults(); } }; document.addEventListener('click', handleOutsideInteraction); document.addEventListener('touchstart', handleOutsideInteraction, { passive: true }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape') this.hideResults(); }); } updateClearBtn() { const show = this.input.value.length >= this.minQueryLength; if (this.clearBtn) this.clearBtn.classList.toggle('hidden', !show); if (this.submitBtn) this.submitBtn.classList.toggle('hidden', show); } handleInput(query) { const trimmedQuery = query.trim(); if (this.debounceTimer) clearTimeout(this.debounceTimer); if (trimmedQuery.length { this.fetchSearchData(trimmedQuery); }, this.debounceDelay); } async fetchSearchData(query) { if (this.cache.has(query)) { const cached = this.cache.get(query); this.setLoadingState(false); this.renderResults(cached.results, query, cached.recommended); return; } if (this.currentRequest) { this.currentRequest.abort(); this.currentRequest = null; } const requestId = ++this.requestId; const controller = new AbortController(); this.currentRequest = controller; const baseUrl = window.Shopify?.routes?.root || '/'; const apiUrl = `${baseUrl}search/suggest.json?q=${encodeURIComponent(query)}&resources[type]=product,query&resources[limit]=5&resources[limit_scope]=each`; try { const response = await fetch(apiUrl, { signal: controller.signal, headers: { 'Accept': 'application/json' } }); if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); const data = await response.json(); if (requestId !== this.requestId) return; this.currentRequest = null; const results = data.resources?.results || {}; if (this.cache.size > 50) this.cache.clear(); this.cache.set(query, { results, recommended: null }); this.setLoadingState(false); this.renderResults(results, query, null); } catch (error) { if (error.name === 'AbortError') return; if (requestId !== this.requestId) return; console.error('Predictive search error:', error); this.setLoadingState(false); this.showError(); } } async fetchRecommendations(productId) { try { const baseUrl = window.Shopify?.routes?.root || '/'; const url = `${baseUrl}recommendations/products.json?product_id=${productId}&limit=6&intent=related`; const response = await fetch(url, { headers: { 'Accept': 'application/json' } }); if (!response.ok) return []; const data = await response.json(); return (data.products || []) .filter(p => { const tags = (p.tags || []).map(t => t.toLowerCase()); return !tags.includes('searchnise_ignore') && !tags.includes('search_hide'); }) .slice(0, 3); } catch (e) { return []; } } async addToCart(variantId, btn) { btn.setAttribute('data-loading', ''); btn.textContent = 'Adding...'; try { const response = await fetch('/cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ id: variantId, quantity: 1 }) }); if (!response.ok) throw new Error('Failed to add to cart'); btn.removeAttribute('data-loading'); btn.setAttribute('data-added', ''); btn.textContent = 'Added!'; document.dispatchEvent(new CustomEvent('cart:refresh')); setTimeout(() => { btn.removeAttribute('data-added'); btn.textContent = 'Add to Cart'; }, 2000); } catch (e) { btn.removeAttribute('data-loading'); btn.textContent = 'Add to Cart'; console.error('ATC error:', e); } } bindAtcButtons() { this.resultsContent.querySelectorAll('.atc-btn').forEach(btn => { btn.addEventListener('click', (e) => { e.preventDefault(); const variantId = btn.dataset.variantId; if (variantId) this.addToCart(variantId, btn); }); }); } renderResults(results, query, preloadedRecommended) { if (!results || ((!results.products || results.products.length === 0) && (!results.queries || results.queries.length === 0))) { this.resultsContent.innerHTML = `
No results found for "${this.escapeHtml(query)}" `; this.showResults(); return; } const products = (results.products || []) .filter(p => { const tags = (p.tags || []).map(t => t.toLowerCase()); return !tags.includes('searchnise_ignore') && !tags.includes('search_hide'); }) .slice(0, 4); const queries = (results.queries || []).slice(0, 4); const firstProductId = products.length > 0 ? products[0].id : null; let html = ''; if (products.length > 0) { html += `
`; products.forEach(product => { html += this.renderMatchedProduct(product); }); html += ` `; } if (queries.length > 0) { html += `
Top Searches
  • ${SEARCH_ICON} ${queries.map(q => this.renderQueryItem(q)).join('')}
`; } const searchUrl = (window.Shopify?.routes?.root || '/') + `search?q=${encodeURIComponent(query)}&type=product`; html += `
View all results for “${this.escapeHtml(query)}” `; if (firstProductId) { if (preloadedRecommended && preloadedRecommended.length > 0) { html += this.renderRecommendedSection(preloadedRecommended); } else if (preloadedRecommended === null) { html += `
`; } } this.resultsContent.innerHTML = html; this.showResults(); this.bindAtcButtons(); if (firstProductId && preloadedRecommended === null) { this.fetchAndPatchRecommendations(firstProductId, query); } } renderMatchedProduct(product) { const imgUrl = product.featured_image?.url || product.image || ''; const imgSized = imgUrl ? imgUrl.replace(/(\.[a-z]+)(\?.*)?$/i, '_220x220$1$2') : ''; const price = this.formatPrice(product.price, product.price_min, product.price_max); const isSingleVariant = !product.variants || product.variants.length ${imgSized ? `${title}` : `
` }
${title}
${price ? `
${price} ` : ''} View Product `; } renderSuggestedProduct(product) { const imgUrl = product.featured_image?.src || product.featured_image?.url || product.images?.[0] || ''; const imgSized = imgUrl ? imgUrl.replace(/(\.[a-z]+)(\?.*)?$/i, '_300x300$1$2') : ''; const productUrl = this.escapeHtml(product.url || `/products/${product.handle}`); const title = this.escapeHtml(product.title || ''); return `
${imgSized ? `${title}` : `
` }
${title} `; } renderQueryItem(item) { const queryText = item.styled_text || this.escapeHtml(item.text || ''); const queryUrl = this.escapeHtml(item.url || '#'); return `
  • ${queryText} `; } renderRecommendedSection(recommended) { return `